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,880$1,786 -
$1,425Lessons Learned in Software Testing (Paperback)
-
$1,320Applying Use Cases: A Practical Guide, 2/e (Paperback)
-
$1,590$1,511 -
$749Disappearing Cryptography, 2/e
-
$760$600 -
$590$466 -
$550$435 -
$720$569 -
$750$638 -
$560$476 -
$450$356 -
$860$679 -
$390$304 -
$400$316 -
$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

商品描述(中文翻譯)
```
描述
從頭到尾的物件導向軟體測試方法論:什麼、為什麼、如何、誰以及何時!
- 理解測試物件導向軟體的獨特挑戰。
- 確立測試優先順序、選擇方法、開發測試軟體等。
- 包含一個從開始到結束的案例研究。
John D. McGregor 是國際知名的軟體測試顧問,目前與南卡羅來納州的克萊姆森大學合作,領導一個研究團隊,調查最先進的物件導向軟體測試方法。David A. Sykes 是專注於物件導向測試的獨立顧問。
目錄
1. 介紹。
誰應該閱讀本書?
軟體測試是什麼,什麼不是。
測試物件導向軟體有什麼不同?
我們的測試方法概述。
測試的觀點。
本書的組織。
本書中使用的慣例。
持續的範例 — Brickles。
軟體測試是什麼,什麼不是。
測試物件導向軟體有什麼不同?
我們的測試方法概述。
早期測試。
經常測試。
測試足夠。
經常測試。
測試足夠。
測試的觀點。
本書的組織。
本書中使用的慣例。
持續的範例 — Brickles。
基本的 Brickles 組件。
Brickles 物理。
遊戲環境。
Brickles 物理。
遊戲環境。
2. 測試的觀點。
測試觀點。
物件導向概念。
開發產品。
總結。
物件導向概念。
物件。
訊息。
介面。
類別。
繼承。
多型。
訊息。
介面。
類別。
繼承。
多型。
開發產品。
分析模型。
設計模型。
原始碼。
設計模型。
原始碼。
總結。
3. 測試計劃。
開發過程概述。
測試過程概述。
風險分析 — 測試工具。
測試過程。
測試過程中的角色。
詳細的測試活動集。
類別測試員。
整合測試員。
系統測試員。
測試經理。
計劃活動。
總結。
測試過程概述。
風險分析 — 測試工具。
風險。
風險分析。
風險分析。
測試過程。
計劃問題。
軟體測試的維度。
誰執行測試?
哪些部分被測試?
何時進行測試?
如何進行測試?
測試多少才算足夠?
軟體測試的維度。
誰執行測試?
哪些部分被測試?
何時進行測試?
如何進行測試?
測試多少才算足夠?
測試過程中的角色。
詳細的測試活動集。
測試過程中的角色。
類別測試員。
整合測試員。
系統測試員。
測試經理。
詳細的測試活動集。
計劃活動。
排程測試活動。
估算。
測試 Brickles 的過程。
文件範本。
測試指標。
估算。
測試 Brickles 的過程。
文件範本。
測試指標。
總結。
4. 測試分析和設計模型。
概述。
在開發過程中的位置。
指導檢查的基本知識。
指導檢查活動的組織。
準備檢查。
測試特定類型的模型。
測試額外品質的模型。
總結。
附錄:指導檢查的過程定義。
在開發過程中的位置。
指導檢查的基本知識。
評估標準。
指導檢查活動的組織。
基本角色。
個別檢查。
個別檢查。
準備檢查。
指定檢查。
實際模型。
為檢查選擇測試案例。
創建測試案例。
完成檢查清單。
互動檢查會議。
實際模型。
為檢查選擇測試案例。
創建測試案例。
完成檢查清單。
互動檢查會議。
測試特定類型的模型。
需求模型。
分析模型。
設計模型。
再次測試。
分析模型。
設計模型。
再次測試。
測試額外品質的模型。
總結。
模型測試檢查清單。
附錄:指導檢查的過程定義。
過程中的步驟。
詳細步驟描述。
過程中的角色。
詳細步驟描述。
過程中的角色。
5. 類別測試基礎。
類別測試。
構建測試案例。
構建測試驅動程式。
總結。
測試類別的方法。
類別測試的維度。
類別測試的維度。
構建測試案例。
類別的測試套件的充分性。
構建測試驅動程式。
測試驅動程式的要求。
測試者類別設計。
測試者類別設計。
總結。
6. 測試互動。
物件互動。
測試物件互動。
抽樣測試案例。
測試現成組件。
協定測試。
測試模式。
測試例外。
總結。
識別互動。
指定互動。
指定互動。
測試物件互動。
測試集合類別。
測試協作類別。
測試與設計方法之間的互動。
測試協作類別。
測試與設計方法之間的互動。
抽樣測試案例。
正交陣列測試。
OATS 的充分性標準。
另一個範例。
OATS 的另一個應用。
OATS 的充分性標準。
另一個範例。
OATS 的另一個應用。
測試現成組件。
組件接受測試的案例研究。
協定測試。
測試模式。
監聽器測試模式。
具體範例。
具體範例。
測試例外。
在系統層級測試互動。
總結。
7. 測試類別層級。
物件導向開發中的繼承。
子類別測試要求。
組織測試軟體。
測試抽象類別。
總結。
子類別測試要求。
精煉的可能性。
層級增量測試。
層級增量測試。
組織測試軟體。
測試抽象類別。
總結。
8. 測試分散物件。
基本概念。
計算模型。
基本差異。
執行緒。
在分散系統中的路徑測試。
生命週期測試。
分配模型。
一個通用的分散組件模型。
指定分散物件。
時間邏輯。
測試環境。
測試案例。
模型特定測試。
終極分散系統 — 網際網路。
總結。
計算模型。
同步。
並行。
網路化。
分散式。
並行。
網路化。
分散式。
基本差異。
非確定性。
額外基礎設施。
部分失敗。
超時。
結構的動態性。
額外基礎設施。
部分失敗。
超時。
結構的動態性。
執行緒。
同步。
在分散系統中的路徑測試。
執行緒模型。
生命週期測試。
分配模型。
基本客戶/伺服器模型。
標準分配模型。
比較與影響。
標準分配模型。
比較與影響。
一個通用的分散組件模型。
基本架構。
本地和遠端介面。
本地和遠端介面。
指定分散物件。
介面定義語言。
傳統的前/後條件和不變式。
傳統的前/後條件和不變式。
時間邏輯。
時間測試模式。
最終(a)。
直到(a,b)。
總是。
最終(a)。
直到(a,b)。
總是。
測試環境。
類別測試。
互動測試。
互動測試。
測試案例。
模型特定測試。
測試每一個假設。
基礎設施測試。
邏輯特定測試案例。
基礎設施測試。
邏輯特定測試案例。
終極分散系統 — 網際網路。
網頁伺服器。
網際網路應用的生命週期測試。
我們還沒有說什麼?
網際網路應用的生命週期測試。
我們還沒有說什麼?
總結。
9. 測試系統。
定義系統測試計劃。
選擇測試案例的補充策略。
使用案例作為測試案例的來源。
測試增量專案。
測試多重表示。
需要測試的內容。
測試類型。
測試不同類型的系統。
測量測試覆蓋率。
總結。
測試的功能和未測試的功能。
測試暫停標準和恢復要求。
測試暫停標準和恢復要求。
選擇測試案例的補充策略。
使用概況。
ODC。
ODC。
使用案例作為測試案例的來源。
構建使用概況。
使用情境構建測試案例。
測試案例的預期結果部分。
Brickles。
使用情境構建測試案例。
測試案例的預期結果部分。
Brickles。
測試增量專案。
遺留專案。
測試多重表示。
需要測試的內容。
根據功能需求進行測試。
測試質量系統屬性。
測試系統部署。
部署後的測試。
測試環境互動。
測試系統安全性。
測試質量系統屬性。
測試系統部署。
部署後的測試。
測試環境互動。
測試系統安全性。
測試類型。
壓力測試。
生命週期測試。
性能測試。
生命週期測試。
性能測試。
測試不同類型的系統。
反應系統。
嵌入式系統。
多層系統。
分散系統。
嵌入式系統。
多層系統。
分散系統。
測量測試覆蓋率。
什麼需要被覆蓋?
何時測量覆蓋率?
何時使用覆蓋率?
ODC缺陷影響。
更多範例。
何時測量覆蓋率?
何時使用覆蓋率?
ODC缺陷影響。
更多範例。
總結。
10. 組件、框架和產品線。
組件模型。
框架。
產品線。
總結。
企業 JavaBeans 組件模型。
測試組件與物件。
組件測試過程。
基於介面的測試案例。
案例研究 — 一個遊戲板組件。
測試組件與物件。
組件測試過程。
基於介面的測試案例。
案例研究 — 一個遊戲板組件。
框架。
基本問題。
框架測試過程。
檢查框架。
結構化測試案例以支持框架。
框架測試過程。
檢查框架。
結構化測試案例以支持框架。
產品線。
在組織管理層進行測試。
在技術管理層進行測試。
在軟體工程層進行測試。
在產品線專案中進行測試。
未來。
在技術管理層進行測試。
在軟體工程層進行測試。
在產品線專案中進行測試。
未來。
總結。
11. 結論。
建議。
組織與過程。
數據。
標準。
軟體基礎設施。
技術。
```
組織與過程。
數據。
標準。
軟體基礎設施。
技術。
```