Testing checks whether software behaves as expected. Because anticipating every possible action is difficult—and developers may overlook problems in their own work—independent testing can help assess fixes and features as an end user would encounter them. Testing may be manual or automated. section 9.4
Automated tests run without direct human interaction and can be part of a build-and-release pipeline. Creating and maintaining them takes work: tests may need prepared scenarios and data, and one test can depend on another action to set up its starting conditions. Test counts alone do not establish quality. Code coverage indicates how much code tests run, but teams should focus coverage on crucial modules; complete coverage is nearly impossible. section 9.4.2 section 9.9
Test quality over quantity
A test suite with 10,000 tests could miss whether a car’s engine turns on, while a single test that checks the engine may catch that essential failure. Likewise, a test that deletes a person’s record must first create the record it will delete. section 9.4.2




















































