Goal of testing

Testers test a program to demonstrate the existence of a fault and not the absence of it.

Fact: all software has bugs.

If all your tests pass and do not detect any bugs, it does not change the fact that the software still has undiscovered bugs. Take the example of a car mechanic. You hear a strange noise and ask the mechanic to investigate. The guy runs a battery of tests on your car and report that all of the tests passed and there is no problem while in fact there is a problem.

Mere passing of existing set of tests do not prove the absence of bugs. The tester has to anticipate customer mistakes and verify that the product can handle them gracefully. Ultimately as a tester you cannot possibly detect all bugs in the software within the constraints of time and resources. What you can do is to find the ones that are most important to stakeholders.

Because the goal is to discover faults, a test campaign is truly successful when a defect is discovered or a failure occurs. Defect detection is the process of identifying the defect and determining the cause of failure; Defect correction or removal is the process of making changes to the system to remove the defect.