Exploratory Testing, Part 3
Let’s get a little deeper into the weeds
But first, some riddles
Let’s think outside the box a little
Joe wants to go home but can't, because
the man in the mask is waiting for him.
A man rides into town on Friday. He stays
three nights and leaves on Friday.
The Chevrolet Nova was a successful car in
many countries, but not in Mexico. Why
not?
Name 5 things you can do with a
pencil other than write
So, how do we think outside the box when
testing?
 Try to be aware when you are in a testing “rut”
 Repeating the same input data
 Not taking good notes
 Diving down a rabbit hole
 Not paying attention to what may have caused a bug to happen so that you can reproduce it
 Checking only what is in a requirement
 When this happens, it is time to take a step back and get a fresh perspective
 How can you know what you don’t know?
“Beginner’s mind”
 Why do new testers always seem to find a bunch of bugs?
 They are in a state of “beginner’s mind”: they don’t understand the world around
them yet, and they are in a heightened state of
 Observation
 Experimentation
 Pattern matching
Pretend to be someone else
 Not just the normal users of the system, and expected roles …
 A slow reader
 An angry user
 A malicious user
 A new user
 A distracted or bored user
 A user with a disability
Clueing Techniques
 Clueing techniques give you one hint, and your objective/experience/context will
use the clue to progress and get unstuck.
 Let’s look at a few examples of heuristics in testing
Oracles and Heuristics
 HICCUPS
 History of the product
 Image of the product
 Claims made about the product
 Comparable products
 User expectations
 Purpose of the product
 Product itself (i.e. similar things work differently elsewhere)
 Statutes or internal standards
Content from Mike Kelly: http://testingreflections.com/node/2635
Product Elements
 Structure: Everything that comprises the physical product.
 Function: Everything that the product does.
 Data: Everything that the product processes.
 Interfaces: Every conduit by which the product is accessed or expressed.
 Platform: Everything on which the product depends (and that is outside your
project).
 Operations: How the product will be used.
 Time: Any relationship between the product and time.
Content from James Bach, http://www.satisfice.com/tools/htsm.pdf
Quality Criteria
 Capability: Can it perform the required functions?
 Reliability: Will it work well and resist failure in all required situations?
 Usability: How easy is it for a real user to use the product?
 Charisma: How appealing is the product?
 Security: How well is the product protected against unauthorized use or intrusion?
 Scalability: How well does the deployment of the product scale up or down?
 Compatibility: How well does it work with external components & configurations?
 Performance: How speedy and responsive is it?
 Installability: How easily can it be installed onto its target platform(s)?
 Development: How well can we create, test, and modify it?
Content from James Bach, http://www.satisfice.com/tools/htsm.pdf
Exploratory Testing Dice Roll
 http://testing.gershon.info/exploratory-dice-roll/
Content from James Bach, http://www.satisfice.com/tools/htsm.pdf

Exploratory testing part 3

  • 1.
    Exploratory Testing, Part3 Let’s get a little deeper into the weeds
  • 2.
    But first, someriddles Let’s think outside the box a little
  • 3.
    Joe wants togo home but can't, because the man in the mask is waiting for him.
  • 4.
    A man ridesinto town on Friday. He stays three nights and leaves on Friday.
  • 5.
    The Chevrolet Novawas a successful car in many countries, but not in Mexico. Why not?
  • 6.
    Name 5 thingsyou can do with a pencil other than write
  • 7.
    So, how dowe think outside the box when testing?  Try to be aware when you are in a testing “rut”  Repeating the same input data  Not taking good notes  Diving down a rabbit hole  Not paying attention to what may have caused a bug to happen so that you can reproduce it  Checking only what is in a requirement  When this happens, it is time to take a step back and get a fresh perspective  How can you know what you don’t know?
  • 8.
    “Beginner’s mind”  Whydo new testers always seem to find a bunch of bugs?  They are in a state of “beginner’s mind”: they don’t understand the world around them yet, and they are in a heightened state of  Observation  Experimentation  Pattern matching
  • 9.
    Pretend to besomeone else  Not just the normal users of the system, and expected roles …  A slow reader  An angry user  A malicious user  A new user  A distracted or bored user  A user with a disability
  • 10.
    Clueing Techniques  Clueingtechniques give you one hint, and your objective/experience/context will use the clue to progress and get unstuck.  Let’s look at a few examples of heuristics in testing
  • 11.
    Oracles and Heuristics HICCUPS  History of the product  Image of the product  Claims made about the product  Comparable products  User expectations  Purpose of the product  Product itself (i.e. similar things work differently elsewhere)  Statutes or internal standards Content from Mike Kelly: http://testingreflections.com/node/2635
  • 12.
    Product Elements  Structure:Everything that comprises the physical product.  Function: Everything that the product does.  Data: Everything that the product processes.  Interfaces: Every conduit by which the product is accessed or expressed.  Platform: Everything on which the product depends (and that is outside your project).  Operations: How the product will be used.  Time: Any relationship between the product and time. Content from James Bach, http://www.satisfice.com/tools/htsm.pdf
  • 13.
    Quality Criteria  Capability:Can it perform the required functions?  Reliability: Will it work well and resist failure in all required situations?  Usability: How easy is it for a real user to use the product?  Charisma: How appealing is the product?  Security: How well is the product protected against unauthorized use or intrusion?  Scalability: How well does the deployment of the product scale up or down?  Compatibility: How well does it work with external components & configurations?  Performance: How speedy and responsive is it?  Installability: How easily can it be installed onto its target platform(s)?  Development: How well can we create, test, and modify it? Content from James Bach, http://www.satisfice.com/tools/htsm.pdf
  • 14.
    Exploratory Testing DiceRoll  http://testing.gershon.info/exploratory-dice-roll/ Content from James Bach, http://www.satisfice.com/tools/htsm.pdf