“Software testing is a process of software evaluation, to make sure that software does what it is designed to do and it does not do what is not expected”.
“Testing is a technique to examine the code and find the hidden bugs.” These are the definations of software testing but what is the defination of successful test case.
Every test engineer is familiar with this image when writing and executing test cases. Tester becomes happy when she/he looks at the green light and looks annoyed otherwise. Red light shows that bug is found and green light shows that all tests are clear. Is it really a true definition of successful test cases?
Lets consider the scenario where a person is taking his sick dog to the veterinary hospital. Doctor suggests some laboratory tests to diagnose the problem. What does it call if results of all suggested tests are clear, are these test cases are successful? we cannot say that tests are “successful” because dog is still sick and suggested tests are failed to find the problem. But if any of these tests could diagnose the problem then it is a successful test and doctor can give the required treatment to the dog.
Consider testing a software as dealing with sick person, try to write the test case which can switch on the red light of your testing framwork because successful test case is that when bug is found in code.