9. Bug Isolation and Reporting
When testers are successful, they will come across bug symptoms. This section explains the fine
art of bug isolation – turning a symptom into a well-defined bug report. Also, the organizational
factors that need to be considered in order to maximize the chance of getting the bug fixed.
§ Exercise: Write a bug report based on the observed symptoms.
a. “A problem well-stated is half-solved.”
b. The Goal of Bug Reporting
c. The Importance of Reproducibility
d. Isolation and Simplification
i. Bottom-up
ii. Top-down
iii. The “binary defect search” technique
e. Generalization
f. Bug Reporting
i. Important Elements
ii. Working with Developers
iii. Follow-up
5
10. Static Testing
How to find bugs early without executing the software. An overview of a handful of review and
inspection techniques, and how testers should participate. Also, how to utilize static analysis tools
and services.
a. Reviews and Inspections
i. Desk Check
ii. Walkthrough
iii. Inspection
iv. Combining Review Techniques
b. Static Analysis Tools
i. Complexity Analysis
ii. Defect Detection
iii. Coding Standards Enforcement
11. Metrics
A sampling of metrics that the tester can use to demonstrate progress.
a. Code Coverage Analysis
b. Functional and Requirements Coverage
c. Bug Metrics
i. Find Rate vs. Close Rate
ii. Severity
iii. Bug Reviews
12. Process Improvement
The importance of making continual improvements, and the difficulties of big-bang reengineering.
How to approach process improvement.
a. Avoiding “Genius Mode” – Don’t Jump to Solutions
b. Identify the Problems
c. Prioritize
d. Identify Solutions
e. Choose a Solution
f. Manage the Improvement
13. Overview of Automated Testing
An introduction to the benefits and pitfalls of automated test execution. Situations where test
automation is most useful. How to avoid creating unmaintainable tests. How data-driven
techniques can allow non-programmers to create automated tests.
§ Exercise: For a variety of sample testing projects, decide where it is appropriate to apply
automation.
a. Why Automate Testing?
i. What Can Automated Testing Achieve?
ii. The Limits of Automated Testing
b. How Test Automation Tasks Are Typically Delegated
6
c. Critical Testware Maintenance Issues
d. Data-Driven Testing
