Chapter 15. Designing for Testability

High-quality programs have automated tests. We need to use everything at our disposal to be sure that our software works. The golden rule is this: to be deliverable, the feature must have a unit test.

Without an automated unit test, the feature cannot be trusted to work and should not be used. According to Kent Beck, in Extreme Programming Explained:

"Any program feature without an automated test simply doesn't exist."

There are two essential points regarding the automated testing of program features:

  • Automated: This means that there's no human judgment involved. The testing involves a script that compares actual responses to expected responses.
  • Features: These are tested in isolation to be sure that they work ...

Get Mastering Object-oriented Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.