DEV Community

Cover image for Determining Tests in Test-Driven Development (TDD)

Posted on

Determining Tests in Test-Driven Development (TDD)

Determining Tests in Test-Driven Development (TDD)

In the world of Test-Driven Development (TDD), guidance is provided on how to decide what tests to write. The chapter emphasizes the following key points:

Determining the Next Most Important Thing

When deciding which tests to write next, developers should zero in on the next most important thing that the system does not yet do. This entails identifying the functionality or behavior that is pivotal for the system but has not been implemented. Prioritizing these essential tasks ensures that developers make progress toward the overarching goals of the system.

Thinking from the User's Perspective

Another crucial aspect mentioned in the chapter is to think from the user's perspective when determining what tests to write. This involves considering how users will interact with the system and identifying the functionality that is indispensable to their needs. By empathizing with the user's experience, developers can prioritize tests that address core requirements and provide genuine value to end-users.

Incremental Development

The chapter underscores the importance of incremental development within TDD. Rather than attempting to implement all the desired functionality at once, developers should focus on one small piece at a time. This approach enables a more manageable and iterative development process, where each test builds upon the previous ones. The system gradually evolves, making it more adaptable and aligned with the desired requirements.

By heeding these principles—determining the next most important thing, thinking from the user's perspective, and embracing incremental development—developers can effectively prioritize their testing efforts. This ensures that they address the most critical aspects of the system, delivering value to end-users and maintaining a focused, efficient development process.

Top comments (0)