How To Perform Exploratory Testing With Charters
How To Perform Exploratory Testing With Charters
By
Anders Claesson
[email protected]
Contents
Introduction and definitions
The purpose of testing
Context driven testing
Test preparations
A test charter example
Test execution
Test reporting
When to stop testing
Experiences
Conclusions
Appendix A:
Examples of analogies and
reasoning in Exploratory Testing
Analysis of implemented
fault codes using Test Charters Test Items Test Items List
Glocksoft resource viewer
Further exploration
2 Input
data
Identify and collect all input information
needed for the risk analysis.
At the end of the iteration, go through how much of the test object was actually
Evaluation covered, how many test charters/ideas that were executed, the risks that were
7 covered, how many faults were found (any stopping or severe faults), leftover
meeting Test Cases, if the initial test strategy worked or not, and why. This learning
process is very important in order to improve in the next iteration!
How to perform Anders Claesson R1.0 2007-09-06 10(41)
Exploratory Testing by using Test Carters www.enea.se
Risk example
Prio Risk description P*C, T Actions
1 Risk: Unstable system platform. The 5*3= Risk reduction and evaluation
interconnections and interactions between the 15 strategy:
functions in the platform may not work. Ask 3PP vendors how they have tested
Why: Purchased platform components for this system T=2 their products.
developed by 10 independent, third party vendors. Perform platform tests to evaluate the
Components were not tested together by vendors. interactions between components.
Why: Application parameters are not set correctly. Test items:
How: May cause failures in the communication and Platform test of system xxx.
the functional behavior of the application functions. Test ideas:
When: Happens when the application starts up and - Test of individual important
C = Consequence
when user data is entered into the system. functions.
P = Probability
T = Testability
Where: Problems may be visible in the interface - Tests of related function groups,
between the application and the middleware. bottom up to the application
interface level.
Which part: The faults reside in the functions of the
HP Unix server operating system.
System security
Network failures
Oracle notes: Look if the size of the pasted picture changed on the screen (it should not).
Check if there is any loss in the resolution of the picture especially when you copy and paste from
other programs to or from ours.
Check which is the highest resolution picture that can be copied and how that affect the system.
Check for memory leaks and how much memory the copy/paste operation takes from the system and
how that affects the use of other programs. Other programs should not slow down or be affected in
any way.
Print pasted pictures to see if there are any differences in color, resolution or any other anomaly.
Variations: Try out (and find) the boundaries of how large pictures are possible to copy/paste.
Perform copy/paste with a large number of items in the copy/paste buffer in your PC.
Try to fill the copy/paste buffer to its limit and then copy/paste a picture and see what happens.
Try the longest file name of the picture you can type before making the copy/paste. You may use the
tool Perlclip (download from http://www.satisfice.com/tools/perlclip.zip) to generate file names with a
million characters or more if you want.
Oracle notes: Check that UNI-SAAL Termination Point (TP) moves successfully after 120 seconds to another
module xx when yyy is locked.
Check that restarts don’t disturbs traffic handling or the system performance.
Check that it is possible to perform RPU switch back after board restarted, board removed or
blocked.
Check trace logs for error messages.
Check status of the node/boards.
Variations: Select a number of load modules that interacts with CEP handling when performing restarts or RPU
switching.
Perform cold, warm and refresh restarts.
Restart board, block board or remove to trigger switch to redundant board.
Or other variations that the tester might find useful.
Spector Pro is used for monitoring and recording every detail of all PC and Internet
activities (logs everything you do, with time stamps). All details of what you do on the
computer – chats, instant messages, emails, the web sites visited, what searches are made,
posted pictures and which you have looked at, all keystrokes, all programs that have been
run on the computer and much more. And because of its advanced surveillance screen
snapshot features, you get to see not only WHAT is happening on the screen, but the EXACT
order in which it is done, step by step. The cost of the tool is $99,95 per license for one PC.
http://www.spectorsoft.com/products/SpectorPro_Windows/
Why Two-wise testing finds many logical and data dependent faults
Most faults are of the category of:
One Factor faults
A one factor fault is a consistent problem triggered by any of the
possible input parameters equivalence classes (either only one, or up to all
of the equivalence classes from one to all parameters) used by the
function. The function under test does not work, and any test using that
input value range or a specific value in the range of that function would find
the fault.
Two Factor faults
If there exists a consistent problem when specific equivalence classes with
two parameter values occur together, it is called a two factor fault. Indeed, a
two factor fault is an indication of a two-wise incompatibility or incorrect
interaction between two parameters and their selected values. It is the
pairing of this functions specific parameter value (or range of values) with
another functions specific parameter value (or range) that fails even though
all other pairings work properly.
How to perform Anders Claesson R1.0 2007-09-06 28(41)
Exploratory Testing by using Test Carters www.enea.se
Why Two-Wise testing find many logical and data dependent faults
A two-wise coverage approach would find most of the faults (70 - 98%) when
testing possible parameter values used by a large numbers of functions and
their parameter values combined. Tests can be reduced by 99,99999…% or
more compared to exhaustive testing, which is impossible in most cases.
Smarter Testing
finds more faults
in less time.
Area 2 Medium Medium, QL2 Low High QL0 QL1 QL1 QL2 On track, no faults.
Area 3 High High, QL4 High Blocked QL0 QL1 Crashes, IR12345
Area 4 High High, QL3 Medium Pause QL0 QL1 QL1 QL2 IR1212 under investigation.
Area 5 Medium Medium, QL2 Medium High QL0 QL1 QL2 Configuration problems
The Current Risk level is based on the results from all performed preventive actions and/or all performed tests at the
current week when the progress report was written. The Quality Level includes required test coverage, the level of
positive/negative tests, test effort and achieved stability under various usage and load conditions to be reached for a
“sufficient” system quality.
= Delayed test item according to plan. Not Ready For Test from design and system
integration.
QL1 = Planned ready date to achieve a specific Quality Level.
QL2 = QL-level achieved on time according to the test plan.
QL1 = QL-level achieved later than planned.
How to perform Anders Claesson R1.0 2007-09-06 31(41)
Exploratory Testing by using Test Carters www.enea.se
Time
When the agreed ship date has been
reached.
high to medium.
and failure rate. - Open.
Resulting in
new risks. - Under investigation/testing.
High - Resolved.
- In each category of: High, Medium, Low.
IR - B
Acceptable
quality IR - A
level
Testing Test stop criteria fulfilled. Time - Weeks
starts System delivered and put into service.
How to perform Anders Claesson R1.0 2007-09-06 33(41)
Exploratory Testing by using Test Carters www.enea.se
Appendix A
Example of forensic test methods used by the police
The police has just arrived to a crime scene in an office building somewhere in
Stockholm, where at least 10 computers have been stolen. The main objective for
the police is now to secure as much evidence they can. The personnel in the office
building show them around starting with the place where the thieves entered the
building. The technicians could now start their job. The first thing they do is to map
how the suspects have moved around in the building. The technicians must use a lot
of their imagination, creativity and reasoning based on their previous experiences
and knowledge. They start by thinking – where would I put my hands and feet if I
have climbed in this way? This is the way they need to think by putting themselves in
the shoes of the suspect.
On a paper lying on a desk just beneath the smashed window they found a stain of
blood. The police takes a Q-tip out of his bag and gently touch the stain to absorb
some blood. This is all that is needed to get enough DNA and connect the
perpetrator to the crime scene. If the DNA can be secured at the scene, the
probability is quite high there is a hit in the DNA register of a suspect. It is very
common that the same person has done several crimes in the past. At another crime
scene a fingerprint on a milk box led to that the perpetrator could be connected to
another 14 committed crimes in the past.
How to perform Anders Claesson R1.0 2007-09-06 34(41)
Exploratory Testing by using Test Carters www.enea.se
Appendix A
Example of forensic test methods used by the police
Entry point to the The case with different Securing evidence using the Logging of test results for
crime scene. test tools to be used for DNA-analysis test method. later analysis at the lab.
different test methods.
Forensic test methods are by its nature tools in the exploration of what really might have happened before the
investigators arrive at a crime scene. They are very thorough in order to keep all the evidence and the pieces of the
puzzle together in order to hold up in court. No clue is left unexplored, even if it doesn’t make sense by itself the
collection of all the evidence might give the whole picture which would not be possible to see by looking at each
individual evidence. Software testers should work and think in the same way, but are rarely given the time for reflection
by piecing all the individual parts together to give an accurate image of how the user may experience the product
under development. Companies that value continuous improvements and see their customer as their most valuable
input for feedback prosper because of their company culture (like Toyota) while others who listen more to their
engineers suffer from the disconnection between what the customer wants and what the engineers like to do.
Appendix A
Analogies with software testing
You are testing in your lab and just found something weird which may or may
not be a fault (you don’t know yet). But it intrigues you into further investigation. Your
main objective as a tester is to find as many important problems in the product as
possible before the customer do. You look at the evidence that caught your interest
and try to catch some more information if possible. By looking into your log files and
also analyze what actions you did before
reaching the current state/situation
will give you more clues. You can
use a checklist of what to look for
so you don’t miss anything (in
addition to your own creative
thinking of what information
might be useful).
Appendix A
Analogies with software testing
Now put yourself in the shoes of the user. What kind of exploration would you do
in this case? Would it differ in any way compared to the designers view (even after
you have looked at your test oracles including user/customer aspects)? Would the
user be annoyed or irritated if your observation of the possible anomaly would go into
the final version? Does the feature you are testing really solve the users’ problems or
abilities to reach his goals in an efficient way? Is your initial observation in any way
causing the user to be mislead how to proceed, e.g. by a faulty error message or any
other usability aspect?
By using a bug taxonomy you can create your own “DNA” record of observed
problems, likely mistakes and faults made by the designers. In combination with Root
Cause Analyses of the most serious faults found to date (where the faults reported by
your customer should be the most important ones) we are in a far better position of
making better risk assessments before testing starts, select more efficient test ideas
and, when executing, quickly get the problems we see getting fixed by the
developers and hopefully reduce any debates regarding incident report priorities.
Things we know the user/customer regard as very serious should be paid special
attention to in testing (and in the prioritization of which bugs to prioritize).
How to perform Anders Claesson R1.0 2007-09-06 38(41)
Exploratory Testing by using Test Carters www.enea.se
Appendix A
Analogies with software testing
An interesting observation you may elaborate on is why we use the same (in most
cases) test techniques as we did 30 years ago (except for pair-wise testing) when
they were discovered (equivalence partitioning, boundary value analysis, etc.). There
are no scientific research published to date that tells us the efficiency of our known
and most used test techniques, which types of faults they find and which faults that
slip through. There are no silver bullets in software testing but
it would be very helpful to see in which
context a certain set of techniques are efficient
and why. The reason for such investigations
not taking place is probably that companies
don’t want to expose their way of testing,
which faults they find and how many that slip
through. But you can at least make
it in your own company.
Experiences
To create the test charter was made as a group activity and only
took one hour to do.
A blocking fault on the first test attempt/step halted further
execution of the charter.
All testers in the group felt it was more productive to create
charters. One problem is that they have a lot of old test
specifications and test cases. There is a resistance to change to
something new. An idea they had was to refer to old test cases,
when applicable in the list of test ideas, not to loose previous tests
that had been productive.
”System upgrade” will be the next area to create test charters for.
Risk Based Testing will then be combined with Exploratory Testing.