What is Module Testing?
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
Challenges in Module Testing
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
- 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.