Basics of Test Driven Development (TDD)
If you've heard of Test Driven Development (TDD) before but was not sure what it was or how it works, this newsletter provides a summary of the approach.
What is Test Driven Development?
Test Driven Development is a unique way to develop software by starting the process by collecting a requirement, developing test cases for the requirement, followed by the coding process. For traditional development and testing shops, this process 'feels backwards' because traditional approaches perform the coding before beginning testing. However, this approach has been used for years by Agile Development teams.
So how does it Work?
For TDD to work, create your test cases using an automated testing tool and then write the code that causes the automated test(s) to pass. So here are the steps:
- First fully understand the requirement
- Create automated test(s) that test the requirement
- Create the coding logic -- test it by running the automated test(s)
- Once the automated test(s) pass, the coding then fulfills the requirement
- Re-factor the code for better maintainability, run the automated test(s) again to ensure it still works
What are the Advantages of TDD?
Studies have shown that Test Driven Development reduces defect density, improves software quality, and in some cases make team productivity higher. Empirical Software Engineering Journal published a paper that summarized 4 cases studies (1 at IBM, 3 at Microsoft), where they followed the TDD practice and evaluated the effectiveness of it. For more information on this study, visit http://www.infoq.com/news/2009/03/TDD-Improves-Quality.
About the Author
Steve Miller is the Vice President of ALM Solutions for AutomatedQA (http://www.automatedqa.com). With over 24 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software. You can read other newsletters at http://www.SoftwarePlanner.com/Newsletters.asp
Back to Think Testing!
We're Here to Help
E-mail us
Or call us at 1-877-882-9540
Keyword Driven Testing