SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Processguest1f2740
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual TestingAyah Soufan
 
Bug reporting and tracking
Bug reporting and trackingBug reporting and tracking
Bug reporting and trackingVadym Muliavka
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTsuhasreddy1
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingTestbytes
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...TEST Huddle
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextElisabeth Hendrickson
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 

Tendances (20)

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Exploratory test
Exploratory testExploratory test
Exploratory test
 
Bug reporting and tracking
Bug reporting and trackingBug reporting and tracking
Bug reporting and tracking
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
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 Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile Context
 
Software testing
Software testingSoftware testing
Software testing
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 

En vedette

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
 

En vedette (17)

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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 

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

Notes de l'éditeur

  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