Module testing is defined as a software testing type, which checks individual subprograms, subroutines, classes, or procedures in a program. Instead of testing whole software program at once, module testing recommends testing the smaller building blocks of the program.
Module testing is largely a white box oriented. The objective of doing Module, testing is not to demonstrate proper functioning of the module but to demonstrate the presence of an error in the module.
Module level testing allows to implement parallelism into the testing process by giving the opportunity to test multiple modules simultaneously.
Why to do Module Testing
Module Testing is recommended because
Probability of identifying errors or bugs on smaller chunks of program becomes higher
Multiple modules can be tested simultaneously and hence supports parallel testing
Complexity of testing can be easily managed
How to do Module Testing?
For Module Testing, designing a Test Case is an important segment. While designing test cases for a module test, a tester has to take two things into consideration.
Specification for the module
The module's source code
Analyze the module's logic by using one or more of the white box methods, and then supplement these test cases by applying black box methods to the modules specification
Once the test case is designed, the next step is to combine the module for testing. For this, the method used is either an Incremental or non-Incremental method.
Non-incremental method- all modules are tested independently. First, it combines all modules and then test the whole program
Incremental method- each module is tested first and then gradually incremented to the tested collection. It does a step wise retesting
Incremental Testing, there are two approaches – Top down and Bottom Up testing
To execute the module with the selected data, it requires a driver for supplying the test data, monitoring the execution and capturing the results
Example Tips for Module Testing
Here are few tips to consider before performing Module Testing.
Review test cases before using
Avoid confusion over source of discrepancies
Use Automated Test tools
Examine variables that should be unchanged
To avoid self-tests swap modules
Re-use the test cases
Unit Testing vs Module Testing
Module Testing
Unit Testing
Module tests are a collection of tests written by a tester after some code has been written by a developer
Unit tests are a collection of tests written by a developer during the software development process
Module testing might be involve combining the units test
So here we go with the top challenges in Module Testing
Non-incremental testing requires more work
Misunderstanding test doubles
Debugging test often
Need to understand the code
Summary:
In Software Engineering, Module testing (unit testing) is a process of testing the individual subprograms, subroutines, classes, or procedures in a program
The advantage of Module testing is that the probability of identifying errors or bugs on smaller chunks of program becomes higher
For module testing method used is either an Incremental or non-Incremental method.