Cost and Value

Tests have costs and tests have value. The goal of testing is to minimize the cost of doing testing and maximize the value. This leads to the question of what the costs are and what the value is.

The cost is easier to see and define. The cost of a test includes the following:

  • The time it takes to write the test
  • The time it takes to run the test every time the suite runs
  • The time it takes to understand the test
  • The time it takes to fix the test if it breaks and the root code is okay
  • In some cases, the time it takes to change the code to make it testable

The currency I’m using here is time. Tests cost time. Eventually every programming decision costs time. When people talk about code quality making it easier or harder to make changes, ...

Get Rails 5 Test Prescriptions 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.