| |
| |
Preface | |
| |
| |
| |
The Rapid Testing Process | |
| |
| |
| |
Introduction to Rapid Testing | |
| |
| |
Basic Definitions for Software Testing | |
| |
| |
What Is Rapid Testing? | |
| |
| |
People | |
| |
| |
Integrated Test Process | |
| |
| |
Static Testing | |
| |
| |
Dynamic Testing | |
| |
| |
Developing a Rapid Testing Strategy | |
| |
| |
The Software Development Process | |
| |
| |
A Waterfall Test Process | |
| |
| |
Requirements Analysis | |
| |
| |
Test Planning | |
| |
| |
Test Design, Implementation, and Debugging | |
| |
| |
System Test | |
| |
| |
Acceptance Test | |
| |
| |
Maintenance | |
| |
| |
Tying Testing and Development Together | |
| |
| |
What's Next | |
| |
| |
References | |
| |
| |
| |
Requirements Analysis and Testing | |
| |
| |
The Requirements Process | |
| |
| |
Eliciting Requirements | |
| |
| |
Requirements Definition | |
| |
| |
Requirements Specification | |
| |
| |
Requirements Traceability Matrix | |
| |
| |
Requirements Testing | |
| |
| |
What to Look for When Testing Requirements | |
| |
| |
The Use of Prototypes | |
| |
| |
Testing in an Evolutionary Prototyping Life Cycle | |
| |
| |
What's Next | |
| |
| |
References | |
| |
| |
| |
Test Planning | |
| |
| |
Test Strategy | |
| |
| |
Define the Scope of Testing | |
| |
| |
Define the Testing Approach | |
| |
| |
Define Testing Criteria and Quality Checkpoints | |
| |
| |
Define Automation Strategy | |
| |
| |
Defining the Test System | |
| |
| |
Test Architecture | |
| |
| |
Test Tools | |
| |
| |
Test Environment | |
| |
| |
Test Configurations | |
| |
| |
Estimating the Test Effort | |
| |
| |
Identify Tasks | |
| |
| |
Determine Effort | |
| |
| |
Determine Duration and Construct Schedule | |
| |
| |
Assess Schedule Risk | |
| |
| |
Preparing and Reviewing the Test Plan Documents | |
| |
| |
Test Plan Format | |
| |
| |
Test Plan Reviews | |
| |
| |
What's Next | |
| |
| |
References | |
| |
| |
| |
Test Design and Development | |
| |
| |
Test Design | |
| |
| |
Define Test Objectives | |
| |
| |
Define Input Specifications | |
| |
| |
Define Test Configurations | |
| |
| |
Test Design Document | |
| |
| |
Developing Test Cases | |
| |
| |
Develop Detailed Test Procedures | |
| |
| |
Define Expected Results | |
| |
| |
Setups and Cleanups--Testing from a Known State | |
| |
| |
Test Case Template | |
| |
| |
Test Case Configuration Management | |
| |
| |
Verifying and Debugging Tests | |
| |
| |
Test Case Automation | |
| |
| |
What's Next | |
| |
| |
References | |
| |
| |
| |
System Testing | |
| |
| |
Finding and Tracking Bugs | |
| |
| |
Define Bug States | |
| |
| |
Bug Tracking Essentials | |
| |
| |
Write Bug Reports | |
| |
| |
Bug Reviews | |
| |
| |
Running Tests | |
| |
| |
Entry into System Testing | |
| |
| |
Test Cycles | |
| |
| |
Log Test Results | |
| |
| |
Reporting Test Results | |
| |
| |
Test Status Report | |
| |
| |
Bug Status Report | |
| |
| |
Test Summary Report | |
| |
| |
Exit Criteria and Release Readiness | |
| |
| |
What's Next | |
| |
| |
| |
Putting It All Together: People and Process | |
| |
| |
The People Side of Testing | |
| |
| |
Traits of a Successful Test Engineer | |
| |
| |
Traps to Avoid | |
| |
| |
Interviewing Tips | |
| |
| |
Improving the Test Process | |
| |
| |
The Software Engineering Institute's Capability Maturity Model (CMM) | |
| |
| |
Relationship of the CMM to Rapid Testing | |
| |
| |
An Approach to Process Improvement | |
| |
| |
What's Next | |
| |
| |
References | |
| |
| |
| |
Rapid Testing Techniques and Tips | |
| |
| |
| |
Introduction to Testing Techniques and Tips | |
| |
| |
The Scope of Testing Techniques | |
| |
| |
Development Life Cycle | |
| |
| |
Benefits of Rapid Testing | |
| |
| |
Definition of Static Testing | |
| |
| |
Definition of Dynamic Testing | |
| |
| |
Life Cycle of a Bug | |
| |
| |
Formal Test Phases | |
| |
| |
Responsibilities of Test Team Members | |
| |
| |
What's Next | |
| |
| |
| |
Joint Application Requirements (JAR): A Method for Eliciting Requirements Using Rapid Testing | |
| |
| |
JAR Methodology | |
| |
| |
Roles of the Test Engineer in a JAR | |
| |
| |
Summary | |
| |
| |
| |
Static Testing Techniques and Tips | |
| |
| |
Cyclomatic Complexity and Its Relationship to Test Executions | |
| |
| |
Example of Graphing the Design of a Module | |
| |
| |
Formal Reviews | |
| |
| |
Using Checklists | |
| |
| |
Audits | |
| |
| |
Inspections/Walkthroughs/Peer Reviews | |
| |
| |
Inspection Team Roles and Responsibilities | |
| |
| |
Reporting on the Inspection Process | |
| |
| |
Metrics for the Inspection Process | |
| |
| |
Using e-mail or an e-App to Streamline Inspections | |
| |
| |
Formal Verification | |
| |
| |
Specification-Based Languages | |
| |
| |
Automated Theorem Proofs | |
| |
| |
Testing Automation/Tools | |
| |
| |
Requirements Traceability | |
| |
| |
Physical Units Checker | |
| |
| |
Symbolic Execution | |
| |
| |
Cross-Reference Listings | |
| |
| |
Pretty Printers | |
| |
| |
Version Comparators | |
| |
| |
Algorithm Testing | |
| |
| |
Test Support Facilitator | |
| |
| |
Shared Issues Databases | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Dynamic Testing Techniques and Tips | |
| |
| |
Functional Testing and Analysis | |
| |
| |
Equivalence Partitioning | |
| |
| |
Boundary Value Analysis | |
| |
| |
Negative Testing | |
| |
| |
Risk-Based Testing | |
| |
| |
Path Coverage Testing | |
| |
| |
Use-Case Testing | |
| |
| |
Bebugging/Mutation | |
| |
| |
Tracing/Tracebacks/Snap Dumps/Post-Mortem Dumps | |
| |
| |
Breakpointing/Patching | |
| |
| |
Data Flow Testing | |
| |
| |
Testing for Memory Leaks | |
| |
| |
Human-Computer Interface Testing | |
| |
| |
Load Performance Testing | |
| |
| |
Platform Configuration Testing | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Developing and Using Testing Metrics: Modeling and Forecasting Bugs | |
| |
| |
Definition of Metric and Measurement | |
| |
| |
Using Standard Metrics to Make Improvements | |
| |
| |
Metrics for Testing | |
| |
| |
Bug Density (Bugs/KSLOC) | |
| |
| |
Project-Based Bug Model | |
| |
| |
Software Error Estimation Program (SWEEP) | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Testing Effort Estimation Techniques and Tips | |
| |
| |
Using Mathematics to Estimate Software Developments | |
| |
| |
Function Point Technology | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Rapid Testing Examples | |
| |
| |
| |
Example Requirements | |
| |
| |
Test Management Toolkit Release 1.0 Requirements Definition | |
| |
| |
| |
Example Test Plan | |
| |
| |
Test Management Toolkit Release 1.0 Test Plan | |
| |
| |
| |
Test Design and Development Examples | |
| |
| |
Test Management Toolkit Release 1.0 Test Procedure Specification | |
| |
| |
| |
Example System Test Summary Report | |
| |
| |
Test Management Toolkit Release 1.0 Test Summary Report | |
| |
| |
Index | |