Testing Object-oriented Systems: Models, Patterns, and Tools

Front Cover
Addison-Wesley Professional, 2000 - Computers - 1191 pages

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: Models, 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 from 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--practical 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 regression 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. Practical examples illustrate test design and test automation for Ada 95, C++, Eiffel, Java, Objective-C, and Smalltalk. The UML is used throughout, but the test design patterns apply to systems developed with any OO language or methodology.
0201809389B04062001

 

What people are saying - Write a review

LibraryThing Review

User Review  - lorin - LibraryThing

Affectionally referred to as "TOOS", this book is a reference for various patterns of testing object-oriented software. This book is *huge*, and I hope to finish it someday. Read full review

User Review - Flag as inappropriate

Regarding to the example for retested by profile, is the formula incorrect? as 5T + (0.005 x200) 5 = 6000 could not result T = 5000.

Contents

Contents
xxv
A Small Challenge
3
How to Use This Book
11
A Brief Introduction
41
Testing and Objectoriented Software
63
MODELS
109
Combinational Models
121
Chapter State Machines
175
Application Systems
715
Regression Testing
755
TOOLS
799
Test Automation
801
Assertions
807
Grades
917
Test Harness Design
957
19A Driver Patterns
988

Chapters A Testers Guide to the UML
269
PATTERNS
315
Classes
347
Reusable Components
525
Subsystems
563
Integration
627
Appendix
1065
Glossary
1073
References
1119
Index
1143
Copyright

Other editions - View all

Common terms and phrases

About the author (2000)

Robert V. Binder, president and founder of RBSC Corporation, is internationally recognized as the leading expert in testing object-oriented systems. With more than 25 years of software development experience in a wide range of technical and management roles, he has implemented advanced OO test design and automation solutions for hundreds of clients. He is the author of Application Debugging, writes a column on testing for Component Strategies, and has published many articles in peer-reviewed and popular journals. He serves on the board of the annual Quality Week conference and is a senior member of the IEEE.



0201809389AB04062001

Bibliographic information