TrovoOrganise. Search. Collaborate
 
 
   Trovo's 'doing' capability - Test-Driven Development
 
    Home > Working with partnersDoing > Test-Driven Development
 

Development capabilities

 

'Doing' introduction 

 

  

Project Management Cycle

 

 

Trovo Organisation Blog

 

 

 

 

Test-Driven Development

Test-Driven Development (TDD) is a core concept of Agile. We develop features of a system by thinking about:
 
  1. What the feature does (taken from the User Acceptance Test written by the customer).
  2. What could go wrong? What might break? How might it be misused?

Then we plan tests to deal with these circumstances (good and bad) before any code for the feature itself is written. Then test code is written first and the feature is developed to pass the test – hence Test-Driven Development. It is impossible to write any code that is not tested using this system.
 

Next, we use software called a “Unit Testing Framework” to run the new feature together with the test code. This checks that each aspect of the new feature works as intended. But the tests are re-run over and over, meaning we always know if the feature still works. If a subsequent change breaks something we finished earlier, we’ll know straight away.
 

The power of Agile rests in Test-Driven Development, Unit Testing and knowing if ‘finished’ software still works at any subsequent stage. This enables the project to change direction quickly as the customer’s requirements change (which they will).

Automated testing makes a project Agile – literally. Anyone claiming to be ‘Agile’ who doesn’t use Test-Driven Development with automated Unit Tests does not know what Agile really means.
 
 
Last updated:08/06/2009