SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
 
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019John Archer
 
Manual Testing
Manual TestingManual Testing
Manual TestingG.C Reddy
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium AutomationMindfire Solutions
 
Shrikant Bhongade - Dot Net Resume
Shrikant Bhongade - Dot Net ResumeShrikant Bhongade - Dot Net Resume
Shrikant Bhongade - Dot Net ResumeShrikant Bhongade
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowRachid Kherrazi
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Khoa Bui
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsSmartBear
 
Rajakarthik Resume - QA Automation
Rajakarthik Resume - QA AutomationRajakarthik Resume - QA Automation
Rajakarthik Resume - QA Automationrajakarthikr
 
Karate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made SimpleKarate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made SimpleVodqaBLR
 
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark RichardsFwdays
 
sumeet_resume(Manual_Testing)latest
sumeet_resume(Manual_Testing)latestsumeet_resume(Manual_Testing)latest
sumeet_resume(Manual_Testing)latestSumeet Kaur
 
RICHARD J.Y - Barge Admin_CV & Offshore Docs
RICHARD J.Y - Barge Admin_CV & Offshore DocsRICHARD J.Y - Barge Admin_CV & Offshore Docs
RICHARD J.Y - Barge Admin_CV & Offshore DocsRichard James Yaman
 
Introduction to Jhipster
Introduction to JhipsterIntroduction to Jhipster
Introduction to JhipsterKnoldus Inc.
 

Tendances (20)

Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
 
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
My resume selenium
My resume   seleniumMy resume   selenium
My resume selenium
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium Automation
 
Shrikant Bhongade - Dot Net Resume
Shrikant Bhongade - Dot Net ResumeShrikant Bhongade - Dot Net Resume
Shrikant Bhongade - Dot Net Resume
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
 
Rajakarthik Resume - QA Automation
Rajakarthik Resume - QA AutomationRajakarthik Resume - QA Automation
Rajakarthik Resume - QA Automation
 
Karate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made SimpleKarate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made Simple
 
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards
 
Jenkins Job DSL plugin
Jenkins Job DSL plugin Jenkins Job DSL plugin
Jenkins Job DSL plugin
 
sumeet_resume(Manual_Testing)latest
sumeet_resume(Manual_Testing)latestsumeet_resume(Manual_Testing)latest
sumeet_resume(Manual_Testing)latest
 
RICHARD J.Y - Barge Admin_CV & Offshore Docs
RICHARD J.Y - Barge Admin_CV & Offshore DocsRICHARD J.Y - Barge Admin_CV & Offshore Docs
RICHARD J.Y - Barge Admin_CV & Offshore Docs
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Introduction to Jhipster
Introduction to JhipsterIntroduction to Jhipster
Introduction to Jhipster
 
Introduction to OpenTelemetry in .NET
Introduction to OpenTelemetry in .NETIntroduction to OpenTelemetry in .NET
Introduction to OpenTelemetry in .NET
 

En vedette

Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаPromodo
 
AATC2016: Exploratory testing an API
AATC2016: Exploratory testing an APIAATC2016: Exploratory testing an API
AATC2016: Exploratory testing an APIMaaret 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ÍNIALeonardo Concon
 
чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016чек лист 100 запуска сайта 2016
чек лист 100 запуска сайта 2016Astronim*Support
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
Инструменты для тестирования UI
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UIISsoft
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter templateRob Swoboda
 
Exploratory Testing Explained and Experienced
Exploratory Testing Explained and ExperiencedExploratory Testing Explained and Experienced
Exploratory Testing Explained and ExperiencedMaaret 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
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testingsriks7
 
Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практикеSoftline
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computaciónLeodan Ramirez
 
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
 
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ógicafamansar
 

En vedette (20)

Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайта
 
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...
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
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
 

Similaire à Karen N. Johnson - software testing heuristics & mnemonics

Karen N. Johnson - Discipline
Karen N. Johnson - DisciplineKaren N. Johnson - Discipline
Karen N. Johnson - DisciplineKaren 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 ExplainedKaren 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 developerKaren 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
 

Similaire à 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
 

Plus de 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 KNJohnsonKaren N. Johnson
 
Making Test Automation Visible
Making Test Automation VisibleMaking Test Automation Visible
Making Test Automation VisibleKaren N. Johnson
 
Oredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software TestingOredev 2014 KNJohnson: UX & Software Testing
Oredev 2014 KNJohnson: UX & Software TestingKaren 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 TeamKaren 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 QuestionsKaren 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 TeamsKaren 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
 

Plus de 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)
 

Dernier

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Dernier (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

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