The practice of Test-Driven Development (TDD) has helped thousands of software developers improve quality, agility, productivity, and speed. In Test-Driven Database Development, Max Guernsey, III shows how to adapt TDD to achieve the same powerful benefits in database design and development.
Guernsey first explains why TDD offers so much potential to database practitioners, and how to overcome obstacles such as the lack of conventional "testable classes." You'll learn how to use "classes of databases" to manage change more effectively; how to define testable database behaviors; how to maximize long-term maintainability by limiting a database's current scope; and how to use "emergent design" to simplify future expansion.
Building on this foundation, the author guides you through implementing modern TDD processes and database refactoring. He presents practical techniques for improving legacy databases; for deviating from strict TDD when necessary; and for adapting TDD to applications that persist data in file systems, XML, or serialized objects. Guernsey shows how to
* Build a simple infrastructure to track and standardize scripts and databases
* Define a sustainable TDD process for database design
* Safely change a design without losing data
* Design new databases that are lighter, leaner, simpler, more testable, and easier to change
* Reduce design costs by eliminating duplication
* Gradually bring the benefits of TDD, agility, and modern design to legacy databases
* Remediate errors that find their way into database designs
* Isolate behaviors and avoid unwanted dependencies that cause tests to fail
With this book as a guide, you will learn how to apply the proven practice of TDD to your database needs, and organize and optimize your organization's data for a significant competitive advantage.
Test-Driven Database Development is the newest title in the highly respected NetObjectives Lean-Agile Series.
Guernsey first explains why TDD offers so much potential to database practitioners, and how to overcome obstacles such as the lack of conventional "testable classes." You'll learn how to use "classes of databases" to manage change more effectively; how to define testable database behaviors; how to maximize long-term maintainability by limiting a database's current scope; and how to use "emergent design" to simplify future expansion.
Building on this foundation, the author guides you through implementing modern TDD processes and database refactoring. He presents practical techniques for improving legacy databases; for deviating from strict TDD when necessary; and for adapting TDD to applications that persist data in file systems, XML, or serialized objects. Guernsey shows how to
* Build a simple infrastructure to track and standardize scripts and databases
* Define a sustainable TDD process for database design
* Safely change a design without losing data
* Design new databases that are lighter, leaner, simpler, more testable, and easier to change
* Reduce design costs by eliminating duplication
* Gradually bring the benefits of TDD, agility, and modern design to legacy databases
* Remediate errors that find their way into database designs
* Isolate behaviors and avoid unwanted dependencies that cause tests to fail
With this book as a guide, you will learn how to apply the proven practice of TDD to your database needs, and organize and optimize your organization's data for a significant competitive advantage.
Test-Driven Database Development is the newest title in the highly respected NetObjectives Lean-Agile Series.