Rapid Software Testing

22
Rapid Software Testing

description

Rapid Software Testing. Rapid Testing. This is a general testing methodology. It adapts to any kind of project or product. Rapid testing is a mind-set and a skill-set of testing focused on how to do testing more quickly , less expensively , with excellent results . - PowerPoint PPT Presentation

Transcript of Rapid Software Testing

Page 1: Rapid Software Testing

Rapid Software Testing

Page 2: Rapid Software Testing

Rapid testing is a mind-set and a skill-set of testing

focused on how to do testingmore quickly,

less expensively, with excellent results.

Rapid Testing

This is a general testingmethodology. It adapts to

any kind of project or product.

Page 3: Rapid Software Testing

Asking questions Questions about the idea or design of the

product to find ways to configure and operate it

The product “answers” and tester observes and evaluates it’s behavior

To evaluate a product is to observe the behavior of the product in the field and to identify important problems

What is Testing?

Testing is questioning a product in order to evaluate it.

Page 4: Rapid Software Testing

“Try it and see if it works.”

Getting Answers

Try itAsk questions- Try different

things- Try different

combinations

- Try weird things

SeeObserve

- Where to look?

- How to look?

- What’s visible,

invisible?- Did it change?

It worksEvaluate

- Compare against the

spec- Find problems

and inconsistenc

ies

Page 5: Rapid Software Testing

“Try it and see if it works.”…really means..

“Try it to discover enough,about whether it can work,

and how it might not work, to learn whether it will work”

Know your missionBegin systematically……Then chase the risk

Getting Answers

Page 6: Rapid Software Testing

You must cover the product and for that you need a good models of it

Testing is in your head: Models: technical knowledge, domain

knowledge, product knowledge, experiential knowledge

Thinking: vertical thinking(logic), lateral thinking (creativity)

Feeling: impressions, intuitions, motivations

Using Models to test

Page 7: Rapid Software Testing

A model is an idea, activity or object…such as an idea in your mind, a diagram, a list of words, a spreadsheet, a person, a demonstration or a program

…that represents another idea, activity, object…Such as something complex that you need to work with or study.

…whereby understanding the model may help you understand or manipulate what it represents.

Models

Page 8: Rapid Software Testing

Wine glass: find all relevant attributes to test it

I’m a waiter. Order beer from me that fulfill your expectation.

Magic trick. When you have no model is difficult to find your oracles.

Exercise

Page 9: Rapid Software Testing

Focusing and Defocusing

My Modelof the World

“I see…”

“I believe…”

Page 10: Rapid Software Testing

If you are Frustrated just DE-FOCUS

1. Look over your recent tests and find a pattern here

2. With your next few tests, violate the old pattern

3. Prefer “multiple factors at a time”4. Vary your observations

DE-FOCUS

Page 11: Rapid Software Testing

To find unexpected problems or more problems quickly in a complex product..1. Start from different states (not necessarily clean)2. Prefer complex, challenging actions3. Generate tests from a variety of models4. Question your procedures and tools5. Try to see everything with open expectations6. Make the test hard to pass, instead of easy to

reproduce

DE-FOCUS

Page 12: Rapid Software Testing

If you are Confused just FOCUS

1. Simplify your tests2. Conserve states3. Frequently repeat your actions4. Frequently return to known state5. Make precise observations

FOCUS

Page 13: Rapid Software Testing

To maximize test integrity..1. Start the test from known(clean) state2. Prefer simple, deterministic actions3. Trace test steps to a specified model4. Follow established and consistent procedures5. Make specific predictions, observations and

records6. Make it easy to reproduce (automation may

help)

FOCUS

Page 14: Rapid Software Testing

IP Address Syntax checker This program checks the syntax of IP

addresses There is a bug in it: for some valid IP

addresses, it wrongly rejects them as invalid Your job is to find the bug. When you find it,

the program will tell you how many tries it took for you to find the bug

Try to investigate the bug after you find it

Exercise

Page 15: Rapid Software Testing

Defocusing may help you to find problems

Learn how to “choose” random numbersExample: Pick a RANDOM number between 1 and 20.

Intuition is a fine start, but don’t let that be the end

IP Address Conclusion

Page 16: Rapid Software Testing

Scripted Tests

Where do scripts come from?

What happens when the unexpected happens during a

script?

Will everyone follow the same script the same way?

What do we dowith what we

learn?

Page 17: Rapid Software Testing

Exploratory Tests

Where does exploration come

from?

What happens whenthe unexpected happens during

exploration?

Will everyone explore the same way?

What do we dowith what we

learn?

Page 18: Rapid Software Testing

Scripted Tests

Where do scripts come from?

What happens when the unexpected happens during a

script?

Will everyone follow the same script the same way?

What do we dowith what we

learn?

Page 19: Rapid Software Testing

Exploratory Tests

Where does exploration come

from?

What happens whenthe unexpected happens during

exploration?

Will everyone explore the same way?

What do we dowith what we

learn?

Page 20: Rapid Software Testing

Combine Scripted and Exploratory

Page 21: Rapid Software Testing

Generic scripts: specify general test procedures and apply them to different parts of a test

Vague scripts: specify a test step-by-step, but leave out any detail that does not need to be pre-specified

Improvisation: have scripts, but encourage deviation from them too

Roles: give each tester to test a certain part of the product. Leave rest up to them

Fragmentary cases: specify tests as a single sentences of phrases

Blending Scripted and Exploratory

Page 22: Rapid Software Testing

Disk Mapper

Exercise