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.
The Survey Questions
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
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