Advanced Search
CS Search Google Search
Subscribers, please login

Published Articles >> Table of Contents >> Abstract

Publication Home Page
May/June 2007 (Vol. 24, No. 3)   pp. 37-43
Test-Driven Development of Relational Databases

Full Article Text: View linked HTML of full textDownload PDF of full textBuy this articleGet full text from IEEE Xplore

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2007.91
Send link to a friend

Abstract
Developers can use a test-driven development with database schema just as they use it with application code. Implementing test-driven database development (TDDD) involves three relatively simple steps: database refactoring, database regression testing, and continuous database integration. In database refactoring, developers make a simple change to a database to improve the design without changing its semantics. In database regression testing, they run a comprehensive test suite that validates the database regularly-ideally, whenever developers change the database schema or access the database in a different way. In continuous database integration, developers rebuild and retest the database schema whenever it changes. From a technical viewpoint, TDDD is straightforward. However, cultural challenges can make it difficult to adopt.
References
[1] D. Astels, Test Driven Development: A Practical Guide, Prentice Hall, 2003.
[2] K. Beck, Test Driven Development: By Example, Addison-Wesley, 2003.
[3] M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley Longman, 1999.
[4] Behavior Driven Development, Mar. 2007; www.behaviour-driven.org.
[5] S.W. Ambler, Agile Database Techniques: Effective Strategies for the Agile Software Developer, John Wiley & Sons, 2003.
[6] S.W. Ambler, Database Regression Testing, 2006; www.agiledata.org/essaysdatabaseTesting.html .
[7] S.A. Becker and A. Berkemeyer, "The Application of a Software Testing Technique to Uncover Errors in Database Systems," Proc. 20th Pacific Northwest Software Quality Conf., PNSQC/Pacific Agenda, 1999, pp. 173–183.
[8] F. Swiderski and W. Snyder, Threat Modeling, Microsoft Press, 2004.
[9] S.W. Ambler and P. Sadalage, Refactoring Databases: Evolutionary Database Design, Addison-Wesley, 2006.
[10] M. Fowler and P. Sadalage, "Evolutionary Database Design," 2003; www.martinfowler.com/articlesevodb.html.
[11] S.W. Ambler, "Development Sandboxes: An Agile Best Practice," 2002–2006; www.agiledata.org/essayssandboxes.html.
Additional Information
Index Terms- test-driven development, TDD, database refactoring, database testing, test-driven database design, TDD, relational database, behavior-driven development, BDD

Citation:  Scott W. Ambler, "Test-Driven Development of Relational Databases," IEEE Software, vol. 24,  no. 3,  pp. 37-43,  May/Jun,  2007

RSS Feed

Similar Articles

Abstract Contents
Abstract
References
Index Terms
Citation




Free access to

  • Abstracts
  • Selected PDFs

Electronic subscribers login to:

  • Access HTML/PDFs of full text articles

Subscription information

Get a Web account

PDFs require Adobe Acrobat Reader.

Peer Review Notice

Give us Feedback