The system test cycle

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:

  1. The build manager updates and builds the system testing projects.
  2. The QA team tests the resulting software.
  3. The team reviews any problems that were found and decides which of them must be fixed for this cycle.
  4. The team creates tasks for the problems that were approved in step 3 and assigns them to developers.
  5. The build manager stops the System Testing project grouping from picking up the latest Integration Testing baseline.
  6. After the developers have completed the approved tasks, the build manager adds them to the system testing project grouping. The process starts again at 1.
  7. Repeat 1 - 6 until there are no additional problems to fix.
  8. Create the baseline.
  9. Release the baseline.

Feedback