Sometimes it's hard to think of the right tests, especially when you're solving a mathematical model that hasn't been solved before.
Even for things that are intuitive and have been implemented thousands of times before, like web logins and shopping carts, where the tests one should do are not hard to think of... even so, software engineers rarely develop tests that catch all possible bugs on the first try.