XML Europe 2004 logo

Test-driven XML Development: Building Rapid Change Management into XML Systems

Abstract

This paper is a forward-thinking look at the application of test-driven development within the XML processing space.

Ever since Extreme Programming popularized the idea of test-driven development within software development processes, developers in virtually every modern programming language have been reaping the benefits of improved code quality and drastically reduced risk and cost for making changes to existing code. Thus providing their companies, products, and customers with more consistent quality on tighter time-lines. This paper takes this development and testing philosophy in a new direction: XML.

XML-based development projects have many unique risks and costs. DTDs & Schemas are the cornerstone of an XML system. They define the structural constraints that the rest of the system relies on. Frequently changing DTDs/Schemas can ripple changes throughout a system from stylesheets to storage to remediation of all of the content. This paper looks at the parallels between software and XML-based development and shows how these risks can be dramatically reduced via the proper application of test-driven development processes.

This paper addresses how to leverage key XML technologies with open source software tools to automate testing of XML development, including: XSLT development, DTD/Schema changes, and automated XML validation. Strengths and weaknesses of this approach are analyzed, based on real world experience. It also provides assistance in developing a 'test-driven' mindset, pertinent to XML tools and development processes.

This paper provides developers with key information for integrating characteristics of test-driven development into their own processes. The provided breakdown of costs and benefits will help managers evaluate, and potentially improve, the quality of their own XML-development processes. Thus reaping the benefits of automated XML-based testing and minimizing the defined risks.

Keywords