|
|
|
|
|
by antonovka2
6022 days ago
|
|
Testing can verify that your software works within the space of behavior that you already know about. It can't make up for your failure to understand the problem fully.
Thinking about correctly testing software is generally one of the best ways to improve your understanding of the problem. I quite often find bugs during unit testing simply because I'm forced to think about how the software will break, rather than thinking about how it will (or should) work. I think of it as being quite similar to waiting overnight to proof-read your own paper. You need to be in the context of the reader, not the writer, or your brain will skim over most mistakes. |
|
No amount of testing the former will lead you to realize the latter. Sure, you might happen to come to the realization while writing the test, but you might do so over breakfast too.
I'm not saying "don't do testing". I'm trying to point out that it has limits. The fact that you've written tests and they pass doesn't get you off the hook for design bugs.