Testing Object Oriented Systems by Robert Binder
From the jacket text:
"More than ever, mission-critical and business-critical applications depend on object-oriented (OO) software. Testing techniques tailored to the unique challenges of OO technology are necessary to achieve high reliability and quality. Testing Object-Oriented Systems: Model, Patterns, and Tools is an authoritative guide to designing and automating test suites for OO applications.
This comprehensive book explains why testing must be model-based and provides in-depth coverage of techniques to develop testable models form state machines, combinational logic, and the Unified Modeling Language (UML). It introduces the test design pattern and presents 37 patterns that explain how to design responsibility-based test suites, how to tailor integration and regression testing for OO code, how to test reusable components and frameworks, and how to develop highly effective test suites from use cases.
Effective testing must be automated and must leverage object technology. The author describes how to design and code specification-based assertions to offset testability losses due to inheritance and polymorphism. Fifteen micro-patterns present oracle strategies -- paractical solutions for one of the hardest problems in test design. Seventeen design patterns explain how to automate your test suites with a coherent OO test harness framework.
The author provides thorough coverage of testing issues such as:
- The bug hazards of OO programming and differences from testing procedural code
- How to design responsibility-based tests for classes, clusters, and subsystems using class invariants, interface data flow models, hierarchic state machines, class associations, and scenario analysis
- How to support reuse by effective testing of abstract classes, generic classes, components, and frameworks
- How to choose an integration strategy that supports iterative and incremental development
- How to achieve comprehensive system testing with testable use cases
- How to choose a regressions test approach
- How to develop expected test results and evaluate the post-test state of an object
- How to automate testing with assertions, OO test drivers, stubs, and test frameworks
Real-World experience, world-class best practices, and the latest research in object-oriented testing are included."
Review
Well, buy it! Read It!
That book changed my view on testing completely. Also it made me aware that most guys if seen so far talking about testing have no clue what they are talking about or lacking to make their point clear. From what I have seen so far I would call it THE BOOK about testing and a must read for everyone involved in testing and an absolute must read for everyone who develops software. The new viewpoints you get from the book will not only improve your testing skills but also your general way of viewing systems. Rated 6 of 5 stars!



Books