

The system of every software product consists of different elements that form modules, levels and subsystems. Each such element ensures the proper functionality of the whole system. All constituent parts of the product system are interrelated and interconnected.
The high quality of the software program is ensured by thorough software testing that can check either separate system level (module testing, integration testing) or the whole system (functional testing, system testing).
Module testing or unit testing is executed in order to verify the proper work of every particular system element. Unit or module is the minimal program component that can be tested. This can be a feature, method, function, etc.
A set of special tools for unit testing is available. These tools will provide effective and efficient testing of system modules. Often the specialists use such tools as JUnit (Java framework), PHPUnit (PHP framework), .Net, etc.