Tests Come FIRST

Wondering if you’ve built a good unit test? Vet it against the FIRST mnemonic, devised by Brett Schuchert and Tim Ottinger. The mnemonic reminds you of a key part of TDD’s definition: tests come first.

FIRST breaks down into the following:

  • F for Fast

  • I for Isolated

  • R for Repeatable

  • S for Self-verifying

  • T for Timely

Fast

TDD supports incremental and iterative development through its core cycle of specify, build, and refactor. How long should a cycle take? The shorter, the better. You want to know as soon as your code either doesn’t work or breaks something else. The more code you grow between introducing a defect and discovering it, the more time you stand to waste in pinpointing and fixing the problem. You want ultra-rapid feedback! ...

Get Modern C++ Programming with Test-Driven Development 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.