There are numerous ways to perform software testing. However, we may test a software product by making or without making interaction with it. The concept of active and passive testing is based on the similar fact of having interaction or no-interaction with a software product in order to evaluate it.
It's a testing technique, where a tester generally interacts and directly executes testing activities over a software product in order to examine it. Generally, a tester feeds the software product with the test input data, and analyses the results, being provided or shown by the software system.
In this technique, a tester starts with a mental model of a software product, which gradually develops and enhanced during the course of consistent interaction with the software.
The basic working of the active testing technique may be seen through the following steps:
This testing methodology is just opposite to active testing. In this technique, a tester does not get interacted with a software product, and evaluates it just by observing and monitoring the working of the system. No test data are being used to test the software product.
Passive testing is generally conducted by the testing team where they only study and follows the script in order to get details about the software product. They just go through the test scripts in order to examine the procedures, considered for carrying out the testing such as how the testing will be performed, what will be tested, and many such things. This gives the insight of a testing process potential, to evaluate a software product.
Due to non-usage of brains by a tester, and just making decision based on the study, it is termed as passive testing. It may be carried out either manually or through automation. An automated test case makes a tester aware of the past workings, which may prove to be useful. Moreover, automation for passive testing may generates more free time for the active testing, if implemented well otherwise may have negative or degraded results.