This document discusses test-driven development (TDD) and summarizes the results of 3 research studies on TDD. TDD is a software development approach where unit tests are written before code to drive the development process. The research studies had inconsistent results on whether TDD improved quality and productivity. While TDD provides benefits like instant feedback and reducing defects, it also has limitations such as being difficult to learn and not including upfront design. The document concludes the effectiveness of TDD depends on factors like development goals and team experience. It also provides an overview of the JMock library which supports TDD.