SlideShare a Scribd company logo
1 of 30
GSJGD




         Exploratory Testing

                     Anutthara Bharadwaj
                                Microsoft
        http://blogs.msdn.com/anutthara
if there was an Olympics for FAILURE
Or a World Cup for that which fails the most
surely
SOFTWARE
  would
   reign
 supreme
GSJGD




        How do we find the *%&^ bugs?!!
Manual v. automated
• Automation is cool, it gets respect … but …
  – Automation is code
     • like any code it will take time, have bugs, cause false
       positives and require maintenance
     • it will have an imperfect oracle
• Manual testing is tedious … but …
  – It finds over 90% of the bugs in the system
Manual testing
• Scripted manual testing
  – From rigid (click this button, enter this value) to
    flexible (achieve this result)
  – Requires preparatory work
  – Scripts act as their own documentation
• Exploratory testing
  – Minimizes preparatory work
  – Documentation of testing is extra work
Manual testing
• We need to get better at it … A LOT better at it
• What is the right prep time v. test time?
• What are the right parts of the app to focus
  on?
  – Can we pinpoint problematic functionality?
  – Can we focus on changed code?
  – Should we focus on buggy parts?
• Where is the method in the madness?
Types of exploratory testing
•   Freestyle
•   Scenario
•   Strategy
•   Feedback
Exploratory testing
• Freestyle exploratory testing
  – Ad hoc exploration of an application’s features
  – No rules, not necessary to account for coverage,
    past tests, etc.
  – Good for:
     • familiarizing yourself with an application to prepare for
       more sophisticated methods
     • quick smoke tests, sometimes finds bugs
Exploratory testing
• Scenario-based exploratory testing
  – An extension of traditional scenario testing
  – Start with:
     • user stories
     • e2e scenarios
     • test scenarios
  – Then widen the scope and inject variation as you
    execute the scenarios
Exploratory testing
• Strategy-based exploratory testing
  – Freestyle testing combined with known bug
    finding techniques
     • documented strategies like boundary values and
       combinatorial testing
     • intuitive instinct from experience or familiarity with the
       application
  – Focus is on learning tips and tricks and recognizing
    when to apply them
Exploratory testing
• Feedback-based exploratory testing
  – Starts out freestyle until a test history is built up
  – That feedback then guides future exploration
     •   Test history
     •   Coverage
     •   Churn
     •   …
  – Tools are often an integral part of this type of
    testing as they ‘remember’ history for us
The tourist metaphor
• You’re visiting Hyderabad for the first time
  – You can go it alone
  – You can buy a guidebook
  – You can hire a guide
  – You can take the bus tour
• On return visits you can
  – Repeat the best tours
  – Choose to visit new places
The tourist metaphor
• You’re testing an application
  – What do you use as a guide?
  – Don’t just wander the app
     • Always have a goal in mind
     • When presented with a choice, allow the goal to guide
       you
     • Track which goals work for you
        – Coverage of code, features, UI
        – Find important bugs
        – Force the software to best exhibit its functionality
The guidebook tour
• Guidebooks help tourists navigate choices
  – Boil down the possibilities to a ‘best of’ list
  – Many tourist follow this advice exclusively
• Use
  – User manual, follow its advice
  – Online help (the F1 tour)
  – Third party advice (the blogger’s tour)
  – Detractors (the pundit’s tour)
  – Competing products (the competitor’s tour)
The antisocial tour
• Tours have rules and there are places off limits
• Antisocial tourists ignore those rules
  – Enter illegal input (the crime spree tour)
  – Enter the least likely input (the opposite tour)
  – Choose an input, change your mind, use undo, use
    cancel, then do it all over again
The back alley tour
• Explore the back alleys of your app
• Do you track feature usage?
  – Tour the least popular features
  – Mix and match popular and unpopular features
    (mixed destination tour)
The couch potato tour
• Being a nonparticipant on a tour is a waste of
  money
• Sometimes for a tester, it finds bugs
  – Do as little as possible on every screen
  – Leave fields blank, enter as little info as possible,
    always take the shortest path
• Why?
  – Default values have to be set, used
  – Decisions have to be made by the software
  – Just because you aren’t working hard doesn’t mean
    the software isn’t either
The obsessive compulsive tour
• OCD tours would likely be quite unpopular for
  real tourists
  – Avoiding sidewalk cracks
  – Walking the same street over and over obsessively
• But testers can use repetition to their
  advantage
  – Developers often code based on an expected path
  – Repeating inputs individually and in sequence can
    often lead to bugs
The all nighter tour
• The ‘clubbing tour’ is about staying out all
  night, a real test of the constitution
• Software should stay out all night too
  – Keep it working, never shut it down
  – Keep files open without saving or closing them
• This tests time-out functionality, finds
  memory problems and leaks that are masked
  by shutdown-restart
The TOGOF tour
• Test-One-Get-One-Free
• Run multiple copies of the app
• Put them through their paces
• Try and open the same files, access the same
  resources … can they coexist?
• Why TOGOF? Because if you find a bug in one
  copy, you’ve broken them all 
The saboteur
• The sabotage tour
• Ask the software to do something
   – Access a resource
   – Open a file
   – Perform a tasks
• Understand the resource it uses
   – Memory
   – Files
   – Network
• Then prevent it from doing so
   – Take away memory
   – Delete/rename files
   – Turn off the network
The collector’s tour
• Some people need to do it all
  – Pictures of landmarks, samples at a wine tasting,
    signatures from the Disney characters
  – They don’t want to miss anything
• Testers can learn from this
  – Force the software to produce every output
     •   Buy items from every department
     •   Put every special character in an email
     •   Fill a document with every possible graphic
     •   …
The supermodel tour
• This tour goes only skin deep
  – Ignore the function and meaning and look only at
    the interface
  – It’s about first impressions
• Watch the interface elements
  – Do they look good and render properly?
  – Are interface elements consistent across the app?
  – As you make changes does the UI refresh properly?
Types of exploratory testing
• Scenario                     • Then inject variation
  – Start with a scenario         – Freestyle guidance
• Strategy                        – Tour metaphors
  – Start with accumulated
    testing knowledge
• Feedback
  – Test for a while
  – Build up a history
  – Use the history to guide
    additional testing
Obstacles to exploratory testing
• Where’s the accountability?
• How do we track completeness?
• What metrics are important?



       WE NEED TOOLS!
GSJGD




        Q/A

More Related Content

What's hot

Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
Regression testing
Regression testingRegression testing
Regression testingHarsh verma
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? EdurekaEdureka!
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testingNitishMhaske1
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Regression testing
Regression testingRegression testing
Regression testingMohua Amin
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and MeasurementsDavis Thomas
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 

What's hot (20)

Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Regression testing
Regression testingRegression testing
Regression testing
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Exploratory test
Exploratory testExploratory test
Exploratory test
 
Regression testing
Regression testingRegression testing
Regression testing
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and Measurements
 
Software testing
Software testingSoftware testing
Software testing
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 

Viewers also liked

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
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter templateRob Swoboda
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedMaaret Pyhäjärvi
 
Exploratory testing by Rik Marselis
Exploratory testing by Rik MarselisExploratory testing by Rik Marselis
Exploratory testing by Rik MarselisRik Marselis
 
Fear the psychology of testing rik marselis
Fear the psychology of testing rik marselisFear the psychology of testing rik marselis
Fear the psychology of testing rik marselisRik Marselis
 
Best Practices In Exploratory Testing
Best Practices In Exploratory TestingBest Practices In Exploratory Testing
Best Practices In Exploratory Testing99tests
 
STARWest 2013 Courage and Freedom in Exploratory Testing
STARWest 2013 Courage and Freedom in Exploratory TestingSTARWest 2013 Courage and Freedom in Exploratory Testing
STARWest 2013 Courage and Freedom in Exploratory TestingGriffin Jones
 
Session-Based Test Management
Session-Based Test ManagementSession-Based Test Management
Session-Based Test Managementcaltonhill
 
Testing strategies for e commerce and social apps
Testing strategies for e commerce and social appsTesting strategies for e commerce and social apps
Testing strategies for e commerce and social appsPremal Dave
 
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...TEST Huddle
 
Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)OdessaQA
 
Mutation testing (OOP 2012, 2012-JAN-24)
Mutation testing (OOP 2012, 2012-JAN-24)Mutation testing (OOP 2012, 2012-JAN-24)
Mutation testing (OOP 2012, 2012-JAN-24)Filip Van Laenen
 
'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk
'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk
'Seven Questions to Help You on the Path of Testing' by Jean Paul VarwijkTEST Huddle
 

Viewers also liked (19)

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 in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
Exploratory testing by Rik Marselis
Exploratory testing by Rik MarselisExploratory testing by Rik Marselis
Exploratory testing by Rik Marselis
 
Fear the psychology of testing rik marselis
Fear the psychology of testing rik marselisFear the psychology of testing rik marselis
Fear the psychology of testing rik marselis
 
Best Practices In Exploratory Testing
Best Practices In Exploratory TestingBest Practices In Exploratory Testing
Best Practices In Exploratory Testing
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Test Heuristics for Exploratory Testing
Test Heuristics for Exploratory TestingTest Heuristics for Exploratory Testing
Test Heuristics for Exploratory Testing
 
STARWest 2013 Courage and Freedom in Exploratory Testing
STARWest 2013 Courage and Freedom in Exploratory TestingSTARWest 2013 Courage and Freedom in Exploratory Testing
STARWest 2013 Courage and Freedom in Exploratory Testing
 
Exploratory Testing
Exploratory  TestingExploratory  Testing
Exploratory Testing
 
Session-Based Test Management
Session-Based Test ManagementSession-Based Test Management
Session-Based Test Management
 
Testing strategies for e commerce and social apps
Testing strategies for e commerce and social appsTesting strategies for e commerce and social apps
Testing strategies for e commerce and social apps
 
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...
Jean Paul Varwijk - 7 Questions to help you on the Path of Software Testing -...
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)
 
Balancing Work And Life
Balancing Work And LifeBalancing Work And Life
Balancing Work And Life
 
Mutation testing (OOP 2012, 2012-JAN-24)
Mutation testing (OOP 2012, 2012-JAN-24)Mutation testing (OOP 2012, 2012-JAN-24)
Mutation testing (OOP 2012, 2012-JAN-24)
 
'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk
'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk
'Seven Questions to Help You on the Path of Testing' by Jean Paul Varwijk
 

Similar to Exploratory Testing

Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for TestersAdam Goucher
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability TestingAndy Budd
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestDenim Group
 
Usability Engineering
Usability EngineeringUsability Engineering
Usability EngineeringEasypeasy
 
Agile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityAgile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityDemetrius Nunes
 
So you want to be a red teamer
So you want to be a red teamerSo you want to be a red teamer
So you want to be a red teamerJorge Orchilles
 
Chat Smarter At Penn State
Chat Smarter At Penn StateChat Smarter At Penn State
Chat Smarter At Penn StateJohn Meier
 
Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)Nicholas Zakas
 
Presentations Unusual Java Bugs And Detecting Them Using Foss Tools
Presentations Unusual Java Bugs And Detecting Them Using Foss ToolsPresentations Unusual Java Bugs And Detecting Them Using Foss Tools
Presentations Unusual Java Bugs And Detecting Them Using Foss ToolsGanesh Samarthyam
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learnedleahculver
 
Designing the mobile experience
Designing the mobile experienceDesigning the mobile experience
Designing the mobile experienceJoseph Dickerson
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your workonthegosystems
 
How to Improve Your Organization\'s Website Through Usability Testing
How to Improve Your Organization\'s Website Through Usability TestingHow to Improve Your Organization\'s Website Through Usability Testing
How to Improve Your Organization\'s Website Through Usability TestingCAMT
 
User testing workshop
User testing workshopUser testing workshop
User testing workshopRed Badger
 
Better Perl Practices
Better Perl PracticesBetter Perl Practices
Better Perl PracticesJay Shirley
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Stealmozilla.presentations
 
User Testing For The Rest Of Us
User Testing For The Rest Of UsUser Testing For The Rest Of Us
User Testing For The Rest Of UsLisa Herrod
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08kingsfleet
 
Mobile Usability Testing
Mobile Usability TestingMobile Usability Testing
Mobile Usability TestingBarbara Ballard
 

Similar to Exploratory Testing (20)

Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
 
Usability Engineering
Usability EngineeringUsability Engineering
Usability Engineering
 
Agile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityAgile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic Quality
 
Usability
UsabilityUsability
Usability
 
So you want to be a red teamer
So you want to be a red teamerSo you want to be a red teamer
So you want to be a red teamer
 
Chat Smarter At Penn State
Chat Smarter At Penn StateChat Smarter At Penn State
Chat Smarter At Penn State
 
Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)
 
Presentations Unusual Java Bugs And Detecting Them Using Foss Tools
Presentations Unusual Java Bugs And Detecting Them Using Foss ToolsPresentations Unusual Java Bugs And Detecting Them Using Foss Tools
Presentations Unusual Java Bugs And Detecting Them Using Foss Tools
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learned
 
Designing the mobile experience
Designing the mobile experienceDesigning the mobile experience
Designing the mobile experience
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your work
 
How to Improve Your Organization\'s Website Through Usability Testing
How to Improve Your Organization\'s Website Through Usability TestingHow to Improve Your Organization\'s Website Through Usability Testing
How to Improve Your Organization\'s Website Through Usability Testing
 
User testing workshop
User testing workshopUser testing workshop
User testing workshop
 
Better Perl Practices
Better Perl PracticesBetter Perl Practices
Better Perl Practices
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Steal
 
User Testing For The Rest Of Us
User Testing For The Rest Of UsUser Testing For The Rest Of Us
User Testing For The Rest Of Us
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08
 
Mobile Usability Testing
Mobile Usability TestingMobile Usability Testing
Mobile Usability Testing
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Exploratory Testing

  • 1. GSJGD Exploratory Testing Anutthara Bharadwaj Microsoft http://blogs.msdn.com/anutthara
  • 2. if there was an Olympics for FAILURE
  • 3. Or a World Cup for that which fails the most
  • 4. surely SOFTWARE would reign supreme
  • 5.
  • 6.
  • 7. GSJGD How do we find the *%&^ bugs?!!
  • 8. Manual v. automated • Automation is cool, it gets respect … but … – Automation is code • like any code it will take time, have bugs, cause false positives and require maintenance • it will have an imperfect oracle • Manual testing is tedious … but … – It finds over 90% of the bugs in the system
  • 9. Manual testing • Scripted manual testing – From rigid (click this button, enter this value) to flexible (achieve this result) – Requires preparatory work – Scripts act as their own documentation • Exploratory testing – Minimizes preparatory work – Documentation of testing is extra work
  • 10. Manual testing • We need to get better at it … A LOT better at it • What is the right prep time v. test time? • What are the right parts of the app to focus on? – Can we pinpoint problematic functionality? – Can we focus on changed code? – Should we focus on buggy parts? • Where is the method in the madness?
  • 11. Types of exploratory testing • Freestyle • Scenario • Strategy • Feedback
  • 12. Exploratory testing • Freestyle exploratory testing – Ad hoc exploration of an application’s features – No rules, not necessary to account for coverage, past tests, etc. – Good for: • familiarizing yourself with an application to prepare for more sophisticated methods • quick smoke tests, sometimes finds bugs
  • 13. Exploratory testing • Scenario-based exploratory testing – An extension of traditional scenario testing – Start with: • user stories • e2e scenarios • test scenarios – Then widen the scope and inject variation as you execute the scenarios
  • 14. Exploratory testing • Strategy-based exploratory testing – Freestyle testing combined with known bug finding techniques • documented strategies like boundary values and combinatorial testing • intuitive instinct from experience or familiarity with the application – Focus is on learning tips and tricks and recognizing when to apply them
  • 15. Exploratory testing • Feedback-based exploratory testing – Starts out freestyle until a test history is built up – That feedback then guides future exploration • Test history • Coverage • Churn • … – Tools are often an integral part of this type of testing as they ‘remember’ history for us
  • 16. The tourist metaphor • You’re visiting Hyderabad for the first time – You can go it alone – You can buy a guidebook – You can hire a guide – You can take the bus tour • On return visits you can – Repeat the best tours – Choose to visit new places
  • 17. The tourist metaphor • You’re testing an application – What do you use as a guide? – Don’t just wander the app • Always have a goal in mind • When presented with a choice, allow the goal to guide you • Track which goals work for you – Coverage of code, features, UI – Find important bugs – Force the software to best exhibit its functionality
  • 18. The guidebook tour • Guidebooks help tourists navigate choices – Boil down the possibilities to a ‘best of’ list – Many tourist follow this advice exclusively • Use – User manual, follow its advice – Online help (the F1 tour) – Third party advice (the blogger’s tour) – Detractors (the pundit’s tour) – Competing products (the competitor’s tour)
  • 19. The antisocial tour • Tours have rules and there are places off limits • Antisocial tourists ignore those rules – Enter illegal input (the crime spree tour) – Enter the least likely input (the opposite tour) – Choose an input, change your mind, use undo, use cancel, then do it all over again
  • 20. The back alley tour • Explore the back alleys of your app • Do you track feature usage? – Tour the least popular features – Mix and match popular and unpopular features (mixed destination tour)
  • 21. The couch potato tour • Being a nonparticipant on a tour is a waste of money • Sometimes for a tester, it finds bugs – Do as little as possible on every screen – Leave fields blank, enter as little info as possible, always take the shortest path • Why? – Default values have to be set, used – Decisions have to be made by the software – Just because you aren’t working hard doesn’t mean the software isn’t either
  • 22. The obsessive compulsive tour • OCD tours would likely be quite unpopular for real tourists – Avoiding sidewalk cracks – Walking the same street over and over obsessively • But testers can use repetition to their advantage – Developers often code based on an expected path – Repeating inputs individually and in sequence can often lead to bugs
  • 23. The all nighter tour • The ‘clubbing tour’ is about staying out all night, a real test of the constitution • Software should stay out all night too – Keep it working, never shut it down – Keep files open without saving or closing them • This tests time-out functionality, finds memory problems and leaks that are masked by shutdown-restart
  • 24. The TOGOF tour • Test-One-Get-One-Free • Run multiple copies of the app • Put them through their paces • Try and open the same files, access the same resources … can they coexist? • Why TOGOF? Because if you find a bug in one copy, you’ve broken them all 
  • 25. The saboteur • The sabotage tour • Ask the software to do something – Access a resource – Open a file – Perform a tasks • Understand the resource it uses – Memory – Files – Network • Then prevent it from doing so – Take away memory – Delete/rename files – Turn off the network
  • 26. The collector’s tour • Some people need to do it all – Pictures of landmarks, samples at a wine tasting, signatures from the Disney characters – They don’t want to miss anything • Testers can learn from this – Force the software to produce every output • Buy items from every department • Put every special character in an email • Fill a document with every possible graphic • …
  • 27. The supermodel tour • This tour goes only skin deep – Ignore the function and meaning and look only at the interface – It’s about first impressions • Watch the interface elements – Do they look good and render properly? – Are interface elements consistent across the app? – As you make changes does the UI refresh properly?
  • 28. Types of exploratory testing • Scenario • Then inject variation – Start with a scenario – Freestyle guidance • Strategy – Tour metaphors – Start with accumulated testing knowledge • Feedback – Test for a while – Build up a history – Use the history to guide additional testing
  • 29. Obstacles to exploratory testing • Where’s the accountability? • How do we track completeness? • What metrics are important? WE NEED TOOLS!
  • 30. GSJGD Q/A

Editor's Notes

  1. Perhaps this is a case of feature conflict…it’s the ‘pub crawl across England starting in Newcastle” feature conflicting with the ‘don’t drive through Amsterdam when the wife is in the car” feature. Resulting in a 1600 mile unwanted detour.
  2. Someone actually wrote this error message…
  3. Bug bash, first round of bugs in any app, initial parts of development
  4. Finds the most important set of bugs – those that users will hit in mainline scenarios. UAT is largely composed of such testing.
  5. Some people are just better testers. Nose for defects. Tricks/tips that just assist them in finding a bug in the most tested s/w.
  6. Different teams have different metrics that are important. Coverage could be one. Churn is a smart metric, but there are no tools yet that can distinguish how we can select tests that are impacted
  7. Different teams have different metrics that are important. Coverage could be one. Churn is a smart metric, but there are no tools yet that can distinguish how we can select tests that are impacted