The purpose of the Integration Test Stage is to ensure that the assembly of the system's components collaborate as intended, as well as that the increment has the right behavior. The system integrator compiles and links the system in increments. Each increment needs to go through testing of the functionality that has been added, as well as all tests the previous builds went through (regression tests).
Within an iteration, you will execute integration testing several times until the whole system (as defined by the goal of the iteration) has been successfully integrated. The output artifact for this activity are the test results.
At the end of an iteration, you should perform tests of the whole system. The focus in system testing is normally on the interaction between the system and its actors.
The tester is the main role involved in this discipline detail, however there is interaction with the implementer and system integrator. Additionally, if test classes and packages were necessary, there is additional interaction with these roles.
Test execution should be done under a controlled environment. This includes: