I wonder if
                                              this comes
                                                  off…




Mind Map Driven Heuristic Exploratory Testing

Pekka Marjamäki




Protecting the irreplaceable | f-secure.com
What is Exploratory testing?

• Approach
• Mindset
                                                     Learning
• Structured or freestyle
• Learning, Design and Testing
• Heuristic
• What else?
                                            Design              Testing




2   May 3, 2012   © F-Secure Confidential
Heuristics
• “a fallible method for solving a problem or making a decision”
    • A heuristic is not a rule
    • a heuristic can work but might fail
• Checklists
• Feelings as heuristics
• Assumptions heuristics
• Heuristics are applied, not followed.


• Follows the Rapid Software Testing heuristics model by James Bach and
  Michael Bolton




3   May 3, 2012   © F-Secure Confidential
Models and product elements
•   Models a way of measuring coverage
•   A model is a heuristic idea, activity, or object
•   …that represents (literally, re-presents) another idea, activity, or object…
•   …whereby understanding something about the model may help you to understand or
    manipulate the thing that it represents.
•   SFDPOT
    •   Structure
    •   Functions
    •   Data
    •   Platform
    •   Operations
    •   Time
•   Something extra:
    •   Risks
    •   Bugs


4   May 3, 2012     © F-Secure Confidential
Structure
• What is this made out of?
    • Physical structure                                               output
                                                    input
        • Devices, cables

    • User interface structure:                             platform
        • Menus, dialogs, buttons, input fields

    • Code structure
        • Files, modules, classes, methods, lines




5   May 3, 2012   © F-Secure Confidential
Functions
• What does it do?
    • What are the features?
                                            input              output
    • How do you controll it?
    • What’s in the menus?                          platform
    • How about keyboard/mouse only?
    • Are there cross functionalities?




6   May 3, 2012   © F-Secure Confidential
Data
• What it does the functions to?
    • What are the boundaries?
                                            input              output
        • What are the REAL boundaries?

    • Can you automate inputs?
                                                    platform
    • Can you assert the outcome?
    • Can you test the output values?




7   May 3, 2012   © F-Secure Confidential
Platform
• What does it depend upon?
    • Operating systems, hardware
                                                       input               output
    • External software (SaaS, Paas)
    • Internal software (Adobe Reader, MS Office)               platform
    • Can you take it outside lab? Unsanitary platform?
    • Oddball?
        • Out-of-the-shelf installed toolbars, browsers, etc.

    • Can you automate environment setup?




8   May 3, 2012   © F-Secure Confidential
Operations
• How is it used?
    • What are the defaults?
                                              input                   output
    • What is the realistic situtation?
        • What is the business process?
                                                           platform
    • Who is the user?
    • Use complex flows, skipping steps, going back, looping
    • Can you stress the system?




9   May 3, 2012   © F-Secure Confidential
Timing
• How time affects it?
     • Data flow
                                                      input              output
         • Buffering, blocking, timeout

     • Usage amount
                                                              platform
         • End of quater, end of week, business day

     • Operating systems
         • Idle time, thread, region times

     • Rates
         • Hits per second, speed, frequency

     • Relationship
         • Before, after, during, slower, faster




10   May 3, 2012   © F-Secure Confidential
Risks
• Are there risks involved?
     • What are the potential areas for failure?
                                                   input              output
     • What are the internal risks?
     • What about the external?                            platform
     • What do we need to take into account?
     • Can we mitigate?
     • What is the impact?




11   May 3, 2012   © F-Secure Confidential
Bugs
• Does it work differently than you expected?
• Can it bug someone who matters?
                                                input              output
• Does it conflict with something known?
     • Documents, claims                                platform
     • Expectations, statures
     • Comparable products, itself
• It this a known/recurring issue?
• Who has more knowledge in this?




12   May 3, 2012   © F-Secure Confidential
Demo: Ways to Understand Our Context

• CIDTESTD (”Mother approved”)
• Customers
• Information
• Developer relations
• Team
• Equipment & tools
• Schedule
• Test Items
• Deliverables




13   May 3, 2012   © F-Secure Confidential
Get your mind maps out and go to
http://www.horse-games.org/Horse_Lunge_Game.html




14   May 3, 2012   © F-Secure Confidential
Thank you!
        Twitter: @pekkamarjamaki
        Skype: anttipekkamarjamaki
        Blog: http://how-do-i-test.blogspot.com / http://mitenmatestaan.blogspot.com




© F-Secure Confidential
15

Mind map driven heuristic testing 0.1

  • 1.
    I wonder if this comes off… Mind Map Driven Heuristic Exploratory Testing Pekka Marjamäki Protecting the irreplaceable | f-secure.com
  • 2.
    What is Exploratorytesting? • Approach • Mindset Learning • Structured or freestyle • Learning, Design and Testing • Heuristic • What else? Design Testing 2 May 3, 2012 © F-Secure Confidential
  • 3.
    Heuristics • “a falliblemethod for solving a problem or making a decision” • A heuristic is not a rule • a heuristic can work but might fail • Checklists • Feelings as heuristics • Assumptions heuristics • Heuristics are applied, not followed. • Follows the Rapid Software Testing heuristics model by James Bach and Michael Bolton 3 May 3, 2012 © F-Secure Confidential
  • 4.
    Models and productelements • Models a way of measuring coverage • A model is a heuristic idea, activity, or object • …that represents (literally, re-presents) another idea, activity, or object… • …whereby understanding something about the model may help you to understand or manipulate the thing that it represents. • SFDPOT • Structure • Functions • Data • Platform • Operations • Time • Something extra: • Risks • Bugs 4 May 3, 2012 © F-Secure Confidential
  • 5.
    Structure • What isthis made out of? • Physical structure output input • Devices, cables • User interface structure: platform • Menus, dialogs, buttons, input fields • Code structure • Files, modules, classes, methods, lines 5 May 3, 2012 © F-Secure Confidential
  • 6.
    Functions • What doesit do? • What are the features? input output • How do you controll it? • What’s in the menus? platform • How about keyboard/mouse only? • Are there cross functionalities? 6 May 3, 2012 © F-Secure Confidential
  • 7.
    Data • What itdoes the functions to? • What are the boundaries? input output • What are the REAL boundaries? • Can you automate inputs? platform • Can you assert the outcome? • Can you test the output values? 7 May 3, 2012 © F-Secure Confidential
  • 8.
    Platform • What doesit depend upon? • Operating systems, hardware input output • External software (SaaS, Paas) • Internal software (Adobe Reader, MS Office) platform • Can you take it outside lab? Unsanitary platform? • Oddball? • Out-of-the-shelf installed toolbars, browsers, etc. • Can you automate environment setup? 8 May 3, 2012 © F-Secure Confidential
  • 9.
    Operations • How isit used? • What are the defaults? input output • What is the realistic situtation? • What is the business process? platform • Who is the user? • Use complex flows, skipping steps, going back, looping • Can you stress the system? 9 May 3, 2012 © F-Secure Confidential
  • 10.
    Timing • How timeaffects it? • Data flow input output • Buffering, blocking, timeout • Usage amount platform • End of quater, end of week, business day • Operating systems • Idle time, thread, region times • Rates • Hits per second, speed, frequency • Relationship • Before, after, during, slower, faster 10 May 3, 2012 © F-Secure Confidential
  • 11.
    Risks • Are thererisks involved? • What are the potential areas for failure? input output • What are the internal risks? • What about the external? platform • What do we need to take into account? • Can we mitigate? • What is the impact? 11 May 3, 2012 © F-Secure Confidential
  • 12.
    Bugs • Does itwork differently than you expected? • Can it bug someone who matters? input output • Does it conflict with something known? • Documents, claims platform • Expectations, statures • Comparable products, itself • It this a known/recurring issue? • Who has more knowledge in this? 12 May 3, 2012 © F-Secure Confidential
  • 13.
    Demo: Ways toUnderstand Our Context • CIDTESTD (”Mother approved”) • Customers • Information • Developer relations • Team • Equipment & tools • Schedule • Test Items • Deliverables 13 May 3, 2012 © F-Secure Confidential
  • 14.
    Get your mindmaps out and go to http://www.horse-games.org/Horse_Lunge_Game.html 14 May 3, 2012 © F-Secure Confidential
  • 15.
    Thank you! Twitter: @pekkamarjamaki Skype: anttipekkamarjamaki Blog: http://how-do-i-test.blogspot.com / http://mitenmatestaan.blogspot.com © F-Secure Confidential 15

Editor's Notes

  • #3 Approachnot a techniquebutapplicable to alltechniquesMindset, ”thinkingexploratively”, wewant to find the IMPORTANT THINGSFocusing on the essential. an approach to software testing…thatemphasizes the personalfreedom and responsibility of eachtester to continuallyoptimize the value of hiswork…bytreatinglearning, test design and testexecution as mutuallysupportiveactivitiesthatrun in parallelthroughout the project.
  • #4 We often do not have oracles that establish a definite correct orincorrectresult, in advance.That’s why we use abductive inference. No single oracle can tell us whether a program (or a feature) isworking correctly at all times and in all circumstances.That’s why we use a variety of oracles. Any program that looks like it’s working, to you, may in fact befailing in some way that happens to fool all of your oracles. That’swhy we proceed with humility and critical thinking. You (the tester) can’t know the deep truth about any result.That’s why we report whatever seems likely to be a bug.
  • #5 Thereare as manykinds of testcoverage as thereareways to model the system.Wheneverwetalkaboutcoverage, wetalkaboutextentor proportion in terms of somemodel. Wheneverwemodel, it’sour intention to simplifysomethingthat is reallycomplex. Modelingmakeshardproblemsmoretractablebyremovingsomeinformation and leaving the informationthatinterests us orthatmightmakes adifferencewithrespect to the questionsthatwewant to ask and answer. A model is a heuristic idea, activity, orobject…such as an idea in yourmind, a diagram, a list of words, a spreadsheet, aperson, a toy, an equation, a demonstration, or a programsuch as somethingcomplexthatyouneed to workwithorstudy- A map is a modelthathelps to navigateacross a terrain.- 2+2=4 is a model for addingtwoapples to a basketthatalreadyhastwoapples.- Atmosphericmodels help predictwherehurricaneswillgo.- A fashionmodelhelpsunderstandhowclothingwould look on actualhumans.Yourbeliefsaboutwhatyoutestare a model of whatyoutest.KUVATAAN SAMAA ASIAA ERI NÄKÖISIN MALLEIN
  • #14 Customers− Anyonewho is a client of the testproject.Information− Informationabout the productorprojectthat is needed for testing.Developerrelations− Howyougetalongwith the programmers.Team− Anyonewhowillperformorsupporttesting.Equipment & tools− Hardware, software, ordocumentsrequired to administertesting. Schedule− The sequence, duration, and synchronization of projectevents.TestItems− The product to betested.Deliverables− The observableproducts of the testproject.
  • #16 Anythoughtshowyoucouldapplythese into your daily work?