Powerful Metrics for Testers
Date: Friday, January 08 @ 10:14:01 PST
Topic: Technical Article

Powerful Metrics for Testers
















MONTHLY
NEWSLETTER
























January 2010 -
Monthly Newsletters


Tools for Managing the Software Development
Lifecycle

Sponsored
Link





www.SoftwarePlanner.com



Software Planner is an

award winning
web-based
application lifecycle management (ALM) solution. Tracks requirements, defects, test cases, support tickets, and allows
document sharing. Provides project management, with
importing/exporting from Microsoft Project®,
customizable dashboards and Microsoft Outlook®
Synchronization. Integrates with most major
automated testing tools.

Powerful Metrics for Testers


















Insanity is defined as
"doing the same things
over and over and
expecting a different
result". As a
tester, it is easy to
get into a rut of doing
the same thing over and
over again but never
really improving your
test process or
identifying things that
can aid in bringing real
success to your job.
To improve, we need to
understand our goals and
measure our progress
towards them. This
article discusses how
to develop metrics that
aid you in achieving
specific goals.



What are
Powerful Metrics?




Metrics are simply a way
to measure specific
things you are doing,
but you could create
hundreds of irrelevant
metrics that really
don't move you any
closer to solving your
everyday problems.
Powerful metrics
are a small set of
indicators that are
targeted to help you
accomplish a specific
set of goals.



Metrics Driven
by Specific Goals




Before defining your
metrics, ask yourself
"What goal(s) am I trying
to accomplish?
", then
write your goals down.
For example, typical
goals for a tester might
be to:





  • Ensure that each new
    feature in the
    release is fully
    tested


  • Ensure that our release date is realistic


  • Ensure that existing features don't break with the new release



Now that we have our
goals defined, let's
figure out how we can
create a set of metrics
to help us accomplish
them.



“Ensure that
each new feature in the
release is fully tested”

To do
this, we must have
assurance that we have
enough positive and
negative test cases to
fully test each new
feature. This can be
done by creating a
traceability matrix that
counts the number of
total test cases, number
of positive test cases
and number of negative
test cases for each
requirement:








































Requirement

# Test
Cases

#
Positive

#
Negative

Comments

Visual Studio
Integration

104

64

40

Good Coverage

Perforce
Integration

0

0

0

No Coverage

Enhanced Contact
Management
Reporting

45

45

0

No Negative Test
Case Coverage

Contact
Management
Pipeline Graph

10

8

2

Too few test
cases


“Ensure that
our release date is
realistic”

To do
this, we must have daily
running totals that show
us test progress (how
many test cases have
been run, how many has
failed, how many has
passed, how many are
blocked). By trending
this out, day-by-day, we
can determine if we are
progressing towards the
release date.

Software Planner

provides graphs that
make this easy:





Another way to do it is
to create a Burn down
chart that spans the
testing days. On the
chart, it will decrement
each day by the number
of outstanding test
cases still to be run
(awaiting run, failed or
blocked) and we can
compare those totals to
the daily expected
number to determine if
the release date is
realistic. Let's
assume we have a 2 week
QA cycle, we can define
the number of test cases
to run and daily we can
keep track of how many
are still left to
complete versus how many
should be left to
complete.





In the example above, we
can see that we are not
getting through the test
cases quickly enough.
On day 5, we are behind
schedule by 15 test
cases and we can see
this clearly on the Burn
down graph -- the red
area (actual test cases
left) is taller than the
blue area (expected test
cases left).



“Ensure that
existing features don’t
break with the new
release”

To do
this, we must run
regression tests (could
be manual or automated)
that tests the old
functionality. Note:
This assumes we have
enough test cases to
fully test the old
functionality, if we
don’t have enough
coverage here, we have
to create additional
test cases. With
regression tests, you
can normally stick to
“positive test cases”
with this group, unless
you know of specific
"negative test cases"
that would be helpful to
prevent common issues
once in production.
To ensure you have
enough of these test
cases, it is a good idea
to group the number of
regression test cases by
functional area.
Let's assume we were
developing a Contact
Management system and we
wanted to be sure we had
regression test cases
assigned to each
functional area of that
system:






























Functional Area

# Test
Cases

Comments

Contact
Management
Maintenance

25

Good Coverage

Contact
Management
Reporting

0

No Coverage

Contact
Management
Import Process

10

Good Coverage

Contact
Management
Export Process

5

Coverage may be
too light


To determine if release
dates are reasonable for
your regression testing
effort, use the same
Burn down approach
illustrated above.



Summary




As the new year begins,
dedicate yourself to
improving your job by
identifying your goals
and tracking metrics
that help you determine
how you are trending
towards your goals.
The metrics listed above
work fine for my team
but I would like to hear
what metrics you find
are helpful in your
organization. To
communicate that to me,
please fill out this
survey:

http://www.surveymonkey.com/s/DW656JZ
.




If we great feedback
from this, we will
publish the results in
our next month's article
so that we can all learn
from each other.






Helpful
Resources


Below are some helpful
resources and templates to aid you in developing software
solutions:




About the Author





Steve Miller is the
Vice President of ALM Solutions for AutomatedQA
(http://www.automatedqa.com).
With over 25 years of experience, Steve has
extensive knowledge in project management, software
architecture and test design. Steve publishes a
monthly newsletter for companies that design and
develop software. You can read other newsletters at


http://www.SoftwarePlanner.com/Newsletters.asp
.


AutomatedQA
Corporation





7935 E. Prentice
Ave, Suite 105

Greenwood Village, CO 80111 USA

Tel:+1 303.768.7480







This article comes from QANews.com
http://www.qanews.com

The URL for this story is:
http://www.qanews.com/article.php?sid=533