Design Driven Testing: Test Smarter, Not Harder
- 5h 13m
- Doug Rosenberg, Matt Stephens
- Apress
- 2010
The groundbreaking book Design Driven Testing brings sanity back to the software development process by flipping around the concept of Test Driven Development (TDD)—restoring the concept of using testing to verify a design instead of pretending that unit tests are a replacement for design. Anyone who feels that TDD is “Too Damn Difficult” will appreciate this book.
Design Driven Testing shows that, by combining a forward-thinking development process with cutting-edge automation, testing can be a finely targeted, business-driven, rewarding effort. In other words, you’ll learn how to test smarter, not harder.
- Applies a feedback-driven approach to each stage of the project lifecycle.
- Illustrates a lightweight and effective approach using a core subset of UML.
- Follows a real-life example project using Java and Flex/ActionScript.
- Presents bonus chapters for advanced DDTers covering unit-test antipatterns (and their opposite, “test-conscious” design patterns), and showing how to create your own test transformation templates in Enterprise Architect.
What you’ll learn
- Create unit and behavioral tests using JUnit, NUnit, FlexUnit.
- Generate acceptance tests for all usage paths through use case thread expansion.
- Generate requirement tests for functional requirements.
- Run complex acceptance tests across the enterprise.
- Isolate individual control points for self-contained unit/behavioral tests.
- Apply Behavior Driven Development frameworks like JBehave and NBehave
Design Driven Testing should appeal to developers, project managers, testers, business analysts, architects…in fact anyone who builds software that needs to be tested. While equally applicable on both large and small projects, Design Driven Testing is especially helpful to those developers who need to verify their software against formal requirements. Such developers will benefit greatly from the rational and disciplined approach espoused by the authors.
About the Authors
Matt Stephens is a Java developer, project leader, and technical architect with a financial organization based in Central London. He’s been developing software commercially for over 15 years, and has led many agile projects through successive customer releases. He has spoken at a number of software conferences on OO development topics, and his writing appears regularly in a variety of software journals and websites, including The Register and ObjectiveView.
Matt is the coauthor of Extreme Programming Refactored: The Case Against XP (Apress, 2003) with Doug Rosenberg, Agile Development with ICONIX Process (Apress, 2005) with Doug Rosenberg and Mark Collins-Cope, and Use Case Driven Object Modeling with UML: Theory and Practice with Doug Rosenberg (Apress, 2007).
Doug Rosenberg is the founder and president of ICONIX Software Engineering, Inc. (www.iconixsw.com). Doug spent the first 15 years of his career writing code for a living before moving on to managing programmers, developing software design tools, and teaching object-oriented analysis and design.
Doug has been providing system development tools and training for nearly two decades, with particular emphasis on object-oriented methods. He developed a unified Booch/Rumbaugh/Jacobson design method in 1993 that preceded Rational’s UML by several years. He has produced more than a dozen multimedia tutorials on object technology, including COMPREHENSIVE COM and Enterprise Architect for Power Users, and is the coauthor of Use Case Driven Object Modeling with UML (Addison-Wesley, 1999) and Applying Use Case Driven Object Modeling with UML (Addison-Wesley, 2001), both with Kendall Scott, as well as Extreme Programming Refactored: The Case Against XP (Apress, 2003) with Matt Stephens, Agile Development with ICONIX Process (Apress, 2005) with Matt Stephens and Mark Collins-Cope, and Use Case Driven Object Modeling with UML: Theory and Practice with Matt Stephens (Apress, 2007).
A few years ago, Doug started a second business, an online travel website that features his virtual reality photography and some innovative mapping software.
In this Book
-
Foreword
-
Prologue
-
Somebody Has it Backwards
-
TDD Using Hello World
-
“Hello World!” Using DDT
-
Introducing the Mapplet Project
-
Detailed Design and Unit Testing
-
Conceptual Design and Controller Testing
-
Acceptance Testing—Expanding Use Case Scenarios
-
Acceptance Testing—Business Requirements
-
Unit Testing Antipatterns (The “Don'ts”)
-
Design for Easier Testing
-
Automated Integration Testing
-
Unit Testing Algorithms
-
Epilogue—'Twas Brillig and the Slithy Tests…