This lesson shows how hard it can be to find some complex bugs. It also mentions different activities which should be done by testers and why it is not possible to do everything because our time is always limited.
Learning Objectives
Understanding testing limitations to uncover all bugs, as shown by a real-world example of a phone system bug that went unnoticed during testing. How to spot certain long sequence bugs which can only be uncovered through extensive testing. What trade-offs between various testing tasks should be made as the infinite number of possible tests cannot all be conducted.
Video Highlights
Topic | Key Concepts | Video Location |
---|---|---|
Only a small percentage of tests can expose bugs, and extreme cases are often dismissed as unrealistic. |
| 00:01 |
The video discusses a bug in the code that caused call records to remain on the stack even after the caller hung up. |
| 02:23 |
Whole forwarding is a process where held calls are transferred to other phones, causing a rotating outage in the system. |
| 04:46 |
Long sequence bugs are difficult to find and are not easily detected with coverage or error-oriented testing. |
| 07:10 |
Learning Highlights
In long sequence testing, even a small percentage of the vast number of possible tests can expose critical bugs. An example from a telephone system illustrates how a seemingly extreme case, repeating an action ten times without passing through a specific point, led to a real-world bug. Despite the belief that no one would conduct such a test, the bug occurred, causing a rotating outage. The example set in this section emphasizes the difficulty of anticipating all potential scenarios in testing and the challenges of making trade-offs among various testing tasks when facing an infinite set of testing possibilities.