We are all conditioned to write tests

we no longer question why we write them

Tests are a means to an end:

reduce the key risks

get the biggest bang for the buck

“We built a new debugging aid. We wrote unit, integration, and UI tests. We were ready to launch.”



Outstanding practice. Missing the mark.



Our key risks were that we'd corrupt our data or bring down our servers for the sake of a debugging aid. None of the tests addressed this, but they gave a false sense of safety and “being done”.

We stopped the launch.

“We wanted to turn down a feature, so we needed to alert affected users. Again we had unit and integration tests, and even one expensive end-to-end test.”



Standard practice. Wasted effort.



The alert was so critical it actually needed end-to-end coverage for all scenarios. But it would be live for only three releases. The cheapest effective test? Manual testing before each release.

think about testing

Do this at the start

Write them down

standard practice remains a good idea in most cases

Just remember

The bang is what counts

maximize it