Testing Object-Oriented Systems takes software/systems engineering
approach to test design and test automation. Scan the list
of chapters for a brief overview. You can also view the complete
table of contents.
It is a comprehensive guide to testing object-oriented systems, organized
as a desk reference. It starts with basic testing concepts and then
shows what is unique about testing object-oriented software. Test models
based on state machines, combinational logic, and the UML provide a
systematic and practical foundation. Over sixty patterns present concepts
and techniques for test design and test automation.
The book introduces the test design
pattern. This new pattern template focuses explicitly on the key
dimensions of test design: When is a particular test strategy appropriate?
What kind of bugs will it find? How do you develop a test suite -- how
should the implementation under test be modeled, and how are test cases
produced from the model and its oracle? What kind of test automation
works best? What are the testing entry and exit criteria? What are its
advantages and disadvantages? Who has used this pattern?
The book presents 37 test design patterns
based on this template. They cover testing of methods, classes/clusters,
subsystems, reusable components, frameworks, and systems. They address
responsibility-based testing, integration testing, and regression testing
at all these scopes. Seventeen design
patterns for test automation support test tool development, and
16 micro-patterns for test oracles
show how to produce expected results.