Any software product consists of a certain number of elements which ensure system functioning in accordance with the available requirements. One system component is somehow related to another component.
The sets of elements form the specified system levels of the software product under development. Software testing may include as the whole level (integration testing, acceptance testing), as well as a certain system component.
Unit testing or module testing is performed for checking the correct working of a certain system component. Unit is the smallest part of the application which can be checked. This may be a certain function, method, and etc.
What are the peculiarities of module testing?
- Integration testing is executed after unit checking, at that the specialists apply the white-box testing techniques.
- With the help of unit testing, not only positive tests are checked (right outcome when entering valid data) but also negative cases (entering invalid data).
- This type of checking defines the bugs at the early development stages, and that reduces the total cost of the project.
- As module testing is focused on one certain feature or system component then there is a little probability that the detected errors and also their removal will affect the work of other elements.
- Unit tests are rather easy to create and maintain.
- The process of code checking becomes easier with the help of unit tests as the scope of testing is huge and it is necessary to check the specified function or certain system component.
The special tools are developed, and they promote the execution of more effective unit testing. The specialists often use JUnit (Java framework), NUnit (.Net framework), and PHPUnit (PHP framework).