Test Management in Agile Teams
CollabNet TeamForge provides continuous feedback loops through all phases of the software life cycle from plan, code, build and test to deploy. TestLink, a widely adopted open source product for test management, now tightly integrated with TeamForge provides the ability to create test case trackers and associate them with requirements. With TeamForge, users can execute test cases and store test results. TestLink utilizes a tracker to store test cases and also tie Test Plans into builds. With this integration, the test management features are available in TeamForge providing a comprehensive end-to-end ALM solution. For more information, see the blog “Test Management in TeamForge”.
This article describes how the traditional practice of managing test cases and plans has shifted in the agile world. Here’s an illustration of how Agile teams can benefit from adopting the Test Management feature as they manage the full software development life cycle. There is a company X is building a mobile product in a release cycle that’s planned for five sprints. A sprint typically spans over two weeks and the last sprint is a “hardening sprint” in which the team stabilizes the product. There is a planning week to start with, which is followed by four feature development sprints and a final hardening sprint. Here’s a picture that shows the release plan in timeline view.
The Scrum team works on one story per sprint. Each story has a Test Suite which is a container for Test Cases. The Test Cases have different scenarios and is attached to Test Suite. The scenarios can be happy path or negative testcases. In the diagram below you can see Story A, Story B, Story C and Story D with Test Suite A, Test Suite B, Test Suite C and Test Suite D respectively. Individual test cases are attached to Test Suites based on the complexity of the stories.
In this example, the team uses Jenkins with TestLink for Continuous Integration (CI) to build and run tests multiple times a day to provide early feedback to the Scrum teams. Then, creates a Test Plan for every sprint and the plans name in our case is Sprint 1, Sprint 2, Sprint 3 and Sprint 4.There will be multiple builds per day and several builds during the two week sprint. The picture below illustrates the process.
When the sprint is in progress there may be test cases that need to be executed for the stories in the current sprint, but sometimes there may be few test cases from the past release or past sprint that need to be executed for regression. The test cases will be assigned to a plan and the tests in the plan will be executed during the two weeks sprint. Consider both scenarios; see Sprint 1 has four test cases assigned to the test plan to execute but in Sprint 4 there are two test cases that belong to Sprint 4 and one test case from Sprint 1. This means you can reuse test cases of prior sprints in any test plan. During the hardening sprint there are specific test cases for the sprint and one test case from prior release. The diagram below describes the merging of plans with Test Cases.
The Scrum teams can easily create new plans sprint over sprint to pull test cases that they need to execute and the results are available by sprint. The Scrum team was executing all test cases manually and marked them PASS/FAIL. Later, the scrum team decided to automate most of the test cases and it was accomplished using automated tools as shown in the following illustration.
Some agile teams would like to change test cases many times within a sprint and having one Test Plan per sprint might be traditional. For this case you can have multiple Test Plans within a sprint like Sprint 1.1, Sprint 1.2, Sprint 1.3 and Sprint 1.4 as show below. The test cases can be unique in each one of this plan or reused between plans or cumulative from plan 1.1 to 1.4.
The CollabNet TeamForge-TestLink integration builds on top of TeamForge’ s capability to support the software development life cycle from plan, code, build and test to deploy. With TestLink integration, TeamForge now has the extended capability to create test case trackers and associate them with requirements and provide traceability and test management right from requirements through release. This article illustrated how tests can be managed in an agile team and how automation is embedded in the execution of Test Cases.
I’d like to hear what you think and what features you would like to see added. Please let me know firstname.lastname@example.org.