6 Reasons Test Management is Critical in an Agile World
Don't use Agile as an excuse to avoid formal testing. There are lots of reasons that real test management is required.
Join the DZone community and get the full member experience.Join For Free
While test management can sometimes be viewed as a blocker on Agile teams, there are a number of benefits of test management that can’t be ignored. This is especially true for teams that want to improve their efficiency and avoid costly setbacks.
By improving efficiency and reducing waste in the testing process, test management helps to better prioritize while simultaneously reducing the time teams spend on problems after the software is delivered.
Here’s a closer look at the advantages of test management in an Agile world:
1. Prioritizing Your Tests
In an Agile world, testing different permutations and combinations of tests is not a possibility. This is why it’s critical for teams to prioritize tests for risky areas before releasing a product to the marketplace.
Identifying risky areas can be a simple process.
For example, you may have two different fields in your test management tool, such as impact and probability, which you grade on a scale of 1-10. (For example, for one of your product areas the impact may be 2 (low) and a probability may be 5 (average).
Multiplying these two values will give you a risk value. In this case, for instance, the risk value would be: 2 x 5 = 10.
The process can be taken a step further and the including impact and probability weights to different product functions.
The formula, in that case, changes to:
Impact (Weight for impact factor 1x value for factor 1 + Weight for impact factor 2x value for factor 2…. ) x Probability (Weight for probability factor 1 x value for this factor 1 + Weight for probability for factor 2x value for this factor 2)
A simple example could look like the following:
In this case, the impact consists of two factors: Usage frequency and visibility (for prospects and customers). I rate them on a scale of 1-10. Similarly, the probability consists of three factors:
- People involved
- Time pressure
Each of these factors are rated on a scale of 1-10. Next, I assign values from 1 to 10 to different functions in the product. And in the end, the weighted sum is calculated. In fact, using the weighted sum values in the below example, I would test Function B before A and C as it has the highest weighted sum and thereby most risky.
This can help save time in an Agile environment where sprints last just a couple of weeks.
2. Regulatory Compliance
In the case of regulated industries, such as medical devices, it is often required to document a number of details related to the tests.
- When were tests run?
- Who ran the test?
- What requirements did they cover?
A test management tool can come in handy in such a situation since it can automatically keep a log of these details for different tests run at different times.
3. Deciding When to Ship the Product
Test management allows you to objectively measure quality and track progress.
Historic trends can help you gain an understanding of how your efforts are progressing and, in turn, show the measurable business value of your testing efforts.
Reports such as: test results over the past seven days and tests per requirement, as per priority, can be helpful when making such a business decision.
4. Reducing the Duplication of Data
A test management tool can reduce duplication of data which traditionally occurs when requirements, tests, or defects are managed in a silo. It ensures everyone—from business analysts to developers, testers, and QA managers—has one view of the progress being made.
It gives team members an end-to-end view of: requirements, tests, and defects—ensuring that proper coverage exists. As you write more automated (GUI and API) tests, as well as manual tests over time, maintaining traceability between the requirements and defects raised in correspondence can become tough. Test management systems can help ensure proper API and functional GUI test coverage exists for requirements.
5. Improving Coverage of Manual Tests
Running a manual test through different data sets is often challenging and unproductive as it involves manually trying different sets of data for specific test steps. A test management process can make the process of iterating an existing manual test through a variety of data set really easy, thereby increasing the coverage of existing manual tests.
Take the following example:
Here I have a manual test that tests the login functionality in three steps. The first step consists of entering JSmith@Acme.com as username, while the second and third steps consists of entering "Pass1234" as password and clicking the submit button respectively. Having a test management tool such as QAComplete can help increase the coverage of manual tests as now we can run login and password fields through different data sets at the click of a button. The sample data could look something like this:
6. Increasing Collaboration
The success of an Agile team is primarily based upon collaboration between different stakeholders. Test management ensures that dev and QA teams are on the same page, as different testing assets can be viewed as and when needed.
It helps reduce the silos of information that exist between different teams and gives people the same information whenever they need it.
One Question Still Remains:
If test management comes with so many benefits why are so many teams putting their trust in Excel to do it?
In our newest eBook, Test Management in an Agile World: Implementing a Robust Test Management Strategy in Excel and Beyond, we look at how teams are implementing test management and the steps you can take to bring your strategy to the next level.
Published at DZone with permission of Nikhil Kaul, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.