software testing without requirements: survival guide

41
SOFTWARE TESTING without requirements without

Upload: oleksandr-lutsaievskyi

Post on 08-Sep-2014

44.417 views

Category:

Technology


0 download

DESCRIPTION

How to test software products without specifications or any documented requirements?

TRANSCRIPT

Page 1: Software Testing without Requirements: Survival Guide

SOFTWARE TESTING without requirements without

Page 2: Software Testing without Requirements: Survival Guide

NO TIME TO

EXPLAIN!

TEST!

The situation:

Page 3: Software Testing without Requirements: Survival Guide

NO TIME TO

EXPLAIN!

TEST!

The situation: No

documentation

No testing process

No time to test

everything

Page 4: Software Testing without Requirements: Survival Guide

HAVE

YOU BEEN IN THIS SITUATION?

Page 5: Software Testing without Requirements: Survival Guide

No resources to create docs.

Legacy product support.

No knowledge to create docs.

Page 6: Software Testing without Requirements: Survival Guide

You are limited to testing only obvious things.

Page 7: Software Testing without Requirements: Survival Guide

Obvious things you can test.

Things you can only guess.

Page 8: Software Testing without Requirements: Survival Guide

Techniques.

Page 9: Software Testing without Requirements: Survival Guide

High risk / No time Low risk / more time

Exploratory testing Experience-based testing Error guessing

Own experience

Documentation

No documentation

Page 10: Software Testing without Requirements: Survival Guide

High risk / No time Low risk / more time

Exploratory testing Experience-based testing Error guessing

Structure-based testing

Use-case based testing

Equivalence partitioning Boundary testing State-transition Decision tables

Specification

Use-cases

Code

Own experience

Documentation

No documentation

Page 11: Software Testing without Requirements: Survival Guide

High risk / No time Low risk / more time

Documentation

No documentation

Exploratory testing Experience-based testing Error guessing

Use-case based testing

Equivalence partitioning Boundary testing State-transition Decision tables

Specification

Use-cases

Own experience

Structure-based testing Code

Page 12: Software Testing without Requirements: Survival Guide

SO, WHAT’S

THE

PLAN?

Page 13: Software Testing without Requirements: Survival Guide

The Plan.

Exploratory testing 1

Learn the product 2

Create documentation 3

Page 14: Software Testing without Requirements: Survival Guide

Exploratory testing

Learn the product

Create documentation

Page 15: Software Testing without Requirements: Survival Guide

Find the person responsible for the results of testing.

Page 16: Software Testing without Requirements: Survival Guide

It can be:

Who is interested in testing?

The Project Manager?

The Customer?

Page 17: Software Testing without Requirements: Survival Guide

This person will help you to understand

what is

TRUE

about

Test Scenarios

Pass/Fail

Expected Results

Page 18: Software Testing without Requirements: Survival Guide

Start with risk-based testing.

Most critical and high-use features

Features you will release soon

Page 19: Software Testing without Requirements: Survival Guide

Log test scenarios.

For regression testing.

To learn system behavior.

To confirm the tests.

Page 20: Software Testing without Requirements: Survival Guide

Confirm the test results.

Until it is confirmed, this is only your assumption.

Page 21: Software Testing without Requirements: Survival Guide

Running the same tests over and

over again would not show any new defects.

Watch out the Pesticide Paradox!

Page 22: Software Testing without Requirements: Survival Guide

Notice defect

clusters.

80% of bugs are

caused by

20% of modules.

Page 23: Software Testing without Requirements: Survival Guide

Exploratory testing

Learn the product

Create documentation

Page 24: Software Testing without Requirements: Survival Guide

Learn: Users. Objects. Workflows. Product properties.

Page 25: Software Testing without Requirements: Survival Guide

Emails

Notes

Recorded issues

Marketing materials

What can be used?

Page 26: Software Testing without Requirements: Survival Guide

The product itself

Competitors’ products

Page 27: Software Testing without Requirements: Survival Guide

Interviews with Stakeholders

Page 28: Software Testing without Requirements: Survival Guide

The Interview: Focus on Results

1: What should you get?

Outputs

2: What will you use?

Inputs Process

3: How is it done?

Page 29: Software Testing without Requirements: Survival Guide

Exploratory testing

Learn the product

Create documentation

Page 30: Software Testing without Requirements: Survival Guide

Visualize system

requirements

To build a “map” of the workflows

To fit new tests in a whole picture

Page 31: Software Testing without Requirements: Survival Guide

Use-case diagrams

Flowcharts

“Screenflow” charts

Tools:

Page 32: Software Testing without Requirements: Survival Guide

Screenflow chart example

Page 33: Software Testing without Requirements: Survival Guide

Document on a high level first.

Just enough for testing

Details will be added “as you go”

Page 34: Software Testing without Requirements: Survival Guide

Use-cases

Checklists Tools:

Page 35: Software Testing without Requirements: Survival Guide

Add more details while you test.

Connect high-level requirements and detailed test scenarios

Use both bottom-up and top-down

Page 36: Software Testing without Requirements: Survival Guide

Exploratory testing

Learn the product

Create documentation

Risk-based testing.

Log the scenarios.

Confirm the results.

Users, Objects, Flows.

Use legacy docs.

Interview people.

Visualize.

Start with a high level.

Top-down/bottom-up.

Page 37: Software Testing without Requirements: Survival Guide

Exploratory testing

Learn the product

Create documentation

Exploratory testing

Learn the product

Create documentation

Exploratory testing

Learn the product

Create documentation

Repeat the pattern to obtain more and more knowledge on

each step.

Page 38: Software Testing without Requirements: Survival Guide

HINTS AND

HACKS

Page 39: Software Testing without Requirements: Survival Guide

Always inform people about the risks.

You cannot test everything – test by priority.

Aware of some developers, saying “it’s not a bug – it’s a feature!”

Still the bug can be not the bug – discuss doubtful issues.

Always follow up discussion with a written notes.

Page 40: Software Testing without Requirements: Survival Guide

KEEP CALM

AND

TEST, TEST AGAIN, THEN TEST SOME MORE