CSC/ECE 517 Fall 2009/wiki1b 4 xy
Functional and integration testing and beyond
Integration testing
Integration testing is the next phase of unit testing. Generally in software development complete software is divided into various sub-systems mostly developed by different teams. More often than not each sub-system works very well individually but when they are integrated then lot of problems.
There are many approaches that can be followed for Integration Testing
- Big-Bang: As the name suggests all the components are integrated at once. After all the integration is completed a set of tests are run which not only validate a single component of sub-system but also test and validate the interaction between different components.
- Disadvantages:
- Debugging and solving a fault is not that trivial. Because since this type of testing is done for the first time one cannot be sure whether the bug found was present in any sub-system or interaction between different sub-systems.
- Testing process cannot be started until all the sub-systems have finished their development.
- Writing test cases are also non-trivial.
- Disadvantages:
- Incremental Testing: As the name suggests testing is done after integration of one sub-system at a time. This solves the disadvantages of the Big-Bang.
- Disadvantages:
- This approach is a time taking process. For a large system
- Disadvantages: