Regression Planning is a Release Planning feature that allows you to define and map out coordinated sets of testing activities to ensure your existing functionality continues to work as designed. This is particularly critical for development projects in which new features are added.
A regression plan can contain multiple Regression Suites. Regression suites represent a set of related regression tests within a regression plan that, together, ensure proper functioning within a given aspect of the application. Teams can build and manage an inventory of regression tests, create test plans for each new release, and manage the testing activities within the course of the team's sprint/iteration schedule.
Regression Testing is an optional set of functionality that can be disabled or enabled through the Administration component.
Accessing Regression Planning
From the main menu, select Release Planning > Regression Planning.
Working with Regression Planning
From the Regression Planning page, you can:
To see a demonstration of these functions at work, click the Show Me video to the right.
Building a Regression Plan
Any one project or release can have multiple regression plans to organize testing activities. For example, you can create different plans for core functionality testing, new features, and performance testing. A plan can consist of a number of suites, each of which is made up of a number of individual regression tests. The regression suites act as templates for the test sets, which are generated to represent testing activities performed throughout the release. An owner may be assigned to a regression plan or suite to indicate the person responsible for coordinating its testing activities.
A single regression suite is typically executed under a number of different environments. The combination of a suite and an environment creates a test set, which is the asset you can schedule before or during sprint planning and execute its tests. The process of generating a test set creates an acceptance test for each assigned regression test under the suite. The acceptance test is the executable form of a regression test.
How Does Regression Planning Fit Into the Big Picture?
The graphic below shows the relationships between Regression Planning and other Release Planning assets (projects, regression suites, test sets, regression tests, acceptance tests, backlog items, sprints).
At a high level, the process is as follows:
Deliver new backlog items with acceptance tests detailing the acceptance criteria.
Generate new regression tests from acceptance tests to allow continued testing of this new functionality.
Create a regression plan for a new release to ensure existing functionality continues to work.
Create regression suites under the plan to organize the required testing.
Associate each regression suite with a set of regression tests to detail the functionality to be confirmed.
Pair regression suites with an environment to generate a test set to be scheduled for execution within a given sprint; in the process, each regression test becomes an executable acceptance test.
Schedule the test set for execution during sprint planning.
Run the tests for the selected environment.
Create new defects for any failed acceptance tests and re-run the test set after the defects have been fixed.
As necessary, the regression suite is used to generate new test sets in future sprints (for the same or different environments).