copyright © 2003, andy tinkham

22
Copyright © 2003, Andy Tinkham & Cem Kaner Copyright © 2003, Andy Tinkham & Cem Kaner This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF). (NSF). Exploring Exploring Exploratory Exploratory Testing Testing Andy Tinkham, CSQA, CSTE Andy Tinkham, CSQA, CSTE Florida Institute of Florida Institute of Technology Technology [email protected] [email protected]

Upload: softwarecentral

Post on 26-Jun-2015

267 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem KanerThis research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and

conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).Foundation (NSF).

Exploring Exploratory Exploring Exploratory TestingTesting

Andy Tinkham, CSQA, CSTEAndy Tinkham, CSQA, CSTE

Florida Institute of TechnologyFlorida Institute of Technology

[email protected]@tinkham.org

Page 2: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

About MeAbout Me

Master’s student at Florida TechMaster’s student at Florida Tech

Pursuing degree in Software Engineering, with Pursuing degree in Software Engineering, with focus on Software Testingfocus on Software Testing

Thesis topic is exploratory testing and how to Thesis topic is exploratory testing and how to more effectively train testers in exploratory more effectively train testers in exploratory techniquestechniques

Page 3: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Learning ObjectivesLearning Objectives

Realize what good exploratory testing Realize what good exploratory testing entailsentailsSee why testers should plan to use See why testers should plan to use exploratory techniques in their day to day exploratory techniques in their day to day testing activities testing activities Discover how to use risks to define Discover how to use risks to define specific exploratory tests specific exploratory tests Learn simple heuristics to help in risk Learn simple heuristics to help in risk identification identification

Page 4: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

What is Exploratory Testing?What is Exploratory Testing?

LAWST VII AttributesLAWST VII Attributes InteractiveInteractive Concurrence of cognition and Concurrence of cognition and

executionexecution CreativityCreativity Drive towards fast resultsDrive towards fast results De-emphasize archived testing De-emphasize archived testing

materialsmaterials

Page 5: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

What is Exploratory Testing?What is Exploratory Testing?

Current working definition (from Bach)Current working definition (from Bach) ““Any testing to the extent that the tester actively Any testing to the extent that the tester actively

controls the design of the tests as those tests are controls the design of the tests as those tests are performed and uses information gained while performed and uses information gained while testing to design new and better tests”testing to design new and better tests”

Page 6: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Continuum of testingContinuum of testing

Purely scripted on one sidePurely scripted on one side Purely exploratory on the otherPurely exploratory on the other Most testing falls somewhere in the middleMost testing falls somewhere in the middle

Page 7: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Good exploratory testing skillsGood exploratory testing skills

Able to craft tests that Able to craft tests that systematically explore the systematically explore the productproductAbility to analyze productAbility to analyze productEvaluate riskEvaluate riskUse toolsUse toolsThink criticallyThink criticallyMore careful observationMore careful observationDistinguish observation Distinguish observation from inferencefrom inferenceAble to review and Able to review and explain logicexplain logic

Look for errors in their own Look for errors in their own thinkingthinkingProduce more and better Produce more and better ideasideasGroup brainstormingGroup brainstormingMaintain deep inventoryMaintain deep inventoryAbility to pose useful Ability to pose useful questionsquestionsDescribe what you seeDescribe what you seeRecognize and manage Recognize and manage biasbiasForm and test conjecturesForm and test conjectures

Page 8: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

What do Exploratory Testers What do Exploratory Testers Know?Know?

All exploratory testing All exploratory testing based on knowledgebased on knowledge

Some of this Some of this knowledge is gained knowledge is gained during the testingduring the testing

Other knowledge is Other knowledge is already in the tester’s already in the tester’s possessionpossession

Page 9: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Examples of Tester KnowledgeExamples of Tester Knowledge

This application (or this type of application)This application (or this type of application)

The platform the application will run on (or this The platform the application will run on (or this type of platform)type of platform)

Risks associated with this platform or application Risks associated with this platform or application typetype

How programs fail in generalHow programs fail in general

Specific test techniques and toolsSpecific test techniques and tools

Page 10: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Sources of Tester KnowledgeSources of Tester Knowledge

ExperientialExperiential

TrainingTraining

Published Bug TaxonomiesPublished Bug Taxonomies

Heuristic ModelsHeuristic Models

Page 11: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Other Differences Across Other Differences Across Exploratory TestersExploratory Testers

““Styles” of explorationStyles” of exploration Subject matter experts Subject matter experts come up with scenarios that come up with scenarios that

rely heavily on use of productrely heavily on use of product Technique experts Technique experts know certain techniques and look know certain techniques and look

for situations to use them infor situations to use them in

Page 12: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Questioning StrategiesQuestioning Strategies

Testing as questioning the applicationTesting as questioning the application Each question answered correctly Each question answered correctly

increases our confidence in the increases our confidence in the applicationapplication

Testing becomes problem of choosing Testing becomes problem of choosing appropriate questions to get the best appropriate questions to get the best information we caninformation we can

Need ways to determine what Need ways to determine what questions to askquestions to ask

Page 13: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Context-free QuestionsContext-free Questions

Questions designed to focus thinking on a Questions designed to focus thinking on a problem by examining it from multiple problem by examining it from multiple anglesangles Clear understanding of current problemClear understanding of current problem Related problems/experienceRelated problems/experience How to approach finding the best solutionHow to approach finding the best solution

ExamplesExamples CIA Phoenix ChecklistCIA Phoenix Checklist Gauss & Weinberg, Gauss & Weinberg, Exploring RequirementsExploring Requirements

Page 14: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

HeuristicsHeuristics

Guides used to help Guides used to help people make people make decisionsdecisions

Not applicable in all Not applicable in all situationssituations

Not correct in all Not correct in all situationssituations

Page 15: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Examples of HeuristicsExamples of Heuristics

Bach’s listsBach’s lists Lessons Learned in Software Testing Lessons Learned in Software Testing (Test (Test

Plan Evaluation Heuristics)Plan Evaluation Heuristics) ““General Functionality and Stability Test General Functionality and Stability Test

Procedure”Procedure”

General testing loreGeneral testing lore

Risk listsRisk lists

Page 16: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Types of HeuristicsTypes of Heuristics

Describe what testers actually do or Describe what testers actually do or shouldshould do do ““Important problems fast”Important problems fast”

Point towards specific types of failuresPoint towards specific types of failures ““Consistent with comparable products”Consistent with comparable products”

Illustrate specific bugsIllustrate specific bugs ““Cache servers cause problems with web-Cache servers cause problems with web-

based shopping cart applications”based shopping cart applications”

Page 17: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Examples of Heuristic UseExamples of Heuristic Use

Live at presentationLive at presentation

Page 18: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Training ExplorersTraining Explorers

Just beginning research into thisJust beginning research into this

Similarities to training people in improvisational Similarities to training people in improvisational theatertheater

Page 19: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

SummarySummary

Good exploratory testing involves Good exploratory testing involves determining the right questions to ask an determining the right questions to ask an application. Achieving this requires a application. Achieving this requires a number of skills and knowledgenumber of skills and knowledge

Testing activities are already exploratory. Testing activities are already exploratory. Awareness of exploratory techniques can Awareness of exploratory techniques can help testers better perform their help testers better perform their traditionally non-exploratory dutiestraditionally non-exploratory duties

Page 20: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Summary II: The ContinuanceSummary II: The Continuance

Risks serve as heuristics for testers to highlight Risks serve as heuristics for testers to highlight additional tests that a tester of which she might additional tests that a tester of which she might not otherwise thinknot otherwise think

Heuristics can point to things that a tester should Heuristics can point to things that a tester should do, general types of bugs the tester should look do, general types of bugs the tester should look for, or specific bugs that might exist.for, or specific bugs that might exist.

Heuristics are fallible guides which may or may Heuristics are fallible guides which may or may not be applicable (or even work) in a given not be applicable (or even work) in a given situationsituation

Page 21: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Questions?Questions?

Page 22: Copyright © 2003, Andy Tinkham

Copyright © 2003, Andy Tinkham & Cem KanerCopyright © 2003, Andy Tinkham & Cem Kaner

This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or This research was partially supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

[email protected]@tinkham.org