Front cover image for Testing object-oriented software : life-cycle solutions

Testing object-oriented software : life-cycle solutions

"This book presents an integrated framework for testing object-oriented software throughout the software engineering life cycle. It discusses recipes for testing of requirements, designs, base classes, derived classes, and integrated systems. For each phase the authors describe objectives of testing, approaches used, testing techniques, ordered sets of activities, planned efforts, and acceptance criteria for transition to the next phase." "The book will be of interest to software practitioners, managers, researchers, and students. It can also be used as a text for object-oriented software testing or as a supplement to software engineering courses."--Jacket
Print Book, English, ©1999
Springer, New York, ©1999
xix, 209 pages : illustrations ; 24 cm
9780387988962, 0387988963
41531618
1 Introduction.- 1.1 Why a Book on Testing Object-Oriented Software?.- 1.2 Outline of Book.- 2 Software Process and Testing Models.- 2.1 Software Process Models.- 2.1.1 Capability Maturity Model (CMM).- 2.1.2 Personal Software Process (PSP).- 2.2 Object-Oriented Software Development and Testing Model.- 2.2.1 Object-Oriented Software Development Model.- 2.2.2 Parallel Testing Model.- 2.2.3 Testing Ripples.- 2.3 Summary.- 3 Impact of Object Orientation on Testing.- 3.1 Encapsulation.- 3.2 Information Hiding.- 3.3 Abstraction.- 3.4 Inheritance.- 3.5 Reuse.- 3.6 Testability of Object-Oriented Systems.- 3.7 Summary.- 4 Requirements Testing.- 4.1 Objective.- 4.2 Approach.- 4.3 Activities.- 4.3.1 Typical Activities in Requirements Testing.- 4.4 Resources.- 4.5 Effort.- 4.6 Acceptance Criteria.- 4.7 Summary.- 5 Design Testing.- 5.1 Objective.- 5.2 Approach.- 5.2.1 Design Walk-Throughs.- 5.2.2 Prototyping.- 5.3 Activities.- 5.3.1 Typical Activities in Design Testing.- 5.4 Resources.- 5.5 Effort.- 5.6 Acceptance Criteria.- 5.7 Summary.- 6 Base Classes Unit Testing.- 6.1 Objective.- 6.2 Approach.- 6.3 Activities.- 6.3.1 Assumptions.- 6.3.2 Typical Activities in Unit Testing.- 6.3.3 Analysis.- 6.4 Resources.- 6.5 Effort.- 6.6 Acceptance Criteria.- 6.7 Summary.- 7 Derived Classes Unit Testing.- 7.1 Test Procedure.- 7.1.1 Draw Derived Enchanced Call Graph (ECGderived).- 7.1.2 Draw MaDUMderived.- 7.1.3 Fill MaDUMderived.- 7.1.4 Test Local Attributes.- 7.1.5 Retest Inherited Attributes.- 7.2 Analysis.- 7.3 Summary.- 8 Testing C++ Special Features.- 8.1 Static Data Members.- 8.2 Function Pointers.- 8.3 Structs as Data Members.- 8.4 Nested Classes.- 8.5 Member Access Controlaccess control.- 8.6 Composite Classes.- 8.7 Abstract Classes.- 8.8 Summary.- 9 Code Reviews.- 9.1 Objective.- 9.2 Approach.- 9.3 Activities.- 9.3.1 Typical Activities in Code Reviews.- 9.4 Resources.- 9.5 Effort.- 9.6 Acceptance Criteria.- 9.7 Language-Independent Errors Checklist.- 9.7.1 Data Reference Errors.- 9.7.2 Data Declaration Errors.- 9.7.3 Computation Errors.- 9.7.4 Comparison Errors.- 9.7.5 Control Flow Errors.- 9.7.6 Input/Output Errors.- 9.7.7 Interface Errors.- 9.7.8 Domain Errors.- 9.7.9 Performance Errors.- 9.7.10 Other Errors.- 9.8 Object-Oriented Errors Checklist.- 9.9 Summary.- 10 Integration Testing.- 10.1 Objective.- 10.2 Approach.- 10.3 Activities.- 10.3.1 Structural Integration Testing.- 10.3.2 Functional Integration Testing.- 10.4 Resources.- 10.5 Effort.- 10.6 Acceptance Criteria.- 10.7 Summary.- 11 Integrated-System Testing.- 11.1 Objective.- 11.2 Approach.- 11.3 Activities.- 11.3.1 Sanity Testing.- 11.3.2 Functional Testing.- 11.3.3 Human Factors Testing.- 11.3.4 Performance Testing.- 11.3.5 Capacity Testing.- 11.3.6 Documentation Testing.- 11.4 Resources.- 11.5 Effort.- 11.6 Acceptance Criteria.- 11.7 Summary.- A SampleStatistic Class Source Code.- A.1 Header File.- A.2 Source File.- B SampleHistogram Class Source Code.- B.1 Header File.- B.2 Source File.- C PriorityQueue Class Source Code.- C.1 Eiffel Implementation.- C.2 C++ Header File.- C.3 C++ Source File.- D Algorithms for Drawing MaDUM.- D.1 Base Class MaDUM Algorithm.- D.2 Derived Class MaDUM Algorithm.- E Test Data Adequacy Axioms.- E.1 “Obvious” Axioms.- E.1.1 Applicabilityapplicability.- E.1.2 NonExhaustive Applicability.- E.1.3 Monotonicity.- E.1.4 Inadequate Empty Set.- E.1.5 Renaming.- E.1.6 Complexity.- E.1.7 Statement Coverage.- E.2 “Not-so-obvious” Axioms.- E.2.1 Antiextensionality.- E.2.2 General Multiple Change.- E.2.3 Antidecomposition.- E.2.4 Anticomposition.- References.