exploratory testing workshop in risk-based agile testing

42
ET Workshop v. 1.2 0 - Introduction ©2002 Amland Consulting 1-1 Introduction Outline These slides are distributed under the Creative Commons License. In brief summary, you may make and distribute copies of these slides so long as you give the original author credit and, if you alter, transform or build upon this work, you distribute the resulting work only under a license identical to this one. For the rest of the details of the license, see http://creativecommons.org/licenses/by- sa/2.0/legalcode.

Upload: softwarecentral

Post on 07-May-2015

942 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-1

Introduction OutlineThese slides are distributed under the

Creative Commons License. In brief summary, you may make and distribute copies of these slides so long as you give the original author credit and, if you alter, transform or build upon this work, you distribute the resulting work only under a license identical to this one. For the rest of the details of the license, see http://creativecommons.org/licenses/by-sa/2.0/legalcode.

Page 2: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-2

Introduction Outline

Introduction

Test Management and Techniques

ET Planning, Exec. and Documentation

ET Styles

ET Management

• Introduction to testing.

• What is Exploratory Testing?

• Where to use it?

• When to use it?

• Introduction to Risk

1.

2.

3.

4.

5.

Page 3: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-3

1. Introduction

1.1 Introduction to testing – thinking like a tester

1.2 Introduction to Exploratory Testing1.3 Introduction to

Risk and Risk-Based Testing

1.

2.

3.

4.

5.

Page 4: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-4

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET ManagementDifferent testing approaches

1. Skeptical approaches2. Analytical approaches3. Information-driven approaches4. Time-honored but less effective

approaches5. Experiential and intuitive

approaches6. And…?

Ross Collard (2002)

Page 5: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-5

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management Skeptical approaches

“In God We Trust, Everything Else We Test!”“The barbarians (software engineers) are at the gate”“Let’s use a scatter gun to test with, and see what bugs we hit”

Ross Collard (2002)

Different testing approaches (1)

Page 6: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-6

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management Analytical approachesLet’s analyze the functional specs. to understand the system’s expected behavior“Let’s develop a model of the system, and then use this conceptual model as a basis for testing”Let’s derive the test cases by analyzing the description logic, process flows, equivalence classes, changes of state, or input combinations, etc.”

Ross Collard (2002)

Different testing approaches (2)

Page 7: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-7

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Information-driven approaches

“Let’s focus the depth and intensity of the testing in the high risk areas, based on the perceived threats and vulnerabilities of the system”“Let’s follow this bug list or check list in our testing”“Let’s go ask the software engineers what to test, because they know how the system works”“Let’s look under the hood and read the code”“Let’s follow the clients’ direction, because they have the final sign-off authority”

Ross Collard (2002)

Different testing approaches (3)

Page 8: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-8

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Time-honored but less effective approaches

“Let’s follow the book”“We always do it this way”“You shouldn’t change that features because it will screw up our testing.” The tail wags the dog.“Testing is easy, or at least a lot easier than software design, programming and maintenance.”“Anyone can do testing”“Errors just happen. They are caused by bad luck.”

Ross Collard (2002)

Different testing approaches (4)

Page 9: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-9

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Experiential and intuitive approaches

“Let’s think blue-sky, speculate and follow our intuition.”“We have good hunches about where the bugs are lurking.”“Let’s jump in an explore the system’s behavior hands-on, so we can decide how to test it.”“Let’s find the important bugs fast, and worry about the test paperwork later.”

Ross Collard (2002)

Different testing approaches (5)

Page 10: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-10

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management Exploratory Testing– Let’s explore, design the tests and test the

system concurrently (James Bach)– Let’s learn about the system, test it and

reports bugs as we go (Cem Kaner)– Let’s structure and document our creative

testing so we know where we have been– Let’s apply everything we have learned

about testing as we learn about the system, let’s do ”thinking-while-testing”!

Different testing approaches…

Page 11: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-11

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

What’s Special about a Tester’s Brain?

Page 12: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-12

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Epistemology – the Study of Knowledge

Epistemology is the study of how we knowwhat we know. The philosophy of science

belongs to Epistemology.

All good testers practice Epistemology.

From Rapid Software Testing, copyright © 1996-2002 James Bach

Page 13: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-13

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Basic Skills of Epistemology

Ability to pose useful questions.Ability to observe what’s going on.Ability to describe what you perceive.Ability to think critically about what you know.Ability to recognize and manage bias.Ability to form and test conjectures.Ability to keep thinking despite already knowing.Ability to analyze someone else’s thinking.

From Rapid Software Testing, copyright © 1996-2002 James Bach

Page 14: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-14

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

From Rapid Software Testing, copyright © 1996-2002 James Bach

Tunnel-Vision is Our Great Occupational Hazard

Problems you

can find with your

biases…

invisible

problems

invisible

problems

Page 15: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-15

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management A Tester’s AttitudeCautious

Jump to conjectures, not conclusions.Practice admitting “I don’t know.”Have someone check your work.

CuriousWhat would happen if…?How does that work?Why did that happen?

CriticalProceed by conjecture and refutation.Actively seek counter-evidence.

Good testersare hard to fool.

From Rapid Software Testing, copyright © 1996-2002 James Bach

Page 16: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-16

1.

2.

3.

4.

5.

To improve our ”judgement and skills”:

Heuristics:

A heuristic is a fallible method for finding the solution to a problem. It's essentially a plausible guess, or a mechanism that helps generate plausible guesses.

James Bach, [email protected]

Page 17: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-17

1.

2.

3.

4.

5. Heuristics…continued:

"Avoid driving while intoxicated, because there is an elevated danger of an accident" is a heuristic.

"Never drive when intoxicated" is, by contrast, a rule.

James Bach, [email protected]

Page 18: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-18

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET ManagementTesting is done in Context1. The value of any practice depends on its context. 2. There are good practices in context, but there

are no best practices. 3. People, working together, are the most important

part of any project's context. 4. Projects unfold over time in ways that are often not

predictable. 5. The product is a solution. If the problem isn't solved, the

product doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised

cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

http://www.context-driven-testing.com/

Page 19: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-19

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Exercise: The Triangle Program

Specification:This program takes three numbers as input.The numbers represent the dimensions of a triangle.When you click on the check button, the program tells you what kind of triangle the sides represent:

scalene (no side equal to any other)isosceles (two sides are equal)equilateral (all sides are equal)

Please test this program.From Black Box Software Testing, copyright © 1996 – 2002 Cem Kaner

Page 20: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-20

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Example tests: The Triangle Program

Example of tests or groups of tests:Test case for a valid equilateral triangleAt least three test cases that represent valid isosceles triangles (all permutations, e.g. 3,3,4; 3,4,3; 4,3,3)Test case in which one side has a zero value

See Meyer’s Answer in his book

Myers 1979, page 3.

Page 21: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-21

1. Introduction

1.1 Introduction to testing – thinking like a tester

1.2 Introduction to Exploratory Testing1.3 Introduction to

Risk and Risk-Based Testing

1.

2.

3.

4.

5.

Page 22: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-22

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

What is Exploratory Testing?

"Exploratory testing involves simultaneously learning, planning, running tests, and reporting /

troubleshooting results."

Dr. Cem Kaner (2001)

"Exploratory testing is an interactive process of concurrent product exploration, test design and

test execution.”

” To the extent that the next test we do is influenced by the result of the last test we did, we are doing

exploratory testing.”

James Bach, Satisfice (2001)

Page 23: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-23

Said about eXtreme Programming

Agile software development is not conventional software development done more quickly or done on tippie-toe. Agile software development is software done differently.

Ron Jeffries, (e-mail on agile-testing list, April 24, 2002)

•proven (no single technique is new)•application oriented•planned and disciplined•controllable and reliable•risk minimizing•Two sides of extreme programming:

• for the developer: freedom, flexibility, fun• for the manager: controllability, reliability,

high qualityMartin Lippert (University of Hamburg), ICSTEST 2002

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Page 24: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-24

The eXtreme Programming and Exploratory Testing

Analogy:

Agile software testing is not conventional (scripted) software testing done more quickly or done on tippie-toe.

Exploratory Testing:•proven (no single technique is new)•application oriented•planned and disciplined•controllable and reliable•risk minimizing•Two sides of Exploratory Testing:

• for the tester: freedom, flexibility, fun• for the manager: controllability, reliability,

high quality

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Page 25: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-25

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management ET vs. Scripted Testing

Jarle Våga (2002)

FullyScriptedTesting

Ad-hocTesting

AutomatedTests

BugHunting

ExploratoryTesting

Page 26: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-26

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET ManagementWhat is Scripted Testing?

Small (but realistic) example:

How to script and test this login? (Functional tests only – not security!)

Page 27: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-27

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Sample test scripts (4 of “many”):

Sample test script 1:Launch the Login screenEnter User-id: “xyz”Enter Password: “zyx”Press <Enter>Expected result: login ok

Sample test script 2:Launch the Login screenEnter User-id: “xyz”Enter Password: “zyx”Click the “Login” buttonExpected result: login ok

Sample test script 3:Launch the Login screenEnter User-id: “”Enter Password: “zyx”Press <Enter>Expected: login rejected

Sample test script 4:Launch the Login screenEnter User-id: “”Enter Password: “zyx”Click the “Login” buttonExpected: login rejected

Page 28: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-28

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Sample Generic Scripts (2 of “many”)

Sample generic test script 1:

Launch the Login screenEnter valid User-idEnter valid PasswordPress <Enter> or click buttonExpected result: login ok

Sample generic test script 2:

Launch the Login screenEnter invalid User-idEnter valid PasswordPress <Enter> or click buttonExpected result: login rejected

Page 29: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-29

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Sample test “Pattern” script (checklist)

Input fields:Valid dataInvalid dataLength > maxLength = max +1Length = maxLength = max –1Combinations of above…

Actions:KeyboardButtons…

Operations:Add, Modify, Inquiry, Delete

What to test for each…

Page 30: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-30

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

When to use Exploratory Testing? (1)

A common goal of exploration is to probe for weak areas of the program.

Test team’s resource consumption per week:

25% of the group’s time developing new tests50% executing old tests (including bug regression)25% on exploratory testing

Cem Kaner (2001a)

Page 31: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-31

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

When to use Exploratory Testing? (2)

When there is little or no specifications and / or requirementsWhen you have little or no domain knowledgeWhen you don’t have time to specify, script and test

Uncertainty and Time Pressure!

Page 32: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-32

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

When to use Exploratory Testing? (3)

Exploratory Testing is extremely useful when faced with software that is

UntestedUnknown orUnstable

The tester must create a map of the application as he goes on testing it.

Harry Robinson, http://www.testingcraft.com/exploratory-robinson.html

Page 33: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-33

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

When to use Exploratory Testing? (4)

Take a more scripted approach when:

There are little uncertainty about how to testNew tests are relatively unimportantThe need for efficiency and reliability in executing tests is worth the effort of scriptingWe are prepared to pay the cost of documenting and maintaining tests

From Black Box Software Testing, copyright © 1996 – 2002 Cem Kaner

Page 34: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-34

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

The Fallacy of Repeated Tests:Clearing Mines

minesFrom Rapid Software Testing, copyright © 1996-2002 James Bach

Page 35: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-35

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Totally Repeatable TestsWon’t Clear the Minefield

mines fixesFrom Rapid Software Testing, copyright © 1996-2002 James Bach

Page 36: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-36

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Variable Tests areTherefore More Effective

mines fixesFrom Rapid Software Testing, copyright © 1996-2002 James Bach

Page 37: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-37

Introduction

Test Management and Techniques

ET Planning and Documentation

ET Styles

ET Management

Sample Product Test Cycle1. Receive the product.

Formal buildsInformal buildsSave old builds.

2. Clean your system.Completely uninstall earlier builds.

3. Verify testability.Smoke testingSuspend test cycle if the product is untestable.

4. Determine what is new or changed.

Change log

5. Determine what has been fixed.

Bug tracking system

6. Test fixes.Many fixes fail!Also test nearby functionality.

7. Test new or changed areas.Exploratory testing.

8. Perform regression testing.Not performed for an incremental cycle.Automated vs. manualImportant tests first!

9. Report results.CoverageObservationsBug status (new, existing, reopened, closed)Assessment of qualityAssessment of testability

From Rapid Software Testing, copyright © 1996-2002 James Bach

Page 38: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-38

1. Introduction

1.1 Introduction to testing – thinking like a tester

1.2 Introduction to Exploratory Testing1.3 Introduction to Risk and Risk-Based

Testing

1.

2.

3.

4.

5.

Page 39: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-39

No Risk?

No Test!

Page 40: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-40

1.

2.

3.

4.

5.

Typical Questions for Testers

How much testing is enough?When should we stop testing?When is the product good enough for release?How good is our testing?

Managing RISK!

Page 41: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-41

1.

2.

3.

4.

5.

Product Quality and test coverage

Quality Risk Coverage

(potential faults)

Customer use Coverage

100%

100%

Worst

Poor Perfect!

Good

Rex Black 1999

Page 42: Exploratory Testing Workshop in Risk-Based Agile Testing

ET Workshop v. 1.20 - Introduction

©2002 Amland Consulting 1-42

Introduction Summary

Introduction

Test Management and Techniques

ET Planning, Exec. and Documentation

ET Styles

ET Management

• Introduction to Testing.

• What is Exploratory Testing?

• Where to use it?

• When to use it?

• Introduction to Risk

1.

2.

3.

4.

5.