SlideShare a Scribd company logo
11/4/2012




   Software Testing
Heuristics & Mnemonics

      Karen N. Johnson




                                1
11/4/2012




            Session Description

Are you curious about heuristics and how to use them?

In this session, Karen Johnson explains what a heuristic is,
what a mnemonic is, and how heuristics and mnemonics are
sometimes used together.

A number of both heuristics and mnemonics have been created
in the software testing community. Karen reviews several of
each and gives examples of how to use and apply heuristics
and mnemonics.

In this session, Karen outlines how to create your own
mnemonics and heuristics. She shares ways to use both during
Exploratory Testing.



                                                        © Karen N. Johnson, 2012




                                                                                    2
11/4/2012




Karen N. Johnson

    •   Software Test Consultant

    •   Published Author

    •   Teach Software Testing

    •   Speak at conferences

    •   Co-founder of WREST, the Workshop
        on Regulated Software Testing

    •   Website: www.karennjohnson.com

    •   Twitter: @karennjohnson



                                   © Karen N. Johnson, 2012




                                                               3
11/4/2012




                     What is a heuristic?
Heuristic

( /hjʉˈrɪstɨk/; or /hyoo-ris-tik/;

Greek: "Εὑρίσκω", "find" or "discover")

Refers to experience-based
techniques for problem solving,
learning, and discovery. Where an
exhaustive search is impractical,
heuristic methods are used to speed
up the process of finding a
satisfactory solution. Examples of this
method include using a rule of thumb,
an educated guess, an intuitive
judgment, or common sense.

                                            © Karen N. Johnson, 2012




                                                                        4
11/4/2012




                Heuristic Examples
                  (not from software testing)


From George Polya’s book: “How to Solve It”

•   If you are having difficulty understanding a problem, try drawing a
    picture.

•   If you can't find a solution, try assuming that you have a solution
    and seeing what you can derive from that ("working backward").

•   If the problem is abstract, try examining a concrete example.




                                                             © Karen N. Johnson, 2012




                                                                                         5
11/4/2012




               What is a mnemonic?

Definition of mnemonic:

a device (such as a rhyme or
acronym) used as a memory aid



Example:

To memorize the North American
Great Lakes: the acronym HOMES -
matching the letters of the five lakes
(Huron, Ontario, Michigan, Erie, and
Superior)



                                         © Karen N. Johnson, 2012




                                                                     6
11/4/2012




           Heuristics do not have to
              have a mnemonic

•   A well-known heuristic and an example of a heuristic that does not
    have a mnemonic is Elisabeth Hendrickson’s “Goldilocks.”

•   Elisabeth highlights the following: Too big, too small and just right.

•   By recalling “Goldilocks” I think about data entry fields and other
    variables where I can test with too large of an entry, too small of an
    entry and testing a more “expected” entry.

•   Imagine trying to enter a date field with all 9’s or a currency field
    with a negative number.




                                                               © Karen N. Johnson, 2012




                                                                                           7
11/4/2012




Let’s try an example of how a
heuristics & mnemonic can be
        used in testing.

          Ready?




                            © Karen N. Johnson, 2012




                                                        8
11/4/2012




Sample regression mnemonic: RCRCRC

      The mnemonic is RCRCRC used to remember
  the heuristic to help with regression testing. Each letter
represents a word I use to help me discover testing ideas.


  •   Recent

  •   Core

  •   Risky

  •   Configuration

  •   Repaired

  •   Chronic


                                                    © Karen N. Johnson, 2012




                                                                                9
11/4/2012




     Sample regression mnemonic: RCRCRC


    First letter: R for Recent

•   Recent – meaning – what new features or new areas
    of code have been added?

•   What changed recently?

•   What testing around those changes should I think
    about?




                                               © Karen N. Johnson, 2012




                                                                          10
11/4/2012




     Sample regression mnemonic: RCRCRC


    Second letter: C for Core

•   Core – meaning – what essential or critical functions or
    features must continue to work?

•   What does this application primarily do?




                                                  © Karen N. Johnson, 2012




                                                                             11
11/4/2012




     Sample regression mnemonic: RCRCRC


    Third letter: R for Risky

•   Risk or Risky – meaning – what features or areas of
    code are inherently more risky?

•   What features of the application do I want to
    safeguard?




                                                    © Karen N. Johnson, 2012




                                                                               12
11/4/2012




     Sample regression mnemonic: RCRCRC


    Fourth letter: C for Configuration Sensitive

•   Configuration sensitive – meaning – what code is
    dependent on environment settings?

•   What testing do I want to plan based on the
    environment?

•   This testing might include planning a subset of tests for
    production after go live.




                                                   © Karen N. Johnson, 2012




                                                                              13
11/4/2012




     Sample regression mnemonic: RCRCRC


    Fifth letter: R for Repaired

•   Repaired– meaning – what code has been changed to
    address defects and therefore may have created
    issues?

•   What testing do I want to do based on defects fixed?




                                                 © Karen N. Johnson, 2012




                                                                            14
11/4/2012




     Sample regression mnemonic: RCRCRC


    Sixth letter: C for Chronic

•   Chronic – meaning some code may seem to be
    chronically breaking or having issues.

•   This letter reminds me to test features that seem to
    break often.




                                                  © Karen N. Johnson, 2012




                                                                             15
11/4/2012




     How about another example?


I used James Bach’s well-known heuristic
   SFDPOT and applied that heuristic to
            mobile testing.




                                    © Karen N. Johnson, 2012




                                                               16
11/4/2012




                          How I applied this to mobile testing:
SFDPOT

                          •   Can I download the app?

SFDPOT, heuristic by      •   Can I download an update?
James Bach
                          •   Can I update the app when I have
                              multiple apps to update?

S is for Structure        •   What happens when the operating
                              system of the device is updated?
Test what it’s made of.
                          •   Does the app write to an SD card?

                          •   What if the card is filled, removed or
                              changed?




                                                        © Karen N. Johnson, 2012




                                                                                   17
11/4/2012




                       How I applied this to mobile testing:

SFDPOT
                       •   Does the app or site perform the tasks
                           or features it was designed to?
SFDPOT, heuristic by
James Bach             •   Does the app or site prevent, block or
                           not include features not intended on a
                           mobile device?

F is for Function      •   Does the app or mobile website ever
                           direct me to the “full site or desktop
Test what it does.         version”?

                       •   Does the app direct me to turn on
                           necessary related services such as
                           location services if those services are
                           shut off?


                                                       © Karen N. Johnson, 2012




                                                                                  18
11/4/2012




                           How I applied this to mobile testing:

SFDPOT                     •   Does the app find time related data (if
                               relevant, such as movie show times) based
                               on the device time?

                           •   Does the app find locations based on my
SFDPOT, heuristic by           location (such as movie theaters or hotels)
James Bach
                           •   Does the app integrate with any hardware
                               such as bar code scanners for payment or
                               other purposes?
D is for Data
                           •   If the app tracks rewards or points for
                               frequent purchases, does this data get
Test what it does it to.
                               updated?

                           •   If the app integrates with a desktop profile or
                               account information (such as My Profile or My
                               Account), does the app and the desktop
                               version keep information in sync with each
                               other?


                                                               © Karen N. Johnson, 2012




                                                                                          19
11/4/2012




                       How I applied this to mobile testing:

SFDPOT
                       •   Does the app use location services?

SFDPOT, heuristic by   •   Does the app depend on any device
James Bach                 settings?

                       •   Does the app detect the platform it is
                           running on such as a phone or tablet?
P is for Platform
                       •   Can I find the app in the app store?
Test what it depends
upon.




                                                      © Karen N. Johnson, 2012




                                                                                 20
11/4/2012




                       How I applied this to mobile testing:

SFDPOT
                       •   Does the app function when I am
                           moving and traveling around?
SFDPOT, heuristic by
James Bach             •   What happens when I switch to Wi-Fi
                           vs. 3G ?

                       •   What happens if my Wi-Fi connection
O Is for Operations        is down or intermittent?

Test how it’s used.    •   What happens when a mobile
                           interruption occurs such as an
                           incoming call or text message?

                       •   What happens when the device is set
                           to airplane mode?


                                                     © Karen N. Johnson, 2012




                                                                                21
11/4/2012




                            How I applied this to mobile testing:

SFDPOT
                            •   What happens if the time zone is
                                switched?
SFDPOT, heuristic by
James Bach                  •   What happens when my location is
                                switched?

                            •   Does the device auto detect a change
T is for Time                   in time zones and reset the time (and
                                possibly) the day and date?
Test how it’s affected by
time.                       •   Does the app find time-related data
                                based on my device time (such as
                                reservation times available or movies
                                show times)?



                                                          © Karen N. Johnson, 2012




                                                                                     22
11/4/2012




Moolya Testing
blog post
by Dhanasekar S
Another example -

A mind map and testing planned
inspired from James Bach’s
SFDPOT (San Francisco Depot)
and Jonathan Kohl’s I SLICED
UP FUN!

Source:

http://moolya.com/blog/?s=sfdpot




                                   © Karen N. Johnson, 2012




                                                              23
11/4/2012




                         Applying Heuristics
First, learn about heuristics. Being
knowledgeable about heuristics gives
you tools to apply and encourages
you to develop your skills.

Second, come to understand when a
heuristic or method is helpful, when it
should be used and when it should
not be used.

Learn how to frame your own problem
so you can apply the best heuristic to
solve the problem.


- Adapted from “How to Solve It: Modern Heuristics”
by Z. Michalewicz & D. Fogel

                                                      © Karen N. Johnson, 2012




                                                                                 24
11/4/2012




             Developing Heuristics

•   Look for ideas in testing that frequently get you results –
    perhaps some idea that often provokes the application
    you test and uncovers defects.

•   “Time” is one idea I think of often. I work with timestamps
    and other date-sensitive fields (data replication testing,
    BI testing, etc.)

•   Look for patterns, look for commonality.




                                                      © Karen N. Johnson, 2012




                                                                                 25
11/4/2012




              Customize Heuristics

•   Remember that you don’t have to use someone else’s heuristic in
    its entity – you can use part of a heuristic. For example, you might
    not find an applicable need for the “chronic” element in my
    regression heuristic. Feel free to drop part of a heuristic; keep what
    helps.

•   Adapt someone else’s heuristic to better help yourself.




                                                              © Karen N. Johnson, 2012




                                                                                         26
11/4/2012




               Creating Mnemonics

•   If a shortcut memory device helps you recall your ideas, then
    create a mnemonic.

•   I found by thinking of three R’s (recent, repaired and risky) and
    three C’s (core, chronic and configuration), I was able to rapidly
    direct myself to testing that would uncover defects.

•   Don’t create a mnemonic if it doesn’t help you!




                                                             © Karen N. Johnson, 2012




                                                                                        27
11/4/2012




Karen Johnson
a heuristic card
deck

I collected all the testing
heuristics I could find
and formatted the
heuristics to print on
index cards.

I’ve made card decks for
testers.

The purpose? To have a
handy set of ideas easily
within reach.

Download for free.

                              © Karen N. Johnson, 2012




                                                         28
11/4/2012




Elisabeth
Hendrickson’s
“cheat sheet”

This two page cheat sheet
has been around for
several years.

You can download the
cheat sheet as a PDF
from her website.




                                  29
11/4/2012




                         References

•   How to Solve It, by G. Polya

•   How to Solve It: Modern Heuristics, by Z. Michalewicz & D. Fogel

•   James Bach, blog post: The Essence of Heuristics
    http://www.satisfice.com/blog/archives/462

•   Elisabeth Hendrickson. Cheat Sheet which includes some
    heuristicswww.testobsessed.com/wp-
    content/.../testheuristicscheatsheetv1.pdf

•   Michael Bolton, blog post: Heuristics for Understanding
    Heuristicshttp://www.developsense.com/blog/2012/04/heuristics-for-
    understanding-heuristics/

•   Karen N. Johnson, heuristic card deck
    www.karennicolejohnson.com/.../testing-mnemonics-as-a-card-deck/




                                                                               30
11/4/2012




                         References

•   Jonathan Kohl, blog post: Learning Testing Heuristics
    http://www.kohl.ca/2006/learning-testing-heuristics/

•   Adam Goucher, blog post: http://adam.goucher.ca/?p=200

•   Michael D. Kelly, blog entries:
    http://michaeldkelly.com/blog/category/heuristics

•   Lynn McKee, testing mnemonics
    www.qualityperspectives.ca/resources_mnemonics.html

•   Daily Testing Tips, www.quicktestingtips.com/tips/category/heuristics/

•   Moolya Testing http://moolya.com/index.html




                                                                                   31
11/4/2012




Thank you for
being here!
                             •   Questions?

Karen Nicole Johnson
                             •   Comments?

Email:                       •   Can you use this?
karen@karennjohnson.com
                             •   Does this help you?
Site:

www.karennicolejohnson.com
                             •   Please complete an eval form.

or

www.karennnjohnson.com




                                                                       32

More Related Content

What's hot

Agile
AgileAgile
Agile
Rajiv Kane
 
Cloud Testing: The Future of software Testing
Cloud Testing: The Future of software TestingCloud Testing: The Future of software Testing
Cloud Testing: The Future of software Testing
BugRaptors
 
BDD: The unit test of the product owner
BDD: The unit test of the product ownerBDD: The unit test of the product owner
BDD: The unit test of the product owner
John Ferguson Smart Limited
 
CP-SAT - Certified Professional Selenium Automation Testing
CP-SAT - Certified Professional Selenium Automation TestingCP-SAT - Certified Professional Selenium Automation Testing
CP-SAT - Certified Professional Selenium Automation Testing
Agile Testing Alliance
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
End to end testing - strategies
End to end testing - strategiesEnd to end testing - strategies
End to end testing - strategies
anuvip
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with CucumberBrandon Keepers
 
Istqb 4-테스트설계기법-2015-3-배포
Istqb 4-테스트설계기법-2015-3-배포Istqb 4-테스트설계기법-2015-3-배포
Istqb 4-테스트설계기법-2015-3-배포
Jongwon Lee
 
Chapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and ToolsChapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and Tools
Neeraj Kumar Singh
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
suwalki24.pl
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
Ernest Mueller
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
CodeOps Technologies LLP
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
harinderpisces
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
Anand Bagmar
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
sriks7
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
Iosif Itkin
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
Weaveworks
 
How to go about testing in React?
How to go about testing in React? How to go about testing in React?
How to go about testing in React?
Lisa Gagarina
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 

What's hot (20)

Agile
AgileAgile
Agile
 
Cloud Testing: The Future of software Testing
Cloud Testing: The Future of software TestingCloud Testing: The Future of software Testing
Cloud Testing: The Future of software Testing
 
BDD: The unit test of the product owner
BDD: The unit test of the product ownerBDD: The unit test of the product owner
BDD: The unit test of the product owner
 
CP-SAT - Certified Professional Selenium Automation Testing
CP-SAT - Certified Professional Selenium Automation TestingCP-SAT - Certified Professional Selenium Automation Testing
CP-SAT - Certified Professional Selenium Automation Testing
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
End to end testing - strategies
End to end testing - strategiesEnd to end testing - strategies
End to end testing - strategies
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 
Istqb 4-테스트설계기법-2015-3-배포
Istqb 4-테스트설계기법-2015-3-배포Istqb 4-테스트설계기법-2015-3-배포
Istqb 4-테스트설계기법-2015-3-배포
 
Chapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and ToolsChapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and Tools
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
How to go about testing in React?
How to go about testing in React? How to go about testing in React?
How to go about testing in React?
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 

Viewers also liked

Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаPromodo
 
AATC2016: Exploratory testing an API
AATC2016: Exploratory testing an APIAATC2016: Exploratory testing an API
AATC2016: Exploratory testing an API
Maaret Pyhäjärvi
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельно
Нетология
 
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIAAÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
Leonardo Concon
 
чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016
Astronim*Support
 
План тестирования сайта
План тестирования сайтаПлан тестирования сайта
План тестирования сайта
EDISON Software Development Centre
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
Michelle Lagare, CSM
 
Инструменты для тестирования UI
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UIISsoft
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
Rob Swoboda
 
Exploratory Testing Explained and Experienced
Exploratory Testing Explained and ExperiencedExploratory Testing Explained and Experienced
Exploratory Testing Explained and Experienced
Maaret Pyhäjärvi
 
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
TEST Huddle
 
Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практикеSoftline
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
Leodan Ramirez
 
Kilut vip 5
Kilut vip 5Kilut vip 5
Kilut vip 5
angelarochermunoz
 
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
Lauren Ray
 
Interface Wireles
Interface WirelesInterface Wireles
Interface Wireles
Rod Hinojosa
 
LinkedIn Lite - Connecting Global Opportunity at Scale
LinkedIn Lite - Connecting Global Opportunity at ScaleLinkedIn Lite - Connecting Global Opportunity at Scale
LinkedIn Lite - Connecting Global Opportunity at ScaleMarius Greeff
 
Evaluación psicopedagógica
Evaluación psicopedagógicaEvaluación psicopedagógica
Evaluación psicopedagógica
famansar
 

Viewers also liked (19)

Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайта
 
AATC2016: Exploratory testing an API
AATC2016: Exploratory testing an APIAATC2016: Exploratory testing an API
AATC2016: Exploratory testing an API
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельно
 
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIAAÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
AÇÃO DE IMPROBIDADE NA CÂMARA MUNICIPAL DE SEVERÍNIA
 
чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016
 
План тестирования сайта
План тестирования сайтаПлан тестирования сайта
План тестирования сайта
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Инструменты для тестирования UI
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UI
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
 
Exploratory Testing Explained and Experienced
Exploratory Testing Explained and ExperiencedExploratory Testing Explained and Experienced
Exploratory Testing Explained and Experienced
 
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 
Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практике
 
01
0101
01
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Kilut vip 5
Kilut vip 5Kilut vip 5
Kilut vip 5
 
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
All Tomorrow's Programs: New Modes of Librarian Engagement and Student Collab...
 
Interface Wireles
Interface WirelesInterface Wireles
Interface Wireles
 
LinkedIn Lite - Connecting Global Opportunity at Scale
LinkedIn Lite - Connecting Global Opportunity at ScaleLinkedIn Lite - Connecting Global Opportunity at Scale
LinkedIn Lite - Connecting Global Opportunity at Scale
 
Evaluación psicopedagógica
Evaluación psicopedagógicaEvaluación psicopedagógica
Evaluación psicopedagógica
 

Similar to Karen N. Johnson - software testing heuristics & mnemonics

Karen N. Johnson - Discipline
Karen N. Johnson - DisciplineKaren N. Johnson - Discipline
Karen N. Johnson - Discipline
Karen N. Johnson
 
Digital QA Summit - Karen N. Johnson - Testing Explained
Digital QA Summit - Karen N. Johnson - Testing ExplainedDigital QA Summit - Karen N. Johnson - Testing Explained
Digital QA Summit - Karen N. Johnson - Testing Explained
Karen N. Johnson
 
Testing and test construction part i mirna
Testing and test construction   part i mirnaTesting and test construction   part i mirna
Testing and test construction part i mirnamirquint
 
Oredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerOredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developer
Karen N. Johnson
 
Optimization of NLP Components for Robustness and Scalability
Optimization of NLP Components for Robustness and ScalabilityOptimization of NLP Components for Robustness and Scalability
Optimization of NLP Components for Robustness and ScalabilityJinho Choi
 

Similar to Karen N. Johnson - software testing heuristics & mnemonics (6)

Karen N. Johnson - Discipline
Karen N. Johnson - DisciplineKaren N. Johnson - Discipline
Karen N. Johnson - Discipline
 
Digital QA Summit - Karen N. Johnson - Testing Explained
Digital QA Summit - Karen N. Johnson - Testing ExplainedDigital QA Summit - Karen N. Johnson - Testing Explained
Digital QA Summit - Karen N. Johnson - Testing Explained
 
Testing and test construction part i mirna
Testing and test construction   part i mirnaTesting and test construction   part i mirna
Testing and test construction part i mirna
 
Raport en
Raport enRaport en
Raport en
 
Oredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerOredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developer
 
Optimization of NLP Components for Robustness and Scalability
Optimization of NLP Components for Robustness and ScalabilityOptimization of NLP Components for Robustness and Scalability
Optimization of NLP Components for Robustness and Scalability
 

More from Karen N. Johnson

What Is Your Overall Career Goal? EuroStar 2018 KNJohnson
What Is Your Overall Career Goal? EuroStar 2018 KNJohnsonWhat Is Your Overall Career Goal? EuroStar 2018 KNJohnson
What Is Your Overall Career Goal? EuroStar 2018 KNJohnson
Karen N. Johnson
 
Making Test Automation Visible
Making Test Automation VisibleMaking Test Automation Visible
Making Test Automation Visible
Karen N. Johnson
 
Oredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software TestingOredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software Testing
Karen N. Johnson
 
Karen N. Johnson: Managing an Offshore Team
Karen N. Johnson: Managing an Offshore TeamKaren N. Johnson: Managing an Offshore Team
Karen N. Johnson: Managing an Offshore Team
Karen N. Johnson
 
Karen N. Johnson: Storytelling (2008)
Karen N. Johnson: Storytelling (2008)Karen N. Johnson: Storytelling (2008)
Karen N. Johnson: Storytelling (2008)
Karen N. Johnson
 
KNJohnson: The Art of Asking Questions
KNJohnson: The Art of Asking QuestionsKNJohnson: The Art of Asking Questions
KNJohnson: The Art of Asking Questions
Karen N. Johnson
 
Karen N. Johnson - Thinking Skills
Karen N. Johnson - Thinking SkillsKaren N. Johnson - Thinking Skills
Karen N. Johnson - Thinking SkillsKaren N. Johnson
 
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013Karen N. Johnson
 
Karen N Johnson Working on a Virtual Teams
Karen N Johnson Working on a Virtual TeamsKaren N Johnson Working on a Virtual Teams
Karen N Johnson Working on a Virtual Teams
Karen N. Johnson
 
Karen N. Johnson Storytelling (2009)
Karen N. Johnson Storytelling (2009)Karen N. Johnson Storytelling (2009)
Karen N. Johnson Storytelling (2009)
Karen N. Johnson
 

More from Karen N. Johnson (10)

What Is Your Overall Career Goal? EuroStar 2018 KNJohnson
What Is Your Overall Career Goal? EuroStar 2018 KNJohnsonWhat Is Your Overall Career Goal? EuroStar 2018 KNJohnson
What Is Your Overall Career Goal? EuroStar 2018 KNJohnson
 
Making Test Automation Visible
Making Test Automation VisibleMaking Test Automation Visible
Making Test Automation Visible
 
Oredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software TestingOredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software Testing
 
Karen N. Johnson: Managing an Offshore Team
Karen N. Johnson: Managing an Offshore TeamKaren N. Johnson: Managing an Offshore Team
Karen N. Johnson: Managing an Offshore Team
 
Karen N. Johnson: Storytelling (2008)
Karen N. Johnson: Storytelling (2008)Karen N. Johnson: Storytelling (2008)
Karen N. Johnson: Storytelling (2008)
 
KNJohnson: The Art of Asking Questions
KNJohnson: The Art of Asking QuestionsKNJohnson: The Art of Asking Questions
KNJohnson: The Art of Asking Questions
 
Karen N. Johnson - Thinking Skills
Karen N. Johnson - Thinking SkillsKaren N. Johnson - Thinking Skills
Karen N. Johnson - Thinking Skills
 
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013
Karen N. Johnson - Mobile Testing keynote delivered at Test Istanbul 2013
 
Karen N Johnson Working on a Virtual Teams
Karen N Johnson Working on a Virtual TeamsKaren N Johnson Working on a Virtual Teams
Karen N Johnson Working on a Virtual Teams
 
Karen N. Johnson Storytelling (2009)
Karen N. Johnson Storytelling (2009)Karen N. Johnson Storytelling (2009)
Karen N. Johnson Storytelling (2009)
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Karen N. Johnson - software testing heuristics & mnemonics

  • 1. 11/4/2012 Software Testing Heuristics & Mnemonics Karen N. Johnson 1
  • 2. 11/4/2012 Session Description Are you curious about heuristics and how to use them? In this session, Karen Johnson explains what a heuristic is, what a mnemonic is, and how heuristics and mnemonics are sometimes used together. A number of both heuristics and mnemonics have been created in the software testing community. Karen reviews several of each and gives examples of how to use and apply heuristics and mnemonics. In this session, Karen outlines how to create your own mnemonics and heuristics. She shares ways to use both during Exploratory Testing. © Karen N. Johnson, 2012 2
  • 3. 11/4/2012 Karen N. Johnson • Software Test Consultant • Published Author • Teach Software Testing • Speak at conferences • Co-founder of WREST, the Workshop on Regulated Software Testing • Website: www.karennjohnson.com • Twitter: @karennjohnson © Karen N. Johnson, 2012 3
  • 4. 11/4/2012 What is a heuristic? Heuristic ( /hjʉˈrɪstɨk/; or /hyoo-ris-tik/; Greek: "Εὑρίσκω", "find" or "discover") Refers to experience-based techniques for problem solving, learning, and discovery. Where an exhaustive search is impractical, heuristic methods are used to speed up the process of finding a satisfactory solution. Examples of this method include using a rule of thumb, an educated guess, an intuitive judgment, or common sense. © Karen N. Johnson, 2012 4
  • 5. 11/4/2012 Heuristic Examples (not from software testing) From George Polya’s book: “How to Solve It” • If you are having difficulty understanding a problem, try drawing a picture. • If you can't find a solution, try assuming that you have a solution and seeing what you can derive from that ("working backward"). • If the problem is abstract, try examining a concrete example. © Karen N. Johnson, 2012 5
  • 6. 11/4/2012 What is a mnemonic? Definition of mnemonic: a device (such as a rhyme or acronym) used as a memory aid Example: To memorize the North American Great Lakes: the acronym HOMES - matching the letters of the five lakes (Huron, Ontario, Michigan, Erie, and Superior) © Karen N. Johnson, 2012 6
  • 7. 11/4/2012 Heuristics do not have to have a mnemonic • A well-known heuristic and an example of a heuristic that does not have a mnemonic is Elisabeth Hendrickson’s “Goldilocks.” • Elisabeth highlights the following: Too big, too small and just right. • By recalling “Goldilocks” I think about data entry fields and other variables where I can test with too large of an entry, too small of an entry and testing a more “expected” entry. • Imagine trying to enter a date field with all 9’s or a currency field with a negative number. © Karen N. Johnson, 2012 7
  • 8. 11/4/2012 Let’s try an example of how a heuristics & mnemonic can be used in testing. Ready? © Karen N. Johnson, 2012 8
  • 9. 11/4/2012 Sample regression mnemonic: RCRCRC The mnemonic is RCRCRC used to remember the heuristic to help with regression testing. Each letter represents a word I use to help me discover testing ideas. • Recent • Core • Risky • Configuration • Repaired • Chronic © Karen N. Johnson, 2012 9
  • 10. 11/4/2012 Sample regression mnemonic: RCRCRC First letter: R for Recent • Recent – meaning – what new features or new areas of code have been added? • What changed recently? • What testing around those changes should I think about? © Karen N. Johnson, 2012 10
  • 11. 11/4/2012 Sample regression mnemonic: RCRCRC Second letter: C for Core • Core – meaning – what essential or critical functions or features must continue to work? • What does this application primarily do? © Karen N. Johnson, 2012 11
  • 12. 11/4/2012 Sample regression mnemonic: RCRCRC Third letter: R for Risky • Risk or Risky – meaning – what features or areas of code are inherently more risky? • What features of the application do I want to safeguard? © Karen N. Johnson, 2012 12
  • 13. 11/4/2012 Sample regression mnemonic: RCRCRC Fourth letter: C for Configuration Sensitive • Configuration sensitive – meaning – what code is dependent on environment settings? • What testing do I want to plan based on the environment? • This testing might include planning a subset of tests for production after go live. © Karen N. Johnson, 2012 13
  • 14. 11/4/2012 Sample regression mnemonic: RCRCRC Fifth letter: R for Repaired • Repaired– meaning – what code has been changed to address defects and therefore may have created issues? • What testing do I want to do based on defects fixed? © Karen N. Johnson, 2012 14
  • 15. 11/4/2012 Sample regression mnemonic: RCRCRC Sixth letter: C for Chronic • Chronic – meaning some code may seem to be chronically breaking or having issues. • This letter reminds me to test features that seem to break often. © Karen N. Johnson, 2012 15
  • 16. 11/4/2012 How about another example? I used James Bach’s well-known heuristic SFDPOT and applied that heuristic to mobile testing. © Karen N. Johnson, 2012 16
  • 17. 11/4/2012 How I applied this to mobile testing: SFDPOT • Can I download the app? SFDPOT, heuristic by • Can I download an update? James Bach • Can I update the app when I have multiple apps to update? S is for Structure • What happens when the operating system of the device is updated? Test what it’s made of. • Does the app write to an SD card? • What if the card is filled, removed or changed? © Karen N. Johnson, 2012 17
  • 18. 11/4/2012 How I applied this to mobile testing: SFDPOT • Does the app or site perform the tasks or features it was designed to? SFDPOT, heuristic by James Bach • Does the app or site prevent, block or not include features not intended on a mobile device? F is for Function • Does the app or mobile website ever direct me to the “full site or desktop Test what it does. version”? • Does the app direct me to turn on necessary related services such as location services if those services are shut off? © Karen N. Johnson, 2012 18
  • 19. 11/4/2012 How I applied this to mobile testing: SFDPOT • Does the app find time related data (if relevant, such as movie show times) based on the device time? • Does the app find locations based on my SFDPOT, heuristic by location (such as movie theaters or hotels) James Bach • Does the app integrate with any hardware such as bar code scanners for payment or other purposes? D is for Data • If the app tracks rewards or points for frequent purchases, does this data get Test what it does it to. updated? • If the app integrates with a desktop profile or account information (such as My Profile or My Account), does the app and the desktop version keep information in sync with each other? © Karen N. Johnson, 2012 19
  • 20. 11/4/2012 How I applied this to mobile testing: SFDPOT • Does the app use location services? SFDPOT, heuristic by • Does the app depend on any device James Bach settings? • Does the app detect the platform it is running on such as a phone or tablet? P is for Platform • Can I find the app in the app store? Test what it depends upon. © Karen N. Johnson, 2012 20
  • 21. 11/4/2012 How I applied this to mobile testing: SFDPOT • Does the app function when I am moving and traveling around? SFDPOT, heuristic by James Bach • What happens when I switch to Wi-Fi vs. 3G ? • What happens if my Wi-Fi connection O Is for Operations is down or intermittent? Test how it’s used. • What happens when a mobile interruption occurs such as an incoming call or text message? • What happens when the device is set to airplane mode? © Karen N. Johnson, 2012 21
  • 22. 11/4/2012 How I applied this to mobile testing: SFDPOT • What happens if the time zone is switched? SFDPOT, heuristic by James Bach • What happens when my location is switched? • Does the device auto detect a change T is for Time in time zones and reset the time (and possibly) the day and date? Test how it’s affected by time. • Does the app find time-related data based on my device time (such as reservation times available or movies show times)? © Karen N. Johnson, 2012 22
  • 23. 11/4/2012 Moolya Testing blog post by Dhanasekar S Another example - A mind map and testing planned inspired from James Bach’s SFDPOT (San Francisco Depot) and Jonathan Kohl’s I SLICED UP FUN! Source: http://moolya.com/blog/?s=sfdpot © Karen N. Johnson, 2012 23
  • 24. 11/4/2012 Applying Heuristics First, learn about heuristics. Being knowledgeable about heuristics gives you tools to apply and encourages you to develop your skills. Second, come to understand when a heuristic or method is helpful, when it should be used and when it should not be used. Learn how to frame your own problem so you can apply the best heuristic to solve the problem. - Adapted from “How to Solve It: Modern Heuristics” by Z. Michalewicz & D. Fogel © Karen N. Johnson, 2012 24
  • 25. 11/4/2012 Developing Heuristics • Look for ideas in testing that frequently get you results – perhaps some idea that often provokes the application you test and uncovers defects. • “Time” is one idea I think of often. I work with timestamps and other date-sensitive fields (data replication testing, BI testing, etc.) • Look for patterns, look for commonality. © Karen N. Johnson, 2012 25
  • 26. 11/4/2012 Customize Heuristics • Remember that you don’t have to use someone else’s heuristic in its entity – you can use part of a heuristic. For example, you might not find an applicable need for the “chronic” element in my regression heuristic. Feel free to drop part of a heuristic; keep what helps. • Adapt someone else’s heuristic to better help yourself. © Karen N. Johnson, 2012 26
  • 27. 11/4/2012 Creating Mnemonics • If a shortcut memory device helps you recall your ideas, then create a mnemonic. • I found by thinking of three R’s (recent, repaired and risky) and three C’s (core, chronic and configuration), I was able to rapidly direct myself to testing that would uncover defects. • Don’t create a mnemonic if it doesn’t help you! © Karen N. Johnson, 2012 27
  • 28. 11/4/2012 Karen Johnson a heuristic card deck I collected all the testing heuristics I could find and formatted the heuristics to print on index cards. I’ve made card decks for testers. The purpose? To have a handy set of ideas easily within reach. Download for free. © Karen N. Johnson, 2012 28
  • 29. 11/4/2012 Elisabeth Hendrickson’s “cheat sheet” This two page cheat sheet has been around for several years. You can download the cheat sheet as a PDF from her website. 29
  • 30. 11/4/2012 References • How to Solve It, by G. Polya • How to Solve It: Modern Heuristics, by Z. Michalewicz & D. Fogel • James Bach, blog post: The Essence of Heuristics http://www.satisfice.com/blog/archives/462 • Elisabeth Hendrickson. Cheat Sheet which includes some heuristicswww.testobsessed.com/wp- content/.../testheuristicscheatsheetv1.pdf • Michael Bolton, blog post: Heuristics for Understanding Heuristicshttp://www.developsense.com/blog/2012/04/heuristics-for- understanding-heuristics/ • Karen N. Johnson, heuristic card deck www.karennicolejohnson.com/.../testing-mnemonics-as-a-card-deck/ 30
  • 31. 11/4/2012 References • Jonathan Kohl, blog post: Learning Testing Heuristics http://www.kohl.ca/2006/learning-testing-heuristics/ • Adam Goucher, blog post: http://adam.goucher.ca/?p=200 • Michael D. Kelly, blog entries: http://michaeldkelly.com/blog/category/heuristics • Lynn McKee, testing mnemonics www.qualityperspectives.ca/resources_mnemonics.html • Daily Testing Tips, www.quicktestingtips.com/tips/category/heuristics/ • Moolya Testing http://moolya.com/index.html 31
  • 32. 11/4/2012 Thank you for being here! • Questions? Karen Nicole Johnson • Comments? Email: • Can you use this? karen@karennjohnson.com • Does this help you? Site: www.karennicolejohnson.com • Please complete an eval form. or www.karennnjohnson.com 32