This lesson describes in more details
...
why complete testing is virtually impossible.
...
Find the document about the
...
topic mentioned in the lesson in the Resources section.
...
Discussed terminology:
...
distinct tests
...
Learning Objectives
The section discusses the impossibility of complete software testing due to the large number of test cases required. It also explores different testing strategies and the challenges associated with testing variables, user input, and invalid input. Understand the need to prioritize and optimize testing efforts to achieve thoroughness.
...
...
...
...
...
...
...
Video Highlights
Topic | Key Concepts | Video Location |
---|---|---|
This section discusses the impossibility of complete testing and introduces test estimation. |
| 00:01 |
Doug Hoffman illustrated the incompleteness of testing by running all four billion inputs into a function on a super fast computer, and it only took six minutes. |
| 02:09 |
Finding bugs in software cannot be done through exhaustive testing due to the enormous number of possible tests. |
| 04:19 |
Underflows, easter eggs, and invalid inputs can cause failures in programs, but testing for all possibilities is impossible. |
| 06:31 |
Learning Highlights
Software testing foundations, addressing the impossibility of achieving complete testing due to the vast number of variables, combinations, and user interactions. Emphasizing the limitations of exhaustive testing, the example of testing a function reading a 32-bit word illustrates the challenges. Doug Hoffman's case study on testing the MassPar computer reveals that even billions of tests may not be exhaustive, and overlooking certain inputs, unexpected user behaviors, or easter eggs can lead to critical issues. The lecture stresses the need for strategic, representative testing and acknowledges the impracticality of testing every possible scenario.
Read more about the impossibility of complete testing here.