12

Dealing with Defects and New Requirements

WHAT'S IN THIS CHAPTER?

  • Understanding why applications need to be flexible in a modern business computing environment
  • Using TDD to deal with changes to your application
  • Building more flexible applications through TDD
  • Practicing TDD in a situation where a new feature has been introduced or a defect identified in an application

Application development efforts do not live in a vacuum. The increasing popularity of agile project methodologies is testament to that fact. Even in an agile environment, most development efforts span months — if not years — between the time the first requirement is documented and the day the application is deployed to production. That leaves a lot of time for requirements to change.

Change doesn't end after an application reaches production. No matter how good a job the development team and QA department do, most applications have some sort of defect that isn't discovered until the application reaches production. Even if an application makes it to production and no defects are found, actions and influences from a variety of external forces (customer, government, market forces) can demonstrate a need for changes in an application.

In TDD, defects and new requirements represent opportunities to create new tests. By approaching defects and new requirements with a test-first philosophy, you can more easily deliver a quality application without damaging existing functionality. Reading this book has helped you acquire ...

Get Professional Test-Driven Development with C#: Developing Real World Applications with TDD 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.