Headspring
agile. software. consulting.

Test-Driven Development

TDD means:

 
  • Bugs are identified and can be corrected immediately.
  • Any developer can safely modify code written by any other team member
  • There's less need for impact analysis and manual regression testing
  • The same bugs aren't reintroduced again and again.

The TDD Debate

Some camps think TDD is a waste of time or that it slows the team down. To them we say, sorry, but you must be doing it wrong. When properly implemented, TDD improves efficiency and drastically limits defects in the code in projects both large and small.

The tests are so important, we write them first.

Test-Driven Development (TDD) is an engineering practice in which new code is automatically tested before it is introduced to the source control repository. TDD drastically reduces the discovery time of software defects—often preventing them altogether.

Here's how it works:

  1. During the requirements analysis, the team identifies large tasks that the software must perform.
  2. Before coding begins, a separate piece of software called a test fixture is created. This test fixture contains tests that define the inputs and expected outputs and behaviors of the class. Only after the software passes the test is it incorporated into the software that everyone works from.
  3. Once created, the new tests become part of a growing suite of automated regression tests executed immediately before and after each software modification is finalized. If any software fails, developers can pinpoint the exact source of the bug, and their code is modified before being included in the source control repository.

Want to know more about TDD?
Ready to get started? Call us at 1-877-459-2260.

 

© 2001-2010 Headspring. All rights reserved.
Proudly headquartered in Austin, Texas