2014 Test-Driven Development (TDD) Survey Results
|This survey was performed during May 2014 and there was 274 respondents. The survey was announced on my Twitter feed, and several LinkedIn discussion forums (Disciplined Agile Delivery, Agile and Lean Software Development, Scrum Practitioners and Considerate Enterprise Architecture Group).||
The goal of this survey was to explore what teams that have adopted
test driven development (TDD)
are doing in practice in addition to TDD to explore requirements, to explore design,
and to test their solutions.
TDD is an approach that combines test-first development (TFD) and refactoring. With TFD you write a single test and then just enough production code to fulfill that test. Refactoring is a strategy where you improve the quality of something (source code, your database schema, your user interface) by making small changes to it that do not change its semantics - in other words refactoring is a clean-up activity that makes something better but does not add or subtract functionality. Because you write a test before you write the code the test in effect does double duty in that it both specifies and validates that piece of code. A test-driven approach can be applied at both the requirements level and at the design level.
Some findings include:
Figure 1. Requirement practices in addition to ATDD/BDD.
Figure 2. Design practices in addition to TDD.
Figure 3. Testing strategies in addition to TDD.
You may use this data as you see fit, but may not sell it in whole or in part. You may publish summaries of the findings, but if you do so you must reference the survey accordingly (include the name and the URL to this page). Feel free to contact me with questions. Better yet, if you publish, please let me know so I can link to your work.
I'm sharing the results, and in particular the source data, of my surveys for several reasons: