After the development team makes 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 of the work of the developers
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 latest changes of the developers. The build manager must prepare
the more stable system testing projects as an area insulated from
newly checked in changes.
To update the build management projects to build them for system
testing, the build manager 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 the quality standard. The system test cycle is often iterative.
The team can 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:
- Each baseline project is initially set to the appropriate project
in the latest Integration Testing baseline.
- On subsequent iterations, the build manager stops the latest Integration
Testing baseline from being automatically brought into the system
testing project. Then, the build manager adds tasks as needed to get
the system testing build to the wanted quality level. The build manager
tests an exact list of tasks and wants only those tasks that are specified.
In preparation for a new system test cycle, the build manager initially
sets the System Testing project grouping to pick up the latest Integration
Testing baseline. The system testing then iterates through the following
steps:
- The build manager updates and builds the system testing
projects.
- The QA team tests the resulting software.
- The team reviews any problems that were found and
decides which of them must be fixed for this cycle.
- The team creates tasks for the problems that were
approved in step 3 and assigns them to developers.
- The build manager stops the System Testing project
grouping from picking up the latest Integration Testing baseline.
- After the developers complete the approved tasks,
the build manager adds them to the system testing project grouping.
The process starts again at step 1.
- Repeat steps 1 - 6 until there are no additional
problems to fix.
- Create the baseline.
- Release the baseline.