Preface Chapter 1 Introduction Who Should Read This Book? What Software Testing Is--and Isn't What Is Different about Testing Object-Oriented Software? Overview of Our Testing Approach The Testing Perspective Organization of This Book Conventions Used in This Book A Continuing Example--Brickles Chapter 2 The Testing Perspective Testing Perspective Object-Oriented Concepts Development Products Summary Chapter 3 Planning for Testing A Development Process Overview A Testing Process Overview Risk Analysis--A Tool for Testing A Testing Process Roles in the Testing Process A Detailed Set of Test Activities Planning Activities Summary Chapter 4 Testing Analysis and Design Models An Overview Place in the Development Process The Basics of Guided Inspection Organization of the Guided Inspection Activity Preparing for the Inspection Testing Specific Types of Models Testing Models for Additional Qualities Summary Addendum:A Process Definition for Guided Inspection Chapter 5 Class Testing Basics Class Testing Constructing Test Cases Constructing a Test Driver Summary Chapter 6 Testing Interactions Object Interactions Testing Object Interactions Sampling Test Cases Testing Off-the-Shelf Components Protocol Testing Test Patterns Testing Exceptions Summary Chapter 7 Testing Class Hierarchies Inheritance in Object-Oriented Development Subclass Test Requirements Organizing Testing Software Testing Abstract Classes Summary Chapter 8 Testing Distributed Object Basic Concepts Computational Models Basic Differences Threads Path Testing in Distributed Systems Life-Cycle Testing Models of Distribution A Generic Distributed-Component Model Specifying Distributed Objects Temporal Logic A Test Environment Test Cases The Ultimate Distributed System--The Internet Summary Chapter 9 Testing Systems Defining the System Test Plan Complementary Strategies Use Cases as Sources of Test Cases Testing Incremental Projects Testing Multiple Representations What Needs to Be Tested? Types of Testing Testing Different Types of Systems Measuring Test Coverage Summary Chapter 10 Components,Frameworks,and Product Lines Component Models Frameworks Product Lines Summary Chapter 11 Conclusion Suggestions Brickles Finally Bibliography Index