Test-Driven Database Development: Unlocking Agility Front Cover

Test-Driven Database Development: Unlocking Agility

Description

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.

Table of Contents

Chapter 1 Why, Who, and What
Chapter 2 Establishing a Class of Databases
Chapter 3 A Little TDD
Chapter 4 Safely Changing Design
Chapter 5 Enforcing Interface
Chapter 6 Defining Behaviors
Chapter 7 Building for Maintainability
Chapter 8 Error and Remediation
Chapter 9 Design
Chapter 10 Mocking
Chapter 11 Refactoring
Chapter 12 Legacy Databases
Chapter 13 The Façade Pattern
Chapter 14 Variations
Chapter 15 Other Applications

To access the link, solve the captcha.