Chapter 7 of Design Driven Testing just went onto the Sparx Community website as a free download. (Sparx are the creators of Enterprise Architect, nowadays the *only* real choice for enterprise analysis and design modeling).
Somewhat uniquely, the book features a real production system as its teaching example. A worldwide interactive hotel mapping (GIS) application, designed with the ICONIX Process, built using Java, Flex, and the ESRI ArcGIS Server mapping software, that we call "Mapplet 2.0", which is in production use on the VResorts.com travel website.
Here's how the chapter is introduced on the Sparx site:
This chapter focuses on Acceptance Testing, and leverages EA's Structured Scenario editor heavily to accomplish something we call "use case thread expansion" where all of the sunny day / rainy day permutations of a use case are expanded out into a complete set of tests.
In test driven approaches to development, unit testing often gets most of the attention. However, unit testing is generally most useful in discovering "errors of Commission" (more poetically, "whoops, I coded that wrong"). Unit testing is of much less help in discovering "errors of Omission" (more poetically, "whoops, I didn't think of that"). In general errors of Omission are much trickier to detect, and there is very little automated support for detecting them. We worked very closely with the development team at Sparx as they developed the "use case thread expander", and it brings a very unique and useful capability to the industry.
As you read this chapter, make sure you don't miss the discussion at the end of the chapter called "And the moral of the story is..." where we describe some actual "errors of Omission" that were caught and fixed before the release of our mapping software using these acceptance testing techniques, and how fixing these errors improved the user experience.
In case you're still undecided about whether to buy a copy of DDT (or like me, if you just like reading free chapters!), Chapter 4 is also available for download. This chapter presents the full ICONIX Process design of the Mapplet project, starting from functional requirements and use cases, all the way down to reverse engineered class diagrams from the final code. One of the unique virtues of using a production example as a teaching example in a book like DDT is that it's possible for readers to look at the use cases in the attached chapter, and then compare them to the released software as deployed on VResorts.com.