Test Heuristics and Mnemonics

35
TEST HEURISTICS AND MNEMONICS STC MEETUP CAMBRIDGE 08/06/2015 by / / Karo Stoltzenburg @karostol LinkedIn

Transcript of Test Heuristics and Mnemonics

TEST HEURISTICS ANDMNEMONICS

STC MEETUP CAMBRIDGE 08/06/2015by / / Karo Stoltzenburg @karostol LinkedIn

CONTENTHeuristics? Heuristics!Applying HeuristicsMnemonicsWhy using them?Todays featured examples:

Touring Heuristics (FCC CUTS VIDS)FEW HICCUPPS

Practice: Test planning using HeuristicsWrap up and discussion

HEURISTICS?A heuristic is ...

a fallible method for solving a problem ormaking a decision.

a technique to produce a solution in areasonable time frame that is good enough

for solving the problem at hand.

HEURISTICS!Technique that helps to get satisfactory solutions when

faced with shortage of time or information. Who wouldn't want that?

APPLYING HEURISTICSHeuristics are used all the time. Well known examplesinclude rule of thumb, educated guess, intuitivejudgement, common sense, trial and error, drawing apicture, going from abstract to concrete, etc.As always: Apply intelligent judgement. Use it if, when,however and as long as you feel it helps you to achieveyour goal.

MNEMONICSA device or technique (like a rhyme or an acronym), thatcan be used as a memory aidhelps us to retain and remember information betterWell known examples include the knuckle mnemonic forthe number of days in each month, singing the ABC's toremember the alphabet, acronyms for guitar string names("EADGBE"), etc.

WHY USING THEM?Learn about the different Mnemnonics and Heuristics and

make them part of your toolkit as a tester!

to generate test ideasto write or review test plansto review test coverage and test areasTo report on testing and name "quality criteria"... generally to approach questions on when to start orstop testing, how or where to test, what an expectedoutcome might be or how a problem might look like

TOURING HEURISTIC (FCC CUTS VIDS)

Touring Heuristic by Mike Kelly, inspired by James Bach.Few simple techniques ("tours") aiming to gain familiaritywith an application.

TOURING HEURISTIC (FCC CUTS VIDS)

Mindmap inspired by Jonathan Kohl

FEATURE TOURMove through the application and get familiar with all the

controls and features you come across.

COMPLEXITY TOURFind the five most complex things about the application.

CLAIMS TOURFind all the information in the product that tells you what

the product does.

CONFIGURATION TOURAttempt to find all the ways you can change settings in the

product in a way that the application retains those settings.

USER TOURImagine five users for the product and the information they

would want from the product or the major features theywould be interested in

TESTABILITY TOURFind all the features you can use as testability features

and/or identify tools you have available that you can use tohelp in your testing

SCENARIO TOURImagine five realistic scenarios for how the users identified

in the user tour would use this product.

VARIABILITY TOURLook for things you can change in the application - and then

you try to change them.

INTEROPERABILITY TOURWhat does the application interact with?

DATA TOURIdentify the major data elements of the application

STRUCTURE TOURFind everything you can about what comprises the physical

product (code, interfaces, hardware, files, etc...).

FEW HICCUPPSWell known heuristics created by James Bach and MichaelBoltonOriginally known as HICCUPPS, but later expanded to aFEW HICCUPPSUseful heuristic when specification is missing, short orless helpfulFocuses on consistency criteria

HISTORYWe expect the present version of the system to be consistent

with past versions of it.

IMAGEWe expect the system to be consistent with an image that

the organization wants to project, with its brand, or with itsreputation.

COMPARABLE PRODUCTSWe expect the system to be consistent with systems that are

in some way comparable. This includes other products inthe same product line; competitive products, services, or

systems; or products that are not in the same category butwhich process the same data; or alternative processes or

algorithms.

CLAIMSWe consider that the system should be consistent with

things important people say about it, whether in writing(references specifications, design documents, manuals…) or

in conversation (meetings, public announcements,lunchroom conversations…).

USERS’ DESIRESWe believe that the system should be consistent with ideasabout what reasonable users might want. (Note: used to be

called "user expectations")

PRODUCTWe expect each element of the system (or product) to be

consistent with comparable elements in the same system.

PURPOSEWe expect the system to be consistent with the explicit and

implicit uses to which people might put it.

STATUTES AND STANDARDSWe expect a system to be consistent with relevant statutes,acts, laws, regulationsor standards that are relevant to the

product or its use.

FAMILIARITYWe expect the system to be inconsistent with patterns of

familiar problems.

EXPLAINABILITYWe expect a system to be understandable to the degree that

we can articulately explain its behaviour to ourselves andothers.

WORLDWe expect the product to be consistent with things that we

know about or can observe in the world.

REFERENCES

James Thomas: Oracles and Heuristics. A Very Brief Intro

Karen N. Johnson: So�ware Testing Heuristics &MnemonicsHeuristics, WikipediaJames Bach: The Essence of Heuristics

Mike Kelly: Touring HeuristicJonathan Kohl: Modeling Test HeuristicsMichael Bolton: FEW HICCUPPS

FURTHER READINGGeorge Pólya: How to Solve It (1945)Testing Mnemonics. A list of so�ware testing relatedmnemonics, curated by Lynn McKee)Elisabeth Hendrickson: Test Heuristics Cheat SheetMichael Bolton: Testing Without a Map

THANKS!Any Question?Interested in trying it out?