Publication Date

Fall 2017

Document Type


Degree Name

Master of Science


Computer Science

First Advisor

Xin Chen, Ph.D.

Second Advisor

Soon-Ok Park, Ph.D.

Third Advisor

Richard Manprisio, M.P.M.


In his award-winning book, Test-driven Development By Example, Kent Beck wrote, "Clean code that the goal of Test-driven Development (TDD)." TDD is a style of software development that first begins with the creation of tests and then makes use short, iterative development cycles until all test requirements are fulfilled. In order to provide the reader with sufficient background to understand the concepts discussed, this thesis begins by presenting a detailed description of this style of development. TDD is then contrasted with other popular styles, with a focus toward highlighting the many benefits this style offers over the others. This thesis then offers the reader a series of concrete and practical best practices that can be used in conjunction with TDD. It is the hope of the author that these lessons learned will aid those considering the adoption of this style of development avoid a number of pitfalls.


This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.