5 Ways To Revolutionize Your Software Testing
5 Ways To Revolutionize Your Software Testing
5 Ways To Revolutionize Your Software Testing
REVOLUTIONIZE
UTIONIZE
YOUR
OUR SOFTW
SOFTWARE
TESTING
By Dr. James Whittaker
01
INTRODUCTION
REVOLUTIONIZE YOUR QA
uring serious ship mode time, people often lose sight of the big picture
and concentrate solely on the day-to-day details of finding and resolving
bugs. Always being one to buck such trends, Ive come up for air and am
offering five insights that will revolutionize the way you test and, I hope, make
your team more effective.
INSIGHT 1 There are two types of code and they require different types of
testing
02
INSIGHT 1
03
historical context).
INSIGHT 1
04
INSIGHT 1
Even if it is good news, it is only good for part of your code. For the
other part, its useless. This brings me to the point of this section:
there are two types of code in every product and the testing concerns,
methods and practices are different for each of them.
The first type of code is what I call experience code. Its the code that
implements the functionality that attracted users to the application
in the first place. It provides the user with the experience** they are
seeking. For a word processor, it is the code that allows a user to
type, format and print a document. For an email application, its the
code that allows reading, replying and managing of messages. For a
mobile phone, its the ability to make and receive calls. For my own
product in Visual Studio, its the code that allows testers to write,
manipulate and execute test cases.
05
INSIGHT 1
This is code that a human user generally does not see, as it executes
BOTTOM
LINE
07
and repeat.
about
decomposing
feature
into
INSIGHT 2
08
MAIN SHELL
CONTEXT (TFS) (red indicates an external dependency)
Add a new TFS Server
Connect to a TFS Server
Delete a TFS Server
OPEN ITEMS
Verify that only savable activities show up here
Verify that you can navigate to them
TESTING CENTER
CONTENTS
Add new static suites
Add new query-based suites
...
Refresh
PROPERTIES (current test plan)
Modify iterations
Modify/create new manual test setting
...
Modify start/end dates
PLAN MANAGER
Select a current test plan
Create a new test plan
...
Refresh test plan manager
TEST
RUN TESTS
Run all tests on a suite (automated and/or manual or mixed)
Run tests with a specific environment chosen
INSIGHT 2
09
INSIGHT 2
10
its exposure.
INSIGHT 3
11
INSIGHT 3
one we can learn something from. The test case itself lost
its value when it found the bug, but when we merge the test
case with its intent, context, strategy and the bug it found, we
What was your goal when you ran that test case?
have something that is far more than a single test case that
Did you notice anything interesting while running the test case
Weve created the basis for understanding why the test case
was successful and weve implied any number of additional
test cases that could be derived from this one successful
instance.
At Microsoft, we have begun using the concept of test tours
as a way to categorize test techniques. This is an even higher
level discussion and we are working on documenting the tours
and creating experience reports based on their use within the
company.
Stay tuned for more information on this effort.
12
INSIGHT 4
instrument of improvement.
13
INSIGHT 4
14
The real value of tests is not that they detect bugs in the code,
but that they detect inadequacies in the methods, concentration
and skill of those who design and produce the code.
He said this in 1996. Clearly, he was way ahead of his time.
INSIGHT 4
ON THE REAL ROLE OF TESTERS
16
Smart
test
managers
and
test
INSIGHT 5
17
For the hard parts of the testing process, like deciding what to test
and determining test completeness, user scenarios and so forth,
we have another creative and interesting task. Testers who spend
time categorizing tests and developing strategy (the interesting
part) are more focused on testing and thus spend less time running
tests (the boring part).
Testing is an immature science. There are a lot of insights that a
thinking person can make without inordinate effort. By ensuring
that testers have the time to take a step back from their testing
effort and find insights that will improve their testing, teams will
benefit. Not only are such insights liable to improve the overall
quality of the test, but the creative time will improve the morale
of the testers involved.
INSIGHT 5
18
ABOUT JAMES
19
ABOUT APPLAUSE
Applause is leading the app quality revolution by
Quality Dashboard.
software
tools
and
analytics,
Applause
helps
ABOUT APPLAUSE