Search code examples
tddbddagile

Requirement Traceability in TDD?


Its always said that the requirements should be traceable but when we talk about agile development, it is quite difficult. My question is that how requirement traceability (or requirement change management) is managed in agile and specifically Test First Development or Test Driven Development?


Solution

  • In TDD or BDD (Behavior Driven Development) your requirements are captured in your tests.

    You can either map your tests against actual requirements (more TDD model) or actually use your tests as the requirements for your product (more BDD model).

    For a great example of what you can do with BDD and tests functioning as requirements, checkout RSpec and Cucumber from the Ruby/Rails world.

    Having worked in an FDA regulated environment, with responsibility for Quality Engineering, I can tell you that TDD/BDD fits incredibly well into the model an FDA Auditor is working against.

    A BDD model will allow you to trace through:

    • Requirements -> Tests
    • Tests -> Implementation
    • Implementation Execution -> Test Results