No amount of testing can demonstrate that software contains no defects; it can only demonstrate that a particular defect exists.
It’s like flipping a coin. Once flipped, the outcome is a past event and cannot be changed. The only thing I don’t know is how the event came out. To know that, I must look at the coin. Once the software is compiled, its performance is a past event and cannot be changed. Testing only reveals its performance.
Testing does not improve quality.
Write the tests for the following program:
In the Summary section there is a defect seeded program to try out your test cases.
Common Problems in Software Testing
True Horror Story
While managing a medical device software team, a key Quality Assurance person insisted that we perform more exhaustive testing of an operating system security patch before allowing our customers to install the security patch onto our systems. Since the patch was written in response to an Internet worm, the customers were frantic to install the patch. However, since our system was a medical device, customers could not install anything without our written permission.
I asked the QA person point blank: "Are you willing to increase the risk to the customers so you can reduce the risk to the test documentation?"
"Yes" was the QA answer. QA's test philosophy was clearly documentation-based, not product-based.
Thankfully, they were overridden by everyone else (including the FDA, when we called them!) and the customers began installing the security patch the next day.