Once the development team has made significant progress towards a stable build or a milestone, the build manager typically builds a software installation for the Quality Assurance (QA) team to use for system testing. The goal of system testing is to prepare the software application for a milestone, such as a release. A system testing project represents all developers’ work that is ready for system testing; it contains the versions of the files, directories, and products used for system testing and release preparation.
Because developers continue to complete tasks as they develop and test their changes, the integration testing projects continue to pick up the developers’ latest changes. The build manager needs to prepare the more stable system testing projects as an area insulated from developer’s newly checked in changes.
When a build manager updates the build management projects to build them for system testing, he specifies an exact list of tasks to be tested. By managing the exact list of tasks that are included in the software, the team can fix, build, and retest the software until it meets their quality standard. The system test cycle is often iterative—the team may build, test, fix, and add tasks many times before the software reaches the wanted quality standard.
Consider a build manager who is updating the system testing projects for release editor/2.0. The build management projects are set up as follows:
The build manager initially sets the System Testing project grouping to pick up the latest Integration Testing baseline, in preparation for a new system test cycle. The system testing then iterates through the following steps: