A TDD Metaprocess

Learn about TDD metaprocess, pending tests, and test goals.

The following diagram illustrates a metaprocess that reflects how we can write a new business logic feature. This process is more of a guideline than a strict checklist. As the logic becomes more complex and the less we know about the implementation when we start, the closer we stick to this process and the smaller the steps we take.

Initialization as a starting point

Often, the best place to start is with a test that describes the system’s initial state without invoking logic. This is especially useful if we’re test-driving a new class, so the first test sets up the class and verifies the initial state of instance variables. If we’re ...