SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Maa goldengate-rac-2007111
Maa goldengate-rac-2007111Maa goldengate-rac-2007111
Maa goldengate-rac-2007111pablitosax
 
Mutation Testing: Testing your tests
Mutation Testing: Testing your testsMutation Testing: Testing your tests
Mutation Testing: Testing your testsStephen Leigh
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksJeff Smith
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And MockingJoe Wilson
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
Automation world under the DevTestSecOps umbrella
Automation world under the DevTestSecOps umbrellaAutomation world under the DevTestSecOps umbrella
Automation world under the DevTestSecOps umbrellaKatherine Golovinova
 
Data driven testing
Data driven testingData driven testing
Data driven testingĐăng Minh
 
OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2vasuballa
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
DevOps Challenges and Best Practices
DevOps Challenges and Best PracticesDevOps Challenges and Best Practices
DevOps Challenges and Best PracticesBrian Chorba
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testingHimanshu
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 
Severity & priority in software testing
Severity & priority in software testingSeverity & priority in software testing
Severity & priority in software testingmedsherb
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and SplunkSplunk
 
What Is Iso/iec 15504
What Is Iso/iec 15504What Is Iso/iec 15504
What Is Iso/iec 15504pax_isp
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningScott Jenner
 

La actualidad más candente (20)

Maa goldengate-rac-2007111
Maa goldengate-rac-2007111Maa goldengate-rac-2007111
Maa goldengate-rac-2007111
 
Mutation Testing: Testing your tests
Mutation Testing: Testing your testsMutation Testing: Testing your tests
Mutation Testing: Testing your tests
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & Tricks
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
Automation world under the DevTestSecOps umbrella
Automation world under the DevTestSecOps umbrellaAutomation world under the DevTestSecOps umbrella
Automation world under the DevTestSecOps umbrella
 
TestCraft
TestCraftTestCraft
TestCraft
 
Data driven testing
Data driven testingData driven testing
Data driven testing
 
OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
DevOps Challenges and Best Practices
DevOps Challenges and Best PracticesDevOps Challenges and Best Practices
DevOps Challenges and Best Practices
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testing
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
 
Severity & priority in software testing
Severity & priority in software testingSeverity & priority in software testing
Severity & priority in software testing
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and Splunk
 
Test cases
Test casesTest cases
Test cases
 
What Is Iso/iec 15504
What Is Iso/iec 15504What Is Iso/iec 15504
What Is Iso/iec 15504
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance Tuning
 

Destacado

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

Destacado (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
 

Similar a 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
 

Similar a 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
 

Más 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
 

Más 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)
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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