exploratory testing in practice

21
Exploratory Testing in Practice Elisabeth Hendrickson Blog: testobsessed.com Twitter: @testobsessed Slides Last updated June 22, 2012

Upload: elisabeth-hendrickson

Post on 21-May-2015

2.262 views

Category:

Technology


0 download

DESCRIPTION

What is this thing called "Exploratory Testing"? How do you do it? Why is it important?

TRANSCRIPT

Page 1: Exploratory Testing in Practice

Exploratory Testing

in Practice

Elisabeth Hendrickson Blog: testobsessed.com Twitter: @testobsessed

Slides Last updated June 22, 2012

Page 2: Exploratory Testing in Practice

Two Sides of Testing

Tested =

+ Checked Explored

Page 3: Exploratory Testing in Practice

That’s Nice…

…But we Believe in our

comprehensive, repeatable regression

tests.

Page 4: Exploratory Testing in Practice

Incidental Correctness

Given a series of 1’s and 0’s,

Compute the corresponding

decimal number

x

6

5

7

0

011

101

111

000

3

5

7

0 Result Input Expected

Page 5: Exploratory Testing in Practice

Missed Requirements

Hey, Where’s the motor for this

remote control car?

Motor?!? You never

said anything about a motor!

Page 6: Exploratory Testing in Practice

Real World Users Happen

You assume they’re

reasonable people

who will do

reasonable things.

They aren’t and

they won’t.

Page 7: Exploratory Testing in Practice

So What Is Exploratory Testing?

a systematic approach for

discovering risks

using rigorous

analysis techniques

coupled with

testing heuristics.

Page 8: Exploratory Testing in Practice

OK…But What Do You Actually Do?

Simultaneously…

…learning about the Target

…While designing tests

…And executing Them Immediately

using feedback from the last Little Experiment to inform the next

(Term coined by Cem Kaner. Definition refined by James Bach. Others have contributed to ET including

James Lyndsay, Jonathan Kohl, Michael Bolton.)

Page 9: Exploratory Testing in Practice

Experiment

Next, let’s try interrupting the

transaction here.

So it handled all the variations

on disconnected networks we

could think of…

Page 10: Exploratory Testing in Practice

Discover Things You Can Vary

Page 11: Exploratory Testing in Practice

11

Use State Models

Update System

Check Network

Idle

Time to connect

System Updated

No Network

Get Updates

Network Avail

No Updates

Content Downloaded

Page 12: Exploratory Testing in Practice

Use Data Models

Customer

Orders

Vendor

Products

Has 0 or More

Has 0 or More

Has 1 Or More

Page 13: Exploratory Testing in Practice

Use Deployment Diagrams

Local Server Farm

Agent AWS

Page 14: Exploratory Testing in Practice

Use Heuristics

Counts: 0, 1, Many

See the Test Heuristics Cheatsheet for more http://bit.ly/testcheatsheet

Position: Beginning, Middle, End

Selection: Some, None, All

Violate Domain-Specific Rules:

Age -1 IP address 999.999.999.999

Goldilocks: too big, too small,

just right

Interrupt States

Delete Dependent Data

Page 15: Exploratory Testing in Practice

In Flight Feedback at #AU2H

Jon Bach

(Exploring)

Matt Barcomb

(Coding)

Page 16: Exploratory Testing in Practice

Result: Feedback on Process AND Product

I’ll add things like that to the

acceptance criteria.

We need to think about that kind of

thing in future designs too.

We’ve automated the regression

test when we fixed the bug.

Page 17: Exploratory Testing in Practice

Pitfall: Going Off in the Weeds

it doesn’t work on 15 year old laptops running Windows 3.1!

Uh…

Why Would We

Care?

Page 18: Exploratory Testing in Practice

Focus with Charters

Explore (Area/feature)

With (Resources,

conditions, Dependency,

etc.)

to discover (information)

Page 19: Exploratory Testing in Practice

Structure with Time Boxed Sessions

Session

Session

Session

Session

Session

Session

Explore login in combination with bookmarks & history to discover information about interactions.

Explore the site with various browsers and settings to discover risks related to unsupported configurations.

Explore error handling using data type attacks to find problems related to data validation.

Charters Sessions

Page 20: Exploratory Testing in Practice

Explore Early, Explore Often

Page 21: Exploratory Testing in Practice

Exploratory Testing on Agile Projects

Within an Iteration

Automated Unit Tests

Automated Acceptance

Tests

Exploratory Testing

Define “done”, represent executable

requirements

Drive design, represent executable

specifications

Discover risks EARLY