Essential Metrics for the QA Process
Shreya Bose, Technical Content Writer at BrowserStack - September 2, 2020
As an indispensable part of the software development process, Quality Assurance (QA) has become a fixture in developers’ and testers’ lives. Since websites and apps have become more complex in the last few years, the QA process has become equally drawn-out. Richer websites and apps usually require more comprehensive testing (more features, more functions) and must be cleared of thousands of bugs before they become suitable for public release.
Naturally, the QA process needs to be meticulously planned out and monitored so that it can be adequately successful. The most effective way to track the efficacy of QA activities is to use the correct metrics. Establish the markers of success in the planning stage, and match them with how each metric stands after the actual process.
This article will discuss a few essential QA metrics that must be set and observed throughout the process to ascertain its performance.
The Right Questions to Ask
Before deciding on what Quality Assurance metrics to use, ask what are the questions these metrics are meant to answer. A few of the questions to ask in this regard would be:
- How long will the test take?
- How much money does the test require?
- What is the level of bug severity?
- How many bugs have been resolved?
- What is the state of each bug – closed, reopened, postponed?
- How much of the software has been tested?
- Can tests be completed within the given timeline?
- Has the test effort been adequate? Could more tests have been executed in the same time frame?
Absolute QA Testing Metrics
The following QA metrics in software testing are absolute values that can be used to infer other derivative metrics:
- Total number of test cases
- Number of passed test cases
- Number of failed test cases
- Number of blocked test cases
- Number of identified bugs
- Number of accepted bugs
- Number of rejected bugs
- Number of deferred bugs
- Number of critical bugs
- Number of determined test hours
- Number of actual test hours
- Number of bugs detected after release
Derived QA Testing Metrics
Usually, absolute metrics by themselves are not enough to quantify the success of the QA process. For example, the number of determined test hours and the number of actual test hours does not reveal how much work is being executed each day. This leaves a gap in terms of gauging the daily effort being expended by testers in service of a particular QA goal.
This is where derivative software QA metrics are helpful. They allow QA managers and even the testers themselves to dive deeper into issues that may be hindering the speed and accuracy of the testing pipeline.
Some of these derived QA metrics would be:
- Test Effort
Metrics measuring test effort will answer the following questions: “how many and how long?” with regard to tests. They help to set baselines, which the final test results will be compared to.
Some of these QA metrics examples are:
- Number of tests in a certain time period = Number of tests run/Total time
- Test design efficiency = Number of tests designed/Total time
- Test review efficiency = Number of tests reviewed/Total time
- Number of bugs per test = Total number of defects/Total number of tests
- Test Effectiveness
Use this metric to answer the questions – “How successful are the tests?”, “Are testers running high-value test cases?” In other words, it measures the ability of a test case to detect bugs AKA the quality of the test set. This metric is represented as a percentage of the difference between the number of bugs detected by a certain test, and the total number of bugs found for that website or app.
(Bugs detected in 1 test / Total number of bugs found in tests + after release) X 100
The higher the percentage, the better the test effectiveness. Consequently, the lower the test case maintenance effort required in the long-term.
- Test Coverage
Test Coverage measures how much an application has been put through testing. Some key test coverage examples are:
- Test Coverage Percentage = (Number of tests runs/Number of tests to be run) X 100
- Requirements Coverage = (Number of requirements coverage/Total number of requirements) X 100
- Test Economy
The cost of testing comprises manpower, infrastructure, and tools. Unless a testing team has infinite resources, they have to meticulously plan how much to spend and track how much they actually spend. Some of the QA performance metrics below can help with this:
- Total Allocated Cost: The amount approved by QA Directors for testing activities and resources for a certain project or period of time.
- Actual Cost: The actual amount used for testing. Calculate this on the basis of cost per requirement, per test case or per hour of testing.
- Budget Variance: The difference between the Allocated Cost and Actual Cost
- Time Variance: The difference between the actual time taken to finish testing and planned time.
- Cost Per Bug Fix: The amount spent on a defect per developer.
- Cost of Not Testing: Say, a set of new features that went into prod need to be reworked, then the cost of the reworking activities is basically, the cost of not testing.
- Test Team
These metrics denote if work is being allocated uniformly for each team member. They can also cast light on any incidental requirements that individual team members may have.
Important Test Team metrics include:
- The number of defects returned per team member
- The number of open bugs to be retested by each team member
- The number of test cases allocated to each team member
- The number of test cases executed by each team member
- Defect Distribution
Software quality assurance metrics must also be used to track defects and structure the process of their resolution. Since it is usually not possible to debug every defect in a single sprint, bugs have to be allocated by priority, severity, testers availability and numerous other parameters.
Some useful defect distribution metrics would be:
- Defect distribution by cause
- Defect distribution by feature/functional area
- Defect distribution by Severity
- Defect distribution by Priority
- Defect distribution by type
- Defect distribution by tester (or tester type) – Dev, QA, UAT or End-user
Pinning down the right metrics, and using them accurately is the key to planning and executing a QA process yielding the desired results. QA metrics in Agile processes are especially important since managers have to pay close attention to the most minute goals being worked towards and met in each sprint. Polished and specific metrics helps testers stay on track, and know exactly what numbers they have to hit. Failing to meet those numbers means that managers and senior personnel need to reorient the pipeline. This also enables the effective use of time, money, and other resources.
Needless to say, the entire QA process hinges on the use of a real device cloud. Without real device testing, it is not possible to identify every possible bug a user may encounter. Naturally, undetected bugs cannot be tracked, monitor, or resolved. Moreover, without procuring accurate information on bugs, QA metrics cannot be used to set baselines and measure success, This is true for manual testing and automation testing.
Use BrowserStack’s cloud Selenium grid of 2000+ real browsers and devices to run all requisite tests in real user conditions. Manual testing is also easily accomplished on the BrowserStack cloud. Sign Up for free, choose the requisite device-browser combinations, and start testing.