software testing definitions and models - how and why to create your own definition

42
Some Thoughts on Models and Definitions of Testing Alan Richardson www.compendiumdev.co.uk blog.eviltester.com seleniumsimplified.com blog.javafortesters.com

Upload: alan-richardson

Post on 07-Jan-2017

764 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Software Testing Definitions and Models - How and Why to Create your own Definition

Some Thoughts on Models and Definitions of Testing• Alan Richardson

• www.compendiumdev.co.uk

• blog.eviltester.com

• seleniumsimplified.com

• blog.javafortesters.com

Page 2: Software Testing Definitions and Models - How and Why to Create your own Definition

Is Testing all about bugs?

Page 3: Software Testing Definitions and Models - How and Why to Create your own Definition

Is Testing all about bugs?

No. Testing is all about testing.

Page 4: Software Testing Definitions and Models - How and Why to Create your own Definition

Only nothing is all about anything else

Nothing is all about the absence of anything else.

Page 5: Software Testing Definitions and Models - How and Why to Create your own Definition

The only thing that a thing is all about is

the thing.Testing is not all about bugs because testing is all about

testing.

Page 6: Software Testing Definitions and Models - How and Why to Create your own Definition

Testing is all about testing.

But do we know what that means?

Do we know what testing actually is?

Page 7: Software Testing Definitions and Models - How and Why to Create your own Definition

Create a definitionbut definitions are hard.

Page 8: Software Testing Definitions and Models - How and Why to Create your own Definition

One thing I did...come up with a list,

because Testing is what Testers do

Page 9: Software Testing Definitions and Models - How and Why to Create your own Definition

Model your every day testing life

Generalise that into a definition or model of testing

Page 10: Software Testing Definitions and Models - How and Why to Create your own Definition

There were a couple of things that

stopped me creating definitions

Page 11: Software Testing Definitions and Models - How and Why to Create your own Definition

1 - I found it hard

Page 12: Software Testing Definitions and Models - How and Why to Create your own Definition

2- I had a limiting belief about definitions

Page 13: Software Testing Definitions and Models - How and Why to Create your own Definition

Limiting Belief: I would be constrained

by that definition

Page 14: Software Testing Definitions and Models - How and Why to Create your own Definition

If something doesn't fit into my definition then I'm not going to do it because its not

testing.

Page 15: Software Testing Definitions and Models - How and Why to Create your own Definition

The way I got round that was by realising• definitions are just models,

• we can have multiple models,

• we can use multiple definitions,

• our models can be wrong,

• our models change over time

Page 16: Software Testing Definitions and Models - How and Why to Create your own Definition

If you're worried that "I have to only do

THIS because that's what TESTING IS"

Page 17: Software Testing Definitions and Models - How and Why to Create your own Definition

"I have to only do THIS because that's what TESTING IS"

That's just a model and a belief which

can be changed.

Page 18: Software Testing Definitions and Models - How and Why to Create your own Definition

Have you defined testing for yourself

yet?

Page 19: Software Testing Definitions and Models - How and Why to Create your own Definition

Here's my current working model

definition...

Page 20: Software Testing Definitions and Models - How and Why to Create your own Definition

"Testing is building and comparing a

model of a system to the system."

Page 21: Software Testing Definitions and Models - How and Why to Create your own Definition

"Testing is building and comparing

models of a system to the system."

Page 22: Software Testing Definitions and Models - How and Why to Create your own Definition

What does that not cover, in what you

do?That might hint at what you value

as important for testing.

Page 23: Software Testing Definitions and Models - How and Why to Create your own Definition

And if it does sit well for you then see

where you can take it

Page 24: Software Testing Definitions and Models - How and Why to Create your own Definition

Definitions are supposed to

empower us and help us to think about

testing, rather than limit us

Page 25: Software Testing Definitions and Models - How and Why to Create your own Definition

In reality it was "process", rather than "definition" that held

us back

Page 26: Software Testing Definitions and Models - How and Why to Create your own Definition

Processes can be a direct result of

someone's strong definition or model

Page 27: Software Testing Definitions and Models - How and Why to Create your own Definition

Sometimes they are a result of people not

having a model

Page 28: Software Testing Definitions and Models - How and Why to Create your own Definition

So they don't know how to evaluate and change the process

against their environment

Page 29: Software Testing Definitions and Models - How and Why to Create your own Definition

If you have model, then you can compare

it to your environment and

adjust... adjust the process or the environment or the model

Page 30: Software Testing Definitions and Models - How and Why to Create your own Definition

How does my definition or model of

testing help me?

Page 31: Software Testing Definitions and Models - How and Why to Create your own Definition

Strategy - Why? Why build this model?

Why compare to this part of the system?

Why... etc.

Page 32: Software Testing Definitions and Models - How and Why to Create your own Definition

Your strategy starts with Why

Page 33: Software Testing Definitions and Models - How and Why to Create your own Definition

Why are you building and conceptualising certain models and

why they are important to

compare?

Page 34: Software Testing Definitions and Models - How and Why to Create your own Definition

Approach - How? How am I going to

compare this model? How am I going to

expand this model? How... etc.

Page 35: Software Testing Definitions and Models - How and Why to Create your own Definition

Planning - Who and When? Who is going

to compare this? Who has the skills? When to compare? Who...

When... etc.

Page 36: Software Testing Definitions and Models - How and Why to Create your own Definition

Your model, or definition, of testing can help guide you

through your general strategy/approach/

planning process

Page 37: Software Testing Definitions and Models - How and Why to Create your own Definition

Some Thoughts on Models and

Definitions of Testing

Page 38: Software Testing Definitions and Models - How and Why to Create your own Definition

Summary• The Name is not the Thing

• Build a model of what you do by listing your daily activities

• Creating a definition can be hard, but we can evolve it

• I describe testing as - "Testing is building and comparing models of the system to the system"

• Use other peoples' definitions to guide you to yours - what do they not cover that you value as important?

Page 39: Software Testing Definitions and Models - How and Why to Create your own Definition

Summary• Bad processes come from thoughtless models of testing

• Definitions guide us, not constrain us, for Strategy/Approach/Plan

Page 40: Software Testing Definitions and Models - How and Why to Create your own Definition

Alan RichardsonRead my writing and blogs at:

• www.compendiumdev.co.uk

• blog.eviltester.com

• seleniumsimplified.com

• blog.javafortesters.com

Page 41: Software Testing Definitions and Models - How and Why to Create your own Definition

Alan RichardsonFollow me on social media:

• uk.linkedin.com/in/eviltester

• twitter.com/eviltester - @eviltester

• youtube.com/user/EviltesterVideos

• instagram.com/eviltester

Page 42: Software Testing Definitions and Models - How and Why to Create your own Definition

Alan RichardsonBooks And Training

• "Java For Testers" - Learn to code in Java

• "Dear Evil Tester" - Enjoy your testing

• Online Training in Technical Testing, Selenium WebDriver, Java and more