Regression Tests
Regression testing is used to confirm
that fixed bugs have, in fact, been fixed, that new bugs have not
been introduce in the process, and that features that were proven
correctly functional are intact. Depending on the size of a project,
cycles of regression testing may be performed once per milestone or
once per build. Some bug regression testing may also be performed
during each acceptance test cycle, focusing only on the most
important bugs. Regression tests can and should be automated.
Conditions during which regression tests may be run:
Issue-fixing cycle:
Once the development
team has fixed issues, a regression test can be run to validate the
fixes. Tests are based on the step-by-step test cases that were
originally reported.
- If an issue is confirmed as fixed,
then the issue report status should be changed to Closed.
- If an issue is confirmed as fixed,
but with side effects, then the issue status report should be
changed to Closed. However, a new issue should be filed to report
the side effect.
- If an issue is only partially
fixed, then the issue report solution should be changed back to New
and a comment added as to why the issue has been reopened.
Open-status regression cycle:
Periodic regression
tests may be run on all open issues in the issue-tracking database.
During this cycle, issue status is confirmed as one of the following:
the report is reproducible with additional comments or modifications;
or the report is no longer reproducible.
Close-fixed regression
cycle:
In the final phase of
testing, a full-regression test cycle should be run to confirm the
status of all fixed-closed issues.
Feature regression
cycle:
Each time a new build
is cut or is in the final phase of testing a full regression test
cycle should be run to confirm that the proven correctly functional
features are still working as expected.
Last modified May 20, 2006