Chapter 6. Lie to me: Reliability through testing
This chapter covers
- Designing a suite of unit tests
- Applying input coverage criteria
- Measuring code coverage
- Assessing and improving code testability
Even developers who’ve never heard of design by contract know what tests are: the final phase of every software development project, when evil people called testers try to expose your brilliant time-saving hacks and characterize them as “bugs.” Jokes aside, tests have an increasingly central role in the modern software development process. One well-known point of view, called test-driven development, even suggests that tests should come before, rather than after, any production code. In that case, tests are used as executable specifications, ...