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

An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
Regression testing
Regression testingRegression testing
Regression testingMohua Amin
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai Tran Son
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDDKnoldus Inc.
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD123abcda
 

What's hot (20)

An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Regression testing
Regression testingRegression testing
Regression testing
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
Exploratory test
Exploratory testExploratory test
Exploratory test
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Manual testing
Manual testingManual testing
Manual testing
 
Cucumber BDD
Cucumber BDDCucumber BDD
Cucumber BDD
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDD
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 

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

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

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