This "is a large book about how testing, viewed as software engineering, should be applied to object-oriented systems development."
And it is that. Well-written prose flows and at no point did I feel the somnambulistic effects of traditional turgid technical text.
Part 1 sets the scene and outlines the fault models specifically associated with object-oriented developments.
Part 2 looks at models in general and describes the common situation of cartoon models being presented for testing. There are useful criteria provided for evaluating the testability of a model. Specific models: Combinatorial and State. The book then provides a useful summary of UML from a tester's perspective complete with the test strategies applicable to each model type.
Part 3 is the further study section and I can honestly say that I will refer to this again and again as I have only begun to assimilate the contents. 30+ patterns are presented in detail over 480 pages. The patterns are split across 7 chapters: Results oriented test strategy, classes, reusable components, subsystems, integration, application systems, regression testing.
Part 4 looks at automation, assertions, oracles and test harnesses. Examples are presented in C++, Eiffel, Java, Objective-C and Smalltalk.
This is an excellent testing book, but it is also an excellent object-oriented book and any tester without much OO design/coding/testing experience can learn a lot. There are plenty of pointers for further study (as if there wasn't enough to study in the text).
Hopefully this book will have a wider audience than just testers as many of the automation and derivation techniques are best employed by the development teams themselves.