Is TDD good? Is TDD bad? Am I even doing TDD?

We designed and implemented a visualization that analyzes software changes to allow developers to better understand the TDD process. In this Tech Report we present the visualzation as well as explain the proceess we used to design it. This screen shot shows the different parts of the visualization:





We designed our visualization to answer questions that developers have about code. Here we see code that was developed in a manner consistent with TDD.





Here we see code that was NOT developed in a manner consistent with TDD.





This visualization shows an example where more time was spent writing production code than was spent writing test code.





This example shows a code change to production code that made a failing test pass.





This example shows a refactoring.