Exploratory Testing 101

Similar documents
Two Futures of Software Testing

MOODLE 2.0 GLOSSARY TUTORIALS

IT4305: Rapid Software Development Part 2: Structured Question Paper

The Nature of Exploratory Testing

DevelopSense Newsletter Volume 2, Number 2

PowerTeacher Gradebook User Guide PowerSchool Student Information System

Skyward Gradebook Online Assignments

Appendix L: Online Testing Highlights and Script

Introduction to WeBWorK for Students

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

The Revised Math TEKS (Grades 9-12) with Supporting Documents

Your School and You. Guide for Administrators

WiggleWorks Software Manual PDF0049 (PDF) Houghton Mifflin Harcourt Publishing Company

AU MATH Calculus I 2017 Spring SYLLABUS

Houghton Mifflin Online Assessment System Walkthrough Guide

Introduction to the Revised Mathematics TEKS (2012) Module 1

PowerCampus Self-Service Student Guide. Release 8.4

Parent s Guide to the Student/Parent Portal

SECTION 12 E-Learning (CBT) Delivery Module

END TIMES Series Overview for Leaders

Star Math Pretest Instructions

Principal Survey FAQs

JING: MORE BANG FOR YOUR INSTRUCTIONAL BUCK

The Moodle and joule 2 Teacher Toolkit

An Introductory Blackboard (elearn) Guide For Parents

Student User s Guide to the Project Integration Management Simulation. Based on the PMBOK Guide - 5 th edition

Foothill College Summer 2016

Outreach Connect User Manual

Implementing a tool to Support KAOS-Beta Process Model Using EPF

READ 180 Next Generation Software Manual

Quick Reference for itslearning

POFI 1301 IN, Computer Applications I (Introductory Office 2010) STUDENT INFORMANTION PLAN Spring 2013

Rule-based Expert Systems

Rolling Grades to Academic History. Banner 8 User Guide. March Rolling Grades to Academic History. Page 1 of 5

CHANCERY SMS 5.0 STUDENT SCHEDULING

DegreeWorks Advisor Reference Guide

Completing the Pre-Assessment Activity for TSI Testing (designed by Maria Martinez- CARE Coordinator)

Netsmart Sandbox Tour Guide Script

Experience College- and Career-Ready Assessment User Guide

Using Blackboard.com Software to Reach Beyond the Classroom: Intermediate

Field Experience Management 2011 Training Guides

Generating Test Cases From Use Cases

Using SAM Central With iread

Getting Started with Deliberate Practice

SEBUTHARGA NO. : SH/27/2017 SCOPE OF WORKS, TECHNICAL SPECIFICATIONS & REQUIREMENTS

ASTR 102: Introduction to Astronomy: Stars, Galaxies, and Cosmology

WELCOME PATIENT CHAMPIONS!

EdX Learner s Guide. Release

Getting Started Guide

10 tango! lessons. for THERAPISTS

EDCI 699 Statistics: Content, Process, Application COURSE SYLLABUS: SPRING 2016

Software Maintenance

Online Testing - Quick Troubleshooting Tips

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

Test Administrator User Guide

FACULTY Tk20 TUTORIALS: PORTFOLIOS & FIELD EXPERIENCE BINDERS

Introduction to Moodle

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

STUDENT MOODLE ORIENTATION

LogiGear MAGAZINE THE EXPLORATORY TESTING ISSUE

LEGO MINDSTORMS Education EV3 Coding Activities

Utilizing FREE Internet Resources to Flip Your Classroom. Presenter: Shannon J. Holden

Spring 2015 Achievement Grades 3 to 8 Social Studies and End of Course U.S. History Parent/Teacher Guide to Online Field Test Electronic Practice

Science Olympiad Competition Model This! Event Guidelines

Team Dispersal. Some shaping ideas

Detailed Instructions to Create a Screen Name, Create a Group, and Join a Group

ICT/IS 200: INFORMATION LITERACY & CRITICAL THINKING Online Spring 2017

INSTRUCTOR USER MANUAL/HELP SECTION

Reviewing the student course evaluation request

COMMUNICATION & NETWORKING. How can I use the phone and to communicate effectively with adults?

TIPS PORTAL TRAINING DOCUMENTATION

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Why Misquitoes Buzz in People s Ears (Part 1 of 3)

Renaissance Learning P.O. Box 8036 Wisconsin Rapids, WI (800)

THE REFLECTIVE SUPERVISION TOOLKIT

Attendance/ Data Clerk Manual.

English Language Arts Summative Assessment

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Hands-on Books-closed: Creating Interactive Foldables in Islamic Studies. Presented By Tatiana Coloso

INTRODUCTION TO GENERAL PSYCHOLOGY (PSYC 1101) ONLINE SYLLABUS. Instructor: April Babb Crisp, M.S., LPC

Functional Skills Mathematics Level 2 assessment

What to Do When Conflict Happens

TotalLMS. Getting Started with SumTotal: Learner Mode

Emporia State University Degree Works Training User Guide Advisor

Municipal Accounting Systems, Inc. Wen-GAGE Gradebook FAQs

TA Certification Course Additional Information Sheet

Creating an Online Test. **This document was revised for the use of Plano ISD teachers and staff.

UPDATES. Bronco Bookstore. Spring 2015

Naviance Family Connection

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

Tour. English Discoveries Online

Dialogue Live Clientside

Online ICT Training Courseware

ACADEMIC TECHNOLOGY SUPPORT

2 User Guide of Blackboard Mobile Learn for CityU Students (Android) How to download / install Bb Mobile Learn? Downloaded from Google Play Store

PART 1. A. Safer Keyboarding Introduction. B. Fifteen Principles of Safer Keyboarding Instruction

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Naviance / Family Connection

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Boston MA Visitors Street Map By American Map

Transcription:

Exploratory Testing 101 February 3, 2012 test smarter...

Exploratory Testing 101 Expectations 2

Outline Exploratory Testing Session-Based Test Management (SBTM) Thread-Based Test Management (TBTM) xbtm 3

Exploratory Testing Exploratory Testing 4

Exploratory Testing What is Exploratory Testing? 5

Exploratory Testing What is Exploratory Testing? A software testing approach Simultaneous learning, test design and test execution Introduced by Cem Kaner in 1983 Why the name Exploratory Testing? To distinguish it from ad hoc testing To emphasise the exploration 6

Exploratory Testing What is Exploratory Testing not? Ad hoc testing Sloppy testing Careless testing Unstructured testing Undocumented testing Unskilled testing 7

Exploratory Testing Scripted SBTM TBTM Freestyle Exploratory Exploratory Testing 8

Exploratory Testing Why Exploratory Testing? 9

Exploratory Testing Why Exploratory Testing? Less preparations Do not need complete specifications or requirements Bugs found quickly Adaptable and flexible Creative, fun and stimulating 10

Exploratory Testing Are there any disadvantages? 11

Exploratory Testing Are there any disadvantages? Cannot review in advance Reproducibility 12

Exploratory Testing Bug Test case 13

Exploratory Testing Run test case 1st time Bug Test case 14

Exploratory Testing 3 bugs found Bug Found bug Test case 15

Exploratory Testing Run test case 2nd time Bug Found bug Corrected/ known bug Test case 16

Exploratory Testing 0 bugs found Bug Found bug Corrected/ known bug Test case 17

Exploratory Testing Exploratory testing, 1st time Bug Test case 18

Exploratory Testing 3 bugs found Bug Found bug Test case 19

Exploratory Testing Exploratory testing, 2nd time Bug Found bug Corrected/ known bug Test case 20

Exploratory Testing 4 bugs found Bug Found bug Corrected/ known bug Test case 21

Exploratory Testing What makes a good exploratory tester? What kind of skills are needed? 22

Exploratory Testing Where do you start when there is no script? San Francisco Depot: Mnemonic to test systematically Heuristic Test Strategy Model 23

Exploratory Testing San Francisco Depot (SFDPO) Mnemonic to test systematically Structure: What the product is Function: What the product does Data: What the product processes Platform: What the product depends on Operations: How the product will be used 24

Exploratory Testing Heuristic Test Strategy Model (HTSM) Set of patterns to design test strategy What to think about when creating tests http://www.satisfice.com/tools/satisfice-tsm-4p.pdf 25

Exploratory Testing 26

Exploratory Testing 27

Exploratory Testing 28

Exploratory Testing 29

Exploratory Testing Oracles and Heuristics 30

Exploratory Testing How do you know if it is a bug? How do you know if the milk is still ok? Does my traffic light have any bugs? How do we recognise problems? 31

Exploratory Testing What is an oracle? In Classical Antiquity, an oracle was a person or agency considered to be a source of wise counsel or prophetic predictions or precognition of the future, inspired by the gods. As such it is a form of divination. Wikipedia 32

Exploratory Testing What is an oracle? Oracles are one kind of heuristic rule of thumb An oracle is any principle or mechanism by which you recognize problems 33

Exploratory Testing You are testing a web-based application You know absolutely nothing about it What oracle can you use? James Bach 34

Exploratory Testing Can we trust oracles? The Pythia, when about to deliver, would chew leaves from Apollo's sacred laurel tree and would then sit on her holy tripod, seated in the innermost sanctum, over a crack on the rock from where noxious volcanic fumes emanated. Dazed and disoriented, she would then be possessed by the voice of Apollo. Wikipedia 35

Exploratory Testing Can we trust oracles? Oracles are fallible Oracles are not the truth You can reach the wrong conclusion using the wrong oracle You can use the wrong conclusion using the right oracle too 36

Exploratory Testing HICCUPPS Heuristic Test oracles mnemonic History Image Comparable Product Claims User Expectation Product Purpose Statutes 37

Exploratory Testing HICCUPPS Heuristic Is this defect inconsistent with the product history? Is this defect inconsistent with the image our company (or project team) is attempting to portray? Is this defect inconsistent with a comparable product? Is this defect inconsistent with claims made about the product? Is this defect inconsistent with user expectations about the product? Does this defect show an inconsistency within the product? Is this defect inconsistent with the purpose of the product? Does the product comply with statutes? 38

Exploratory Testing Session-Based Test Management 39

Session-Based Test Management What is Session-Based Test Management (SBTM)? Tool-supported testing approach Introduced by Jonathan Bach and James Bach in 2000 Structured and documented exploratory testing 40

Session-Based Test Management Why Session-Based Test Management (SBTM)? Management control Metrics reporting Accountability Documentation Rapid defect discovery Flexibility 41

Session-Based Test Management How does SBTM work? Work in sessions Time-box Uninterrupted Reviewable Feedback (debriefing) Test charter: Mission for the session Session report 42

Session-Based Test Management Sessions Short: 60 min Normal: 90 min Long: 120 min N.B.: Only plan about 60% of your time 43

Session-Based Test Management Point of attack Reconnaissance Analysis Deep coverage 44

Session-Based Test Management Test Charter Mission for the session How to test What kind of problems to look for Often created in advance Extent and level of detail flexible Test Charter 45

Session-Based Test Management Test Charter Example GMail TEST CHARTER --------------------------------------------------Analyse Chat function and report potential problems BROWSER: Firefox OS: Windows 7 STRATEGY: Function Testing 46

Session-Based Test Management Session Report Date, Time & Tester Test charter Area Time break-down Test design Test execution Test reporting Other (e.g. interruptions and setup) Bugs found Issues found Opportunity Notes 47

Session-Based Test Management Session Report Example GMail TESTER: Christin DATE: Feb. 7, 2012 DURATION: Normal TEST DESIGN AND EXECUTION: 60 BUG INVESTIGATION AND REPORTING: 25 SESSION SETUP: 5 CHARTER VS. OPPORTUNITY: 100/0 TEST NOTES: Focused on actual chat and adding contacts, did not look at Chat History. BUGS: #1726, Cannot set status to Busy ISSUES: Not sure what values status can have 48

Session-Based Test Management Debriefing - PROOF Past Results Obstacles Outlook Feelings Frequency depends on team 49

Session-Based Test Management Metrics Bugs found Issues found On-charter vs opportunity Session vs non-session work Number of sessions over time Test Sessions 500 400 300 200 100 0 Day Day Day Day Day Day Day Day Day Day Day Day Day Day Day 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 50

Session-Based Test Management Estimating Time & Reporting Status Estimate number of charters, time for each charter is given Charter Status Charter #1 John Blocked Charters planned 78 Charter #2 Lisa Run Charters run 12 Charter #3 Anne Waiting New charters added 5 (78 + 5) - 12 = 71 charters left to run 71 * 90 min = 106 hours Charter assigned to 51

Session-Based Test Management Regression Testing Example Gmail 90 min sessions Key Area #1: Chat Key Area #2: Create mail Charter #1: Add contact Charter #4: Write mail Charter #2: Change status Charter #5: Attachments Charter #3: Chat Charter #6: Cc and Bcc 52

Session-Based Test Management Regression Testing Example GMail Key Area as charter 2 session, 3 hours Charter #1: Chat Charter #2: Create mail - Add Contact - Change Status - Chat - Write mail - Attachments - Cc and Bcc 53

Session-Based Test Management Regression Testing Example Gmail Key Area #1: Chat 15% 5% 80% Key Area #2: Create mail Charter #1: Add contact Charter #3: Write mail 65% Charter #2: Change status Charter #4: Attachments 25% Charter #3: Chat Charter #3: Cc and Bcc 10% 54

Session-Based Test Management Regression Testing Example GMail Key Area as charter 2 session, 1 ½ hours Charter #2: Create mail Charter #1: Chat - Add Contact - Change Status - Chat 15 min 70 min 5 min - Write mail - Attachments - Cc and Bcc 60 min 20 min 10 min 55

Session-Based Test Management Tools Bach Scan Tool Scans session reports http://www.satisfice.com/sbtm/ Rapid Reporter Note testing application http://testing.gershon.info/reporter/ Session reporter Management and recording tool http://sessiontester.openqa.org/ SBTExecute Calculate metrics http://www.addq.se/styr-upp-dina-utforskande-tester-med-sessionsbaserad-testningsbtm/ 56

Exploratory Testing Visual Test Design 57

Visual Test Design Visual Test Design A picture is worth a test case Easy to understand Easy to communicate Fast to create and update Reusable Especially useful in exploratory testing 58

Visual Test Design Example Arrows are actions Boxes are verification points Make visual test design part of charter 59

Visual Test Design Step Action Expected result 1 Enter user name user in field User Name Text user displayed in field 2 Enter password password in field Password Password characters are hidden 3 Click button Log In User is logged in 4 Wait 2 minutes After 2 minutes, the user is automatically logged out 5 Enter user name user in field User Name Text user displayed in field 6 Enter password p@ssword in field Password Password characters are hidden 7 Click button Log In Error message Incorrect password is displayed. User is not logged in. Pass /Fail 60

Visual Test Design 61

Visual Test Design How is the password displayed? Did you press Enter or click the Log In button? How long did it take? 62

Visual Test Design Model-Based Test Design Initial step towards automation yed to make graphs http://www.yworks.com/en/products_yed_about.html GraphWalker to generate test sequences from yed files http://graphwalker.org/ (open source) Must be able to loop 63

Visual Test Design 64

Exploratory Testing Thread-Based Test Management 65

Thread-Based Test Management What is Thread-Based Test Management (TBTM)? Activity-based approach Introduced by Jonathan Bach and James Bach in 2010 Embraces the fact that activities change over time Cf. conversation threads 66

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? 67

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? Tester2 Do you have the link? 68

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? Tester2 Do you have the link? Tester1 I ll look for it, hold on 69

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? Tester2 Do you have the link? Tester1 I ll look for it, hold on Tester3 Are you going to the conference this year? 70

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? Tester2 Do you have the link? Tester1 I ll look for it, hold on Tester3 Are you going to the conference this year? Tester2 Yes, are you? 71

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? 72

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? Tester2 Sure, will you book one? 73

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? Tester2 Sure, will you book one? Tester1 Here it is http://link.ca Tester3 Ok, Friday Sunday, right? 74

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? Tester2 Sure, will you book one? Tester1 Here it is http://link.ca Tester3 Ok, Friday Sunday, right? Tester2 Thanks Tester2 Exactly 75

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? Tester2 Sure, will you book one? Tester1 Here it is http://link.ca Tester3 Ok, Friday Sunday, right? Tester2 Thanks Tester2 Exactly Tester1 No problem, let me know what you thought 76

Thread-Based Test Management Tester1 Anyone read that article on exploratory testing? Tester2 Do you have the link? New thread Tester1 I ll look for it, hold on Tester3 Are you going to the conference this year? Thread dropped Tester2 Yes, are you? 77

Thread-Based Test Management Tester3 Yep, maybe we can rent a car and drive together? Tester2 Sure, will you book one? Parallel threads Tester1 Here it is http://link.ca Tester2 Thanks Tester3 Ok, Friday Sunday, right? Tester2 Exactly Tester1 No problem, let me know what you thought 78

Thread-Based Test Management What is a thread? A test idea or test activity A thread can be interrupted and resumed Parallel threads What differs a thread from a session? A session charter is a commitment to complete a task A session is time-boxed TBTM is a generalisation of SBTM 79

Thread-Based Test Management Example: Test online book store 5 different books in stock Shop and pay now Shop and save order for later Threads Add book(s) to cart and check out Add book(s) to cart and save cart 80

Thread-Based Test Management Add book(s) to cart and check out Add book(s) to cart and save cart 81

Thread-Based Test Management Need credit card to test check out function Drop thread 1, pick up thread 2 82

Thread-Based Test Management New functionality: Ship books as gift Must be tested now All other threads dropped 83

Thread-Based Test Management Testing threads 1 and 2 in parallel All 5 books tested Milestone Failure: Testing blocked 84

Thread-Based Test Management Decision to remove functionality Testing cancelled 85

Thread-Based Test Management 86

Thread-Based Test Management Using SBTM Test charter: Add book and check out Aborted no credit card Test charter: Add book and save cart Aborted new functionality has priority Test charter: Ship book as gift Aborted decision to remove functionality 87

Thread-Based Test Management Threads Following a thread corresponds to what SBTM calls opportunity 88

Thread-Based Test Management Please remember: This is a contrived example to make a point It is oversimplified 89

Thread-Based Test Management The essence of TBTM: Activities change over time For me test is a verb. Testing is something that I do, not so much something that I create. * Focus on doing and not getting done * James Bach, http://www.satisfice.com/blog/archives/503 90

Thread-Based Test Management Actions Create new threads Drop threads - pause testing Pick up dropped threads resume testing Knot threads reach a milestone Untangle threads new knowledge Tie off threads stop testing Cut threads cancel testing Comb threads organise test activities 91

Thread-Based Test Management Where do threads come from? Heuristics (e.g. HTSM) Experience Previous projects Self-generating 92

Thread-Based Test Management How do you do it? List ideas for test activities each activity is a thread Arrange threads in a mind map Which thread is most important right now? On which thread can we make the most progress right now? Threads dropped and picked up Parallel threads 93

Thread-Based Test Management How do you keep track of threads? 94

Thread-Based Test Management How do you keep track of threads? Prioritise threads 95

Thread-Based Test Management How do you keep track of threads? Assign threads 96

Thread-Based Test Management How do you keep track of threads? Mark progress 97

Thread-Based Test Management How do you keep track of threads? Make notes 98

Thread-Based Test Management Why Thread-Based Test Management (TBTM)? Works even in chaotic and difficult environments A way to handle interruptions Can have very long or very short threads (not limited by time-boxing) Easy and quick to get started Traceability and documentation as needed 99

Exploratory Testing xbtm 100

xbtm What is xbtm? Combines Session-Based Test Management (SBTM) and Thread- Based Test Management (TBTM) Why the name xbtm? Cf. xunit (collection of code-driven testing frameworks) x = S (Session) or T (Thread) Best of both worlds! Choose SBTM and/or TBTM depending on context 101

xbtm How is it done? Start by making a mind map test plan Use SBTM when possible Group threads to create charters Write session reports Use TBTM when SBTM is not an option Test threads Update mind map continuously 102

xbtm Planning Identify function areas Test techniques Use HTSM Test threads Arrange threads in mind map 103

xbtm Design Create test charters were appropriate TEST CHARTER: Copied recipients -------------------------------Analyse Copy recipients function BROWSER: Firefox OS: Windows 7 STRATEGY: Function Testing 104

xbtm Execution & Reporting Test threads and charters Add threads and charters as needed Session reports Bugs Charters 7 6 5 4 3 2 1 0 Metrics 105

xbtm Closure Artifacts Final version of mind map TESTER: Christin DATE: Feb. 7, 2012 DURATION: Normal Session reports TEST DESIGN AND EXECUTION: 60 BUG INVESTIGATION AND REPORTING: 25 SESSION SETUP: 5 Metrics CHARTER VS. OPPORTUNITY: 100/0 TEST NOTES: 106

Reading tips Recommended books Testing Computer Software Lessons Learned in Software Testing 107