Chapter
3.2 General Testing Techniques
3.2.1 Positive and Negative Testing
3.2.2 White Box and Black Box Testing
3.2.3 Experienced Based Testing
3.2.4 Automated Software Testing
3.3 Functional Testing Techniques
3.3.1 Equivalence Partitioning
3.3.2 Boundary Value Analysis
3.3.5 State Transition Analysis
3.4 Nonfunctional Testing Techniques
3.4.1 Configuration/Installation Testing
3.4.2 Compatibility and Interoperability Testing
3.4.3 Documentation and Help Testing
3.4.4 Fault Recovery Testing
3.4.5 Performance Testing
3.4.6 Reliability Testing
3.5 Further Reading on Testing Techniques
4 The Management and Planning of Testing
4.2 The Organization of Testing
4.3 Roles and Responsibilities
4.3.6 Independent Test Observer
4.3.7 Supplementary Testing Roles
Test Automation Architect
4.4.3 Integration Testing
4.4.5 Systems Integration Testing
4.4.8 When to Stop Testing
4.5 Role of the V Model in Planning
4.6 The Management of Test Requirements
4.7 The Role and Use of Configuration Management
4.8 The Role and Use of Defect Tracking
4.9 The Role of Risk in Test Planning and Management
5.3 Unit Test Data Requirements
5.4 Roles and Responsibilities
5.5 Planning and Resources
5.7 Testing Techniques for Unit Testing
6.2 Integration Test Approach
6.3 Integration Test Data Requirements
6.4 Roles and Responsibilities
6.5 Planning and Resources
6.7 Testing Techniques for Integration Testing
7.3 System Test Data Requirements
7.4 Roles and Responsibilities
7.5 Planning and Resources
7.7 Testing Techniques for System Testing
8 Systems Integration Testing
8.2 Systems Integration Test Approach
8.3 System Integration Test Data Requirements
8.4 Roles and Responsibilities
8.5 Planning and Resources
8.7 Testing Techniques for Systems Integration Testing
9 User Acceptance Testing
9.2 User Acceptance Test Approach
9.3 User Acceptance Test Data Requirements
9.4 Roles and Responsibilities
9.5 Planning and Resources
9.7 Testing Techniques for User Acceptance Testing
10 Operations Acceptance Testing
10.2 Operations Acceptance Test Approach
10.3 Operations Acceptance Test Data Requirements
10.4 Roles and Responsibilities
10.5 Planning and Resources
10.7 Testing Techniques for Operations Acceptance Testing
11.2 Regression Test Approach
11.3 Regression Test Data Requirements
11.4 Roles and Responsibilities
11.5 Planning and Resources
11.7 Testing Techniques for Regression Testing
12 Improving the Testing Process
12.2 Overview of the Role and Use of Metrics
12.3 Metrics Typically Used Within the Testing Process
Defect Detection Effectiveness Percentage or DDE
Defect Removal Effectiveness Percentage or DRE
Test Case Design Efficiency Percentage or TDE
12.4 Setting Up and Administering a Metrics Program
12.5 A Proposal for a Simple and Effective Metrics Set
13 Introduction, Adoption, and Maintenance of the Testing Process
13.2 Introduction and Adoption of a Testing Process
Establishing the Requirement
Strategy for Introduction and Adoption
13.3 Maintenance of the Testing Process
13.4 A Proposal for a Quick Start Test Process
14.2 Overview of Agile Testing
14.3 Agile Quality Management Practices
14.4 A Proposal for an Effective Subset of Agile Best Practices
Part Two The Testing Process in the Real World: Illustrative Case Studies
Reuters Product Acceptance Group
Crown Quality Assurance Group
Automatic Data Processing Limited
15 Case Study 1: The British Library
15.1 Overview of the Organization
15.2 Characteristics of the Testing Requirement
15.3 The Management and Planning of Testing
15.4 Roles and Responsibilities
Independent Test Observer
16 Case Study 2: Reuters Product Acceptance Group
16.1 Overview of the Organization
16.2 Testing Requirements
16.3 The Management and Planning of Testing
16.4 Roles and Responsibilities
RDBGUI Acceptance Managers
Independent Test Observer
Unit, Link, System, and Integration Testing
17 Case Study 3: Crown Quality Assurance Group
17.1 Overview of the Organization
17.2 Testing Requirements
17.3 The Management and Planning of Testing
17.4 Roles and Responsibilities
18 Case Study 4: The Wine Society
18.1 Overview of the Organization
18.2 Testing Requirements
18.3 The Management and Planning of Testing
18.4 Roles and Responsibilities
User Representative Tester
19 Case Study 5: Automatic Data Processing Limited
19.1 Overview of the Organization
19.2 Characteristics of the Testing Requirement
19.3 The Management and Planning of Testing
19.4 Roles and Responsibilities
Product Development Manager
Development Project Manager
Senior Quality Assurance Analyst
Quality Assurance Analyst
20 Case Study 6: Confirmit
20.1 Overview of the Organization
20.2 Characteristics of the Testing Requirement
20.3 The Management and Planning of Testing
20.4 Roles and Responsibilities
Confirmit Head of Research and Development
Quality Assurance Manager
Client User Representatives
Part Three The Appendices
Appendix A Terms of Reference for Testing Staff
Characteristics of a Testing Manager
Characteristics of a Test Team Leader
Characteristics of a Test Analyst
Characteristics of a Tester
Independent Test Observer
Characteristics of an Independent Test Observer
Appendix B Testing Guides
Testing Techniques (see Chapter 3)
Integration Testing Guide
Purpose of Integration Testing
Testing Techniques (see Chapter 3)
Purpose of System Testing
Testing Techniques (see Chapter 3)
Systems Integration Testing Guide
Purpose of Systems Integration Testing
Testing Techniques (see Chapter 3)
UserOperations Acceptance Testing Guide
Purpose of Acceptance Testing
Testing Techniques (see Chapter 3)
Purpose of Regression Testing
Testing Techniques (see Chapter 3)
Appendix C Test Plan Document Template
Test Plan Document Front Sheet
1.2 Structure of the Document
2 Test Approach and Constraints
4 Test Assumptions and Exclusions
5 Entry and Exit Criteria
6 Testing Project Controls
6.2 Roles and Responsibilities
6.3 Training Requirements
Appendix D Test Specification Document Template
Test Specification Document Front Sheet
1.3 Structure of the Document
2.2.3 Test Result Categories
2.4 Staff Roles and Responsibilities
2.5.3 Acceptance Criteria
2.5.4 Test Error Clearance
3.2.4 Test Script Preparation
3.3.1 Test Execution Procedure
3.3.2 Filing of Completed Test Result Record Forms
Appendix E Test Script Template
Appendix F Test Result Record Form Template
Appendix G Test Log Template
Appendix H Test Certificate Template
Appendix I Reuse Pack Checklist
I3 Contents of a Reuse Pack
I4 How to Use the Reuse Pack
Appendix J Test Summary Report Template
Test Summary Report Front Sheet
1.2 Structure of the Report
Appendix K Equivalence Partition Example
K3 Analyzing the Testing Requirements
K4 Designing the Test Cases
Appendix L Boundary Value Analysis Example
L3 Analyzing the Testing Requirements
L4 Designing the Test Cases
Appendix M State Transition Example
M3 Analyzing the Testing Requirements
M4 Designing the Test Cases
Appendix N Pairwise Testing Example
N3 The Pairwise Testing Solution
N3 Pairwise Testing in Practice
Appendix O Automated Testing Tool Selection Criteria
O3 Support for Testing Phases and Techniques
O4 Support for Testing Management
O6 Tool Defect Analysis Facilities
O7 Tool Documentation Issues
O8 Tool Integration Issues
O11 Training and Consultancy Issues
O12 Contractual and Financial Issues
Appendix P Usability Testing Overview
P2 Roles and Responsibilities
Appendix Q Testing Process Health Check
Q3 Testing and the Software Development Process
Q5 Roles and Responsibilities
Q7 Optional Evaluation Scheme
Appendix R The Testing of Object-Oriented Software
R2 Object-Oriented Development
R3 Impact of OO Development on Test Management & Planning
R4 Impact of OO on Test Design
Appendix S Pragmatic Test Process Adoption – a Real-World Example
S2 Test Process Adoption – a Real-World Example
Bugs, Defects, and Problems
Managing Stakeholder Expectations