Testing mission, objectives and success metrics
Aug 8, 2022 by Rabih Arabi
What is the purpose and objective of testing?
Before performing any testing activities, it’s
critical to understand the major aspects of testing. Sometimes a set of test activities fails to deliver any value to
the business, even if it’s technically correct and functioning properly. As a result, we need to
define the three primary elements of that stage: The test stakeholders, the test mission and the
test objectives. Most of the time, stakeholders are not involved or even identified, making it
difficult to determine how to align the testing process and strategy with something they value. It’s
important to remember that testing shall cover both verification and validation — in other words,
the test activities should assess what to do and how to do it.
We should work directly with
each test stakeholder or a representative of that stakeholder group to understand their testing
expectations and objectives. This might seem straightforward, but once the process begins, most
stakeholders cannot respond to simple questions such as, "What are your testing expectations?" It’s
likely the stakeholders won’t have thought about this in advance, at least, not in depth. Therefore,
the initial response is usually along the lines of, “just make sure the system works well.” Of
course, this is an unattainable goal due to two fundamental testing principles: First is the
impossibility of exhaustive testing. Second is testing's ability to detect but not demonstrate the
absence of problems.
As a result, the individual stakeholder’s quality needs and expectations
should be discussed with respect to how far testing can realistically help the organization achieve
its objectives.
A typical mission statement might look like this:
“To help our
automotive OEMs and Tier 1s deliver a software product that meets or exceeds their end users’
expectation of quality.”
In this context, the word ‘help’ means to assist (cooperate
effectively with) others involved in the software process to deliver software quality. The goal here
is to make software quality a team goal not just the testers' responsibility.
Whereas,
mission statements like this should be avoided:
“To ensure that our customers receive a
software product that meets or exceeds their expectations of quality.”
This mission statement
is flawed in two ways: It ignores software development and maintenance (as well as other team
members) and reduces software quality to a testing issue. Also, it uses the word ‘ensure’ which, in
this context, means making certain that customers and users are satisfied, if not delighted with the
quality of the software. However, testing is an important component of a larger quality plan, but it
can’t guarantee quality on its own.
Given an achievable mission for testing, we can set
objectives to help us realize it. While the objectives may vary, we usually consider one or more of
the following, or any other applicable objectives based on the project requirements and
nature:
Find critical defects — critical defects significantly undermine
customers’ or users’ perception that their quality expectations had been met (i.e., defects that
could affect customer or user satisfaction). Finding defects helps by providing information which
can be used to fix defects before release.
Find non-critical defects — while the
focus of testing should be on critical defects, there’s also value in discovering defects that are
merely annoying, inconvenient or productivity draining. Even if not all non-critical defects are
fixed (which is frequently the case), many can be identified. After-sales, customer service, or help
desk staff can resolve production failures and reduce user frustration more effectively, especially
if the test team discovers and documents workarounds.
Manage quality risks —
while testing can’t eliminate the risk of quality problems, it does reduce the risk of undiscovered
defects. We can achieve the highest level of quality risk management by selecting tests that relate
to the most critical quality risks. The greatest degree of risk reduction is achieved early in the
test execution period if those tests are run in risk order. A risk-based testing strategy like this
enables the project team to achieve a known and acceptable level of quality risk before putting the
software into production.
Build confidence — organizations, and particularly
senior management, dislike surprises. After completing a software development or maintenance
project, they want to know that the testing was adequate, the quality will satisfy customers and
users, and the software is ready for release. While testing can’t provide 100% certainty, it can
provide important information that gives the team an accurate sense of how confident they should
be.
Generate information on the item under test — testing takes place within the
context of the development and maintenance project and must meet the needs of project stakeholders.
This entails collaborating with those stakeholders to develop efficient and effective procedures,
and service-level agreements, particularly for processes involving hand-offs between two or more
stakeholder teams.
Test managers must collaborate with relevant stakeholders to establish
reasonable entry criteria and quality gates when work products are to be delivered to or from
testing. The gathered information can be used for a variety of purposes, including: Improving test
cases when shared with the test team; leveraging the information to remove defects; increasing code
quality; learning to create better code; and making better decisions based on the provided
information. All of these actions lead to better and higher product quality.
Aside from the
testing mission and objectives, the test policy should define how testing fits within the
organization’s quality policy, if there is one.
If no quality policy exists, it's important
to avoid referring to this document as a ‘quality assurance policy’, because testing can’t guarantee
quality on its own, as highlighted earlier. Apart from that, quality assurance and testing are not
the same, but they are related; a larger concept of quality management ties them together.
Before defining any metrics, we need to understand why we define them and how to use them
appropriately. Any test manager first defines the test goals, as testing aims to achieve test
objectives. The team must develop a way to measure objectives (metrics) to evaluate whether they’ve
been met.
Using metrics that aren't aligned or tied to test objectives is ineffective and
could harm both the team and business. We all know that not having defined goals, destinations,
objectives, or success criteria is a major issue. This type of uncertainty is one of the leading
causes of business failure, team demotivation, and in certain circumstances, even career
termination.
Measuring where we are now can help us figure out how much further we need to go to reach our
objectives. Test managers must be capable of defining, tracking and reporting test progress
indicators.
We all agree that different projects have different requirements, setups and
circumstances, therefore they tend to have different test objectives. This is the main reason we
can’t apply one set of metrics to all projects. As a test manager, the first step you should take is
to define the related objectives, align them with the stakeholders and make sure they’re documented
in the test plan. It’s crucial that they are considered in the testing definition of
“done”.
After defining the test objectives, a set of related, reasonable and applicable
metrics should be defined to measure the testing efficiency, effectiveness and satisfaction. This
helps provide insights into the test status of the project and supports decision-making for the
defined test objectives. We should understand that metrics are only indicators and we shouldn’t work
toward fulfilling them. This is because defining these metrics is massively affected by the overall
project conditions, the team, organizational behavior and dependence on other teams (requirement,
development, etc.) and so on. Therefore, the test manager should be careful while defining test
metrics, planning them properly and monitoring them continuously to avoid any unintended side
effects.
Let’s take one example of test objectives and related test metrics:
One of
the major testing objectives is finding defects. It’s crucial to emphasize the importance of the
correct formulation of the objectives. As discussed earlier, the objective is to “find defects” not
“ensure software product quality”, since performing test activities can’t assure quality. As
testers, we rather assess and help customers, developers, product managers and others, to provide a
software/product that meets or exceeds their expectations of quality.
The first simple
effectiveness metric measures the defect detection rate (DDR) (i.e., the ratio between the
occurrences of the detected defect and the total number of defects). Another effectiveness metric is
the percentage of detected critical defects, or the ratio between the number of detected critical
defects and the total number of defects found.
The efficiency of finding defects can be
measured by using the percentage of rejected defects (i.e., the ratio between the number of rejected
defects and the total number of defects). A customer survey can help measure satisfaction, while an
internal survey measures team satisfaction with the test process and other workflows. A set of
methods and tools support the initiation of surveys (e.g., IBM, HP and so on).
Various
departments within the organization can help set up a customer survey. Here’s the procedure for
running a survey (for internal use):
Testing metrics can be classified as follows:
Metrics allow testers to report consistently and enable the coherent tracking of progress over time.
Test managers are frequently required to present results to stakeholders, ranging from technical
staff to executive management.
Also, because metrics can be used to determine the overall
success of a project, great care should be taken when deciding what to track, how often you report
it and the way you present the information. The test manager shall consider the following:
These are the test-metric stages:
It’s impossible to define all possible metrics, so we should start with what we want
to achieve, making sure the metrics are simple, relevant, and easy to interpret.
Here are
five steps to help you define your metrics:
Keeping these factors in mind leads to the creation of more helpful metrics. If suitable project
decisions can’t be made based on reported metrics, they become a pointless exercise. The goal
question metric (GQM) approach takes a set of goals identified by the department or project and
indicates a way to assess the achievement of those goals. This consists of a sequence of data per
question to answer each question quantitatively to assess performance. Metrics are often reported
daily, weekly or monthly. So, any solution that can generate and distribute reports while relieving
test managers and test engineers of tiresome, repetitive activities, should be considered.
The test process, a crucial part of successful testing, is often underestimated. Measuring the three
main aspects is easier said than done, but we need to understand why we define them and the
appropriateness of their usage.
Here are some definitions of efficiency, effectiveness and
satisfaction, including ways to measure them:
The examples of metrics and how to measure them shown below are not the full extent of possible
metrics — that depends on the project scope and goal.
Sources: ISTQB Expert Level © 2013, RBCS, ISTQB Foundation level, ISTQB Advanced level