Testing is done to either verify expected functionality or learn something new. It involves observing a system under different controlled conditions to check actual responses against expectations. There are various types of testing like unit, functional, acceptance, and performance testing. Testing is important to do early in development to define requirements and catch issues early. It provides feedback to improve the system through iterations. Well-structured automated tests are key to ensuring quality and allowing refactoring.
44. well structured code (SOLID) eliminates dependency
between conditions and minimizes tests
use impact and
conditional
analysis to
determine the
structure of your
code
54. well written tests are
more important than
well written code
because with them the
system is defined and
can always be recreated
...or refactored
the system is defined by its tests,
NOT its implementing software