SAFe Knowledge Base » Test-Driven Development

Test-Driven Development

We never have enough time for testing, so let’s just write the test first.

—Kent Beck

Test-Driven Development (TDD) is a philosophy and practice that involves building and executing tests before implementing the code or a system component. By validating them against a series of agreed-to tests, TDD—an Agile Testing practice—improves system outcomes by ensuring the system implementation meets its requirements. TDD and Behavior-Driven Development (BDD) are part of the ‘test-first’ approach to achieving Built-in Quality. Writing tests first creates a more balanced testing approach with many fast, automated development tests and fewer slow, manual, end-to-end tests. (See the Built-in Quality section of the Team and Technical Agility article for more detail on the testing pyramid and a balanced testing portfolio.)

Details