©2011 Viera K. Proulx
As the programs grow, the number of unit tests grows as well. Any change in the program in one place may break the code in another section. To make sure that changes to a large program do not introduce new bugs, we need to run all the unit test again and again. At this point, we need to design a driver for the test suite that would allow us to run all tests easily, or to run only selected tests when needed.
We will look at the regression test suite for the tester
library to see how this can be done.
Integration testing works at a higher level. Assuming that several program components work correctly, the Integration Tests verify the interaction between the program module and the overall integrity of the whole program suite.
Integration testing depends heavily on correct specification of the
behavior and constraints for every module in the project. This is a
very difficult task. Numerous tools and programming language
constructs address these concerns and seek to provide support for this
higher level of program correctness verification.
Other that describing the problem, integration testing is beyond the scope of this workshop.