testing for everyone agile yorkshire

17
Testing for Everyone Trying to answer the age old question What is the ‘Testing Mindset’?

Upload: adrian-stokes

Post on 27-Jun-2015

206 views

Category:

Technology


0 download

DESCRIPTION

Trying to explain the testers mindset and how it can help everyone develop better software

TRANSCRIPT

Page 1: Testing for everyone agile yorkshire

Testing for Everyone

Trying to answer the age old questionWhat is the ‘Testing Mindset’?

Page 2: Testing for everyone agile yorkshire

Who Am I?

Ady Stokes

Nearly 2 decades in Software Testing,

Quality Assurance and Risk management and still learning

Currently manage QA and Risk at HML in Skipton for their

Business Intelligence Division

Contacts:

Twitter: @CricketRulz

Email work: [email protected]

Email home: [email protected]

Page 3: Testing for everyone agile yorkshire

Where I Work

HML (part of the Skipton Group)

Has over 42 billion in assets under management

Offices in Skipton, Derry, Glasgow

Highly regulated financial organisation

Agile adoption since 2008

Page 4: Testing for everyone agile yorkshire

Everyone Tests!

Page 5: Testing for everyone agile yorkshire

Everyone Tests!

It’s a fact of life everyone tests all the time!

Think of your first coffee this morning. You

had a sip to see if it wouldn’t burn your mouth!

That’s testing!

When you had your generic satellite system installed you paused, rewound and fast forwarded live TV! That’s testing!!!

Everyone tests! It’s nothing to be frightened of

However, getting from undisciplined to structured,

now that takes skills and knowledge!

Page 6: Testing for everyone agile yorkshire

Triangle Test

Triangle Test ExampleBy Glenford J Myers 1979

Scope – Software defines what type of triangle based on 3 possible outcomes,

Equilateral (all sides same length)

Isosceles (two sides of equal length)

Scalene (all sides are unequal in length)

List as many tests as you can in 10 minutes

Page 7: Testing for everyone agile yorkshire

Triangle Test

Side One:

Side Two:

Side Three:

Output Grid

DRAW

Page 8: Testing for everyone agile yorkshire

Possible TestsIt is impossible to execute every possible test, but here are some things that I’d expect you to have covered:

• Valid entry for all three types of triangle

• Permutations for isosceles with two equal sides? (3,3,4; 3,4,3; 4,3,3)

• Incorrect or mathematically impossible triangles (1,2,3; 1,1,9999 ; 2, 5, 10)

• Negative and zero inputs for at least one side (0, -1,)

• Blanks (blank, 1, 1) for each field?

• Spaces (space, 1, 1) for each field?

• Boundaries and decimals (9999, 9999, 9999, 0.99 etc.)

• Field size, what is the maximum entries or is it unlimited?

• Special Characters ($%^&), Alpha’s, Alphanumeric?

For each of the above do you know what the result should be?

Can you think of any others?

Page 9: Testing for everyone agile yorkshire

It Is Not Fair Because…

The triangle test is not really fair because…

• You have no requirements so everything you did was based on an assumption about the program

• I didn’t offer any help with what valid and invalid data was

• I didn’t tell you how to start the program, what version it was, if it was live or not.

• There was no information on dependency or performance

But hopefully it does make you think about testing and how there are a great many things that can affect and influence your software?

Page 10: Testing for everyone agile yorkshire

So, What is the‘Testing Mindset’

Page 11: Testing for everyone agile yorkshire

So, What is the‘Testing Mindset’

It’s not…

Developers Make, Testers Break

(Sorry, but it was like that when we got there!)

Or

Testers Tell Tales To Teacher!

(We want to tell YOU directly because we are all in it together)

Its more like…

What would happen given every possible practical scenario?

Page 12: Testing for everyone agile yorkshire

The Testing Mindset

‘We can’t solve problems by using the same kind of thinking we used when we created them’

Albert Einstein

12

Page 13: Testing for everyone agile yorkshire

Types of Tests!

When it comes to software testing there are many methods techniques and considerations which are useful to be aware of.

• Boundary Value Analysis – at the edge of value entry

• Equivalence Partitioning – grouping value entry

• Unit testing – focus on individual components

• Functional testing – focus on outputs

• Load / Stress / Performance / Deployment and Rollback

• Happy path / Sad path – does as it should, handles the unexpected

• Usability – flow / understandable / navigation

• Security – access / safe / secure

Page 14: Testing for everyone agile yorkshire

Top tips for testing

Be curious

Don’t make assumptions

14

Page 15: Testing for everyone agile yorkshire

The Testing of Requirements

Old World

• Singular

• Complete

• Consistent

• Correct

• Current

• Unambiguous

• Prioritised

• Traceable

New World

• Singular

• Complete

• Consistent

• Correct

• Current

• Unambiguous

• Prioritised

• Traceable

• Testable

Page 16: Testing for everyone agile yorkshire

Questions?

Motto: Don’t agitate, collaborate!

Page 17: Testing for everyone agile yorkshire

Who Am I

Ady Stokes

Contacts:

Twitter: @CricketRulz

Email work: [email protected]

Email home: [email protected]