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

powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing trainingJohn Roddy
 
軟體架構設計的技術養成之路
軟體架構設計的技術養成之路軟體架構設計的技術養成之路
軟體架構設計的技術養成之路Gelis Wu
 
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022Jason Cheng
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmineGo Maeda
 
Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9teddysoft
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaEdureka!
 
مقدمة في البرمجة
مقدمة في البرمجةمقدمة في البرمجة
مقدمة في البرمجةgueste902d
 
小學三年級語文知識工作紙:重組句子(十九)
小學三年級語文知識工作紙:重組句子(十九)小學三年級語文知識工作紙:重組句子(十九)
小學三年級語文知識工作紙:重組句子(十九)miss wong
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)William Yeh
 
Test driven development
Test driven developmentTest driven development
Test driven developmentNascenia IT
 
Test unitaire
Test unitaireTest unitaire
Test unitaireIsenDev
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなすonozaty
 
はじめる! Redmine (2015)
はじめる! Redmine (2015)はじめる! Redmine (2015)
はじめる! Redmine (2015)Go Maeda
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2Trevor Warren
 
テストを書こう、Unity編
テストを書こう、Unity編テストを書こう、Unity編
テストを書こう、Unity編Hiroto Imoto
 
Clean Code summary
Clean Code summaryClean Code summary
Clean Code summaryJan de Vries
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic TestingJimi Patel
 

Tendances (20)

powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
 
軟體架構設計的技術養成之路
軟體架構設計的技術養成之路軟體架構設計的技術養成之路
軟體架構設計的技術養成之路
 
例外處理設計
例外處理設計例外處理設計
例外處理設計
 
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022
採用開源軟體打造企業資安監測系統 [2022/10/06] @InfoSec Taiwan 2022
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmine
 
Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9Dci vs aggregate_dddtw_2021-0.3-16-9
Dci vs aggregate_dddtw_2021-0.3-16-9
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
 
مقدمة في البرمجة
مقدمة في البرمجةمقدمة في البرمجة
مقدمة في البرمجة
 
小學三年級語文知識工作紙:重組句子(十九)
小學三年級語文知識工作紙:重組句子(十九)小學三年級語文知識工作紙:重組句子(十九)
小學三年級語文知識工作紙:重組句子(十九)
 
QC Story _問題解決型
QC Story _問題解決型QC Story _問題解決型
QC Story _問題解決型
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなす
 
はじめる! Redmine (2015)
はじめる! Redmine (2015)はじめる! Redmine (2015)
はじめる! Redmine (2015)
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2
 
テストを書こう、Unity編
テストを書こう、Unity編テストを書こう、Unity編
テストを書こう、Unity編
 
Clean Code summary
Clean Code summaryClean Code summary
Clean Code summary
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 

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

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
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Dernier (20)

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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

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