Testing is the process of running a program with the intention of finding errors.
Testing should be carried out systematically. It should never be done by intuition.
In many cases testing is top-down, module by module testing. However, testing from the bottom-up is also popular.
There are two main approaches to testing:
1. Black Box Testing
2. White Box Testing