Testing vs Checking


Testing is the process of exploring, discovering and investigating a particular subject and learning from results, with the motivation of finding new information. In the field of information technology, when we configure, operate and observe the functioning of a product with the primary aim of finding a problem, it is called as testing.


Checking is the process for confirming, verifying and validating an existing belief. The process of checking in software testing commences by making a change in the code and seeing to it that the product or the system works in exactly the same way as before.

Below given, are few points, which differentiate the testing from the checking.

SNO. Testing Checking
1. Testing is done with the purpose of finding limitations in design of a product. Checking is when a code in a software product undergoes a change and we are required to test if the product works as good as before.
2. Testing pertains to the question, "is there a problem here?" Checking pertains to the question, "does this change pass?"
3. Such questions or assertions are open for interpretation by humans./td> Such questions or assertions tend to be machine decidable.
4. The conclusion achieved from testing is an open ended result. The conclusion achieved from checking is a binary result i.e. in the form of yes or no.
5. The results of testing can have a strong bearing on the question of whether the software application suffers from any fault. This process can help prove the existence of bugs but not their absence.
6. Testing helps give weight to the assumption that the checks have been useful in their application. One or more checks are borne out of the results from testing a software product so that the same problem doesn’t crop up again.
7. Comparing a product's functioning against a proven reference is not an activity to be performed by a testing professional. Comparing a program or the working of an IT product against a standard or proven reference is done by a checker.
8. The task of testing doesn't always require a detailed unambiguous low down on everything that's related to the functioning of the product under verification for testing. The task of checking requires a clear cut, updated specification based information devoid of any ambiguities to be a success.
9. The process of testing doesn't always require a test script to succeed. The process of checking almost always requires a test script to succeed.