A Practical Guide to Testing Object-Oriented Software (Paperback)
John D. McGregor, David A. Sykes
- 出版商: Addison Wesley
- 出版日期: 2001-03-15
- 定價: $1,575
- 售價: 8.0 折 $1,260
- 語言: 英文
- 頁數: 416
- 裝訂: Paperback
- ISBN: 0201325640
- ISBN-13: 9780201325645
-
相關分類:
Object-oriented
立即出貨(限量) (庫存=8)
買這商品的人也買了...
-
$680$578 -
$1,860$1,767 -
$1,425Lessons Learned in Software Testing (Paperback)
-
$1,320Applying Use Cases: A Practical Guide, 2/e (Paperback)
-
$1,570$1,492 -
$749Disappearing Cryptography, 2/e
-
$760$600 -
$590$466 -
$550$435 -
$720$569 -
$750$638 -
$560$476 -
$450$356 -
$860$731 -
$390$304 -
$400$340 -
$720$612 -
$480$379 -
$750$593 -
$902Computer Science Illuminated, 2/e
-
$880$695 -
$880$695 -
$660$521 -
$450$351 -
$490$387
相關主題
商品描述
Description
A start-to-finish methodology for testing object-oriented software: What, why, how, who, and when!
- Understanding the unique challenges of testing object-oriented software.
- Establishing test priorities, choosing approaches, developing test software, and more.
- Includes a beginning-to-end case study.
John D. McGregor is an internationally recognized software testing consultant currently affiliated with Clemson University in South Carolina, where he leads a team of researchers investigating state-of-the-art object-oriented software test methods. David A. Sykes is an independent consultant specializing in object-oriented testing.
Table Of Contents
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.
What Software Testing Is and Isn't.
What Is Different about Testing Object-Oriented Software?
Overview of Our Testing Approach.
Test Early.
Test Often.
Test Enough.
Test Often.
Test Enough.
The Testing Perspective.
Organization of This Book.
Conventions Used in This Book.
A Continuing Example — Brickles.
Basic Brickles Components.
Brickles Physics.
Game Environment.
Brickles Physics.
Game Environment.
2. The Testing Perspective.
Testing Perspective.
Object-Oriented Concepts.
Development Products.
Summary.
Object-Oriented Concepts.
Object.
Message.
Interface.
Class.
Inheritance.
Polymorphism.
Message.
Interface.
Class.
Inheritance.
Polymorphism.
Development Products.
Analysis Models.
Design Models.
Source Code.
Design Models.
Source Code.
Summary.
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.
Class Tester.
Integration Tester.
System Tester.
Test Manager.
Planning Activities.
Summary.
A Testing Process Overview.
Risk Analysis — A Tool for Testing.
Risks.
Risk Analysis.
Risk Analysis.
A Testing Process.
Planning Issues.
Dimensions of Software Testing.
Who Performs Testing?
Which Pieces Are Tested?
When is Testing Performed?
How Is Testing Performed?
How Much Testing Is Adequate?
Dimensions of Software Testing.
Who Performs Testing?
Which Pieces Are Tested?
When is Testing Performed?
How Is Testing Performed?
How Much Testing Is Adequate?
Roles in the Testing Process.
A Detailed Set of Test Activities.
Roles in the Testing Process.
Class Tester.
Integration Tester.
System Tester.
Test Manager.
A Detailed Set of Test Activities.
Planning Activities.
Scheduling Testing Activities.
Estimation.
A Process for Testing Brickles.
Document Templates.
Test Metrics.
Estimation.
A Process for Testing Brickles.
Document Templates.
Test Metrics.
Summary.
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.
Place in the Development Process.
The Basics of Guided Inspection.
Evaluation Criteria.
Organization of the Guided Inspection Activity.
Basic Roles.
Individual Inspection.
Individual Inspection.
Preparing for the Inspection.
Specifying the Inspection.
Realistic Models.
Selecting Test Cases for the Inspection.
Creating Test Cases .
Completing Checklists.
The Interactive Inspection Session.
Realistic Models.
Selecting Test Cases for the Inspection.
Creating Test Cases .
Completing Checklists.
The Interactive Inspection Session.
Testing Specific Types of Models.
Requirements Model.
Analysis Models.
Design Models.
Testing Again.
Analysis Models.
Design Models.
Testing Again.
Testing Models for Additional Qualities.
Summary.
Model Testing Checklist.
Addendum: A Process Definition for Guided Inspection.
Steps in the Process.
Detailed Step Descriptions.
Roles in the Process.
Detailed Step Descriptions.
Roles in the Process.
5. Class Testing Basics.
Class Testing.
Constructing Test Cases.
Constructing a Test Driver.
Summary.
Ways to Test a Class.
Dimensions of Class Testing.
Dimensions of Class Testing.
Constructing Test Cases.
Adequacy of Test Suites for a Class.
Constructing a Test Driver.
Test Driver Requirements.
Tester Class Design.
Tester Class Design.
Summary.
6. Testing Interactions.
Object Interactions.
Testing Object Interactions.
Sampling Test Cases.
Testing Off-the-Shelf Components.
Protocol Testing.
Test Patterns.
Testing Exceptions.
Summary.
Identifying Interactions.
Specifying Interactions.
Specifying Interactions.
Testing Object Interactions.
Testing Collection Classes.
Testing Collaborator Classes.
The Interaction between Testing and Design Approach.
Testing Collaborator Classes.
The Interaction between Testing and Design Approach.
Sampling Test Cases.
Orthogonal Array Testing.
Adequacy Criteria for OATS.
Another Example.
Another Application of OATS.
Adequacy Criteria for OATS.
Another Example.
Another Application of OATS.
Testing Off-the-Shelf Components.
Case Study in Component Acceptance Testing.
Protocol Testing.
Test Patterns.
Listener Test Pattern.
Specific Example.
Specific Example.
Testing Exceptions.
Testing Interactions at the System Level.
Summary.
7. Testing Class Hierarchies.
Inheritance in Object-Oriented Development.
Subclass Test Requirements.
Organizing Testing Software.
Testing Abstract Classes.
Summary.
Subclass Test Requirements.
Refinement Possibilities.
Hierarchical, Incremental Testing.
Hierarchical, Incremental Testing.
Organizing Testing Software.
Testing Abstract Classes.
Summary.
8. Testing Distributed Objects.
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.
Model-specific tests.
The Ultimate Distributed System — The Internet.
Summary.
Computational Models.
Concurrent.
Parallel.
Networked.
Distributed.
Parallel.
Networked.
Distributed.
Basic Differences.
Non-Determinism.
Additional Infrastructure.
Partial Failures.
Time Outs.
Dynamic Nature of the Structure.
Additional Infrastructure.
Partial Failures.
Time Outs.
Dynamic Nature of the Structure.
Threads.
Synchronization.
Path Testing in Distributed Systems.
Thread Models.
Life Cycle Testing.
Models of Distribution.
Basic Client/Server Model.
Standard Models of Distribution.
Comparisons and Implications.
Standard Models of Distribution.
Comparisons and Implications.
A Generic Distributed Component Model.
Basic Architecture.
Local and Remote Interfaces.
Local and Remote Interfaces.
Specifying Distributed Objects.
Interface Definition Language.
Traditional Pre/Post-Conditions and Invariants.
Traditional Pre/Post-Conditions and Invariants.
Temporal Logic.
Temporal Test Patterns.
Eventually(a).
Until(a,b).
Always.
Eventually(a).
Until(a,b).
Always.
A Test Environment.
Class Testing.
Interaction Testing.
Interaction Testing.
Test Cases.
Model-specific tests.
Testing Every Assumption.
Infrastructure Tests.
Logic-Specific Test Cases.
Infrastructure Tests.
Logic-Specific Test Cases.
The Ultimate Distributed System — The Internet.
Web Servers.
Life Cycle Testing of Internet Applications.
What Haven't We Said?
Life Cycle Testing of Internet Applications.
What Haven't We Said?
Summary.
9. Testing Systems.
Defining the System Test Plan.
Complementary Strategies for Selecting Test Cases.
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.
Features Tested and Not Tested.
Test Suspension Criteria and Resumption Requirements.
Test Suspension Criteria and Resumption Requirements.
Complementary Strategies for Selecting Test Cases.
Use Profile.
ODC.
ODC.
Use Cases as Sources of Test Cases.
Constructing Use Profiles.
Using Scenarios to Construct Test Cases.
The Expected Results Section of a Test Case.
Brickles.
Using Scenarios to Construct Test Cases.
The Expected Results Section of a Test Case.
Brickles.
Testing Incremental Projects.
Legacy Projects.
Testing Multiple Representations.
What Needs to Be Tested.
Testing Against Functional Requirements.
Testing for Qualitative System Attributes.
Testing the System Deployment.
Testing After Deployment.
Testing Environment Interactions.
Test System Security.
Testing for Qualitative System Attributes.
Testing the System Deployment.
Testing After Deployment.
Testing Environment Interactions.
Test System Security.
Types of Testing.
Stress Testing.
Life Cycle Testing.
Performance Testing.
Life Cycle Testing.
Performance Testing.
Testing Different Types of Systems.
Reactive Systems.
Embedded Systems.
Multi-Tiered Systems.
Distributed Systems.
Embedded Systems.
Multi-Tiered Systems.
Distributed Systems.
Measuring Test Coverage.
What Is to Be Covered?
When Is Coverage Measured?
When Is Coverage Used?
ODCDefect Impacts.
More Examples.
When Is Coverage Measured?
When Is Coverage Used?
ODC
More Examples.
Summary.
10. Components, Frameworks, and Product Lines.
Component Models.
Frameworks.
Product Lines.
Summary.
Enterprise JavaBeans Component Model.
Testing Components vs. Objects.
Component Test Processes.
Test Cases Based on Interfaces.
Case Study — A GameBoard Component.
Testing Components vs. Objects.
Component Test Processes.
Test Cases Based on Interfaces.
Case Study — A GameBoard Component.
Frameworks.
Basic Issues.
Framework Testing Processes.
Inspecting a Framework.
Structuring Test Cases to Support a Framework.
Framework Testing Processes.
Inspecting a Framework.
Structuring Test Cases to Support a Framework.
Product Lines.
Testing at the Organizational Management Level.
Testing at the Technical Management Level.
Testing at the Software Engineering Level.
Testing in a Product Line Project.
Future.
Testing at the Technical Management Level.
Testing at the Software Engineering Level.
Testing in a Product Line Project.
Future.
Summary.
11. Conclusion.
Suggestions.
Organization and Process.
Data.
Standards.
Software Infrastructure.
Techniques.
Risks.
Brickles.
Finally.
Organization and Process.
Data.
Standards.
Software Infrastructure.
Techniques.
Risks.
Brickles.
Finally.
Bibliography.
Index. 0201325640T04062001