Effective Testing

Testing that is appropriate, effective, and evolves with the project.

You can never test all the states of a sufficiently complex system. You can, however, build test suites that minimize the likelihood of bugs while also minimizing the time spent on testing. This is called effective testing.

Appropriate testing depends on the business goals and needs. Modern teams have a hybrid testing strategy, utilizing unit, integration and end-to-end level tests.

Test suites should not grow uncontrollably, ad infinitum. They should follow a strategy and be refactored over the development of the project.

Test suites also should not be tied to the structure of the code. The best test suites minimize their own maintenance burden through deliberate design and architectural decisions, carefully followed by the team.