how to improve your manual testing - eclipsecon · pdf file1 how to improve your manual...

29

Click here to load reader

Upload: dangdat

Post on 03-Feb-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

1

How to improve yourmanual testing…  without getting bored!

Alex Schladebeck

23.10.2014

(exploratory testing and session-based test management)

Page 2: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

2

Short introductionBREDEX• Individual software

development• Enterprise applications

• Quality assurance• Based on Jubula• Tool-independent services

This talk• Why exploratory testing?• How to use it• How to plan and organise it

23.10.2014 Eclipse Con Europe 2014

Page 3: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

3

Wait, what?!If you‘re such test automation champions, why

are we talking about manual testing?

23.10.2014 Eclipse Con Europe 2014

Page 4: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

4

Testing as detective work

23.10.2014 Eclipse Con Europe 2014

Testing is gathering information with the intention of informing a decision – Jerry Weinberg

Page 5: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

5

Gathering informationIt is impossible to plan tests in advance to cover everypossible conditionIf you try to plan / write all possible tests, you will only ever write them, never execute themYou can only plan based on what you know• If the map and the territory differ, believe the territory

23.10.2014 Eclipse Con Europe 2014

Elisabeth Hendrickson, Explore It!

Page 6: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

6

Testing vs. Checking

23.10.2014 Eclipse Con Europe 2014

Scripted test(manual orautomated)

Unscripted test(manual only)

Checking Testing(Exploring)

Are thereany

otherrisks?

Intendedbehaviour?

Page 7: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

7

A couple of videos

23.10.2014 Eclipse Con Europe 2014

Page 8: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

8

1. Observational blindnessFocus on one aspect makesus miss other things• The narrower the view, the wider

the ignorance

Errors avoid well-tested paths

23.10.2014 Eclipse Con Europe 2014

Page 9: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

9

2. Orders of ignorance

23.10.2014 Eclipse Con Europe 2014

because as we know, there are known knowns—there are things we know  we  know…  

We also know there are known unknowns; that is to say we know there  are  some  things  we  do  not  know…  

But there are also unknown unknowns—the ones we don't know we don't know.

Donald Rumsfeld, US Secretary of Defense.Department of Defense News Briefing. Feb 12 2002

Page 10: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

10

2. Orders of ignorance0th order ignorance• We provably know something• Æ a scripted test that shows

us the same questions beinganswered again and again

1st order ignorance• We  know  what  we  don’t  know• Æ scripted and exploratory

testing can help here: ask thequestions that will give us theknowledge

2nd order ignorance• We  don’t  even  know  what  we  don’t  know

• Æ exploratory testing to find out what  we  don’t  know

• Repeat thinking, not steps• Find the holes in the net

23.10.2014 Eclipse Con Europe 2014

Page 11: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

11

Not scripted? Clicking around?

23.10.2014 Eclipse Con Europe 2014

Page 12: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

12

Exploratory testingExploratory testing is not ad hocTest design, execution and analysis all happen at the same time• No scripting – but normal test design practices can be used (personas,

decision tables,  …)• Pre-defined test results not necessary• Thoughts and process not documented in advance

Situational and emergent practice – context is important• The puzzle itself influences the strategies for solving it• Steps and test cases are designed based on context and on observation

…  This sounds kind of difficult, but it‘s actually our normal human practice of reasoning.

23.10.2014 Eclipse Con Europe 2014

Page 13: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

13

Exploratory testing

23.10.2014 Eclipse Con Europe 2014

Page 14: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

14

When should I use Exploratory Testing?To find out unknown unknownsTo find out how the software works• E.g. when the specifications aren‘t detailedWhen you need to find important information quicklyTo keep test script writing to a minimumTo find new information and new questionsTo avoid observational blindness

23.10.2014 Eclipse Con Europe 2014

Page 15: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

15

How do I use Exploratory Testing?How do I know how the program should behave?What should I test?How do I know what is a problem?

23.10.2014 Eclipse Con Europe 2014

Page 16: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

16

Sources and oraclesSources• Places you can get

information• Specification• Requirements• Documentation• Experience• Sales promises• Discussions• Customer• Users• Product menus, toolbars,

context menus

Oracles• How to know if there is a

problem• Mental models• Own gut feeling• Consistency• Is there a problem here?

Heuristics• Rules of thumb to guide

testing and to identifyproblems

23.10.2014 Eclipse Con Europe 2014

Page 17: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

17

Heuristics – what to look at / forCRUD: Create, read, update, deleteGoldilocks: Too big, too small, just rightUsers and scenarios: personas, extreme personalities, soap operas, toursFollow the data: Enter – Search – Report – Export –Import – Update – ViewHICCUPSF: History, Image, Comparable Products, Claims, User expectations, Product, Purpose, Statutes, FamiliarProblemsAreas of potential instability: interoperation, multiple files, network,  …

23.10.2014 Eclipse Con Europe 2014

Page 18: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

18

Advantages and disadvantagesAdvantages• Less preparation than

scripting• Complete specification not

required• Adaptable to new

information• Important errors found

quickly• More interesting

Disadvantages• Not reviewable in advance• Not reproducible• Not good in low-availability

environments

• Hard to organise and control

• Where to start?• Session-based test

management

23.10.2014 Eclipse Con Europe 2014

Page 19: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

19

Session-based test managementA way of organising and reporting on Exploratory Testing

23.10.2014 Eclipse Con Europe 2014

Session-based test management recipe

Charters What areas to testSessions Time to do the testingNotes Observations, questions, feelings, tests performedDebriefing Information transfer

Page 20: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

2023.10.2014 Eclipse Con Europe 2014

Definecharters

Prioritiseandassign

Session –down therabbithole!

Observeand note

Debrief

Page 21: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

21

ChartersExplore [area] with [resources] to discover [information]

Charters come from:• Stakeholders, team, risks, quality attributes, places where we

require information, the nightmare headline gameDefined in advance but can be changed(Re)prioritised before each new session

23.10.2014 Eclipse Con Europe 2014

Page 22: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

22

Session – down the rabbit holeUninterrupted timebox• 30-120 minutesOne charter• Down the rabbithole• If you find another hole, write it down Æ new charter for next

sessionUse heuristics to create and execute tests

23.10.2014 Eclipse Con Europe 2014

Page 23: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

23

NotesWhat did I do?What did I observe?• Videos, screenshotsHow do I feel about the quality of this charter?Ratio test:setupRatio charter:opportunity• Opportunity = new areas that occur while testing

23.10.2014 Eclipse Con Europe 2014

Page 24: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

24

DebriefPROOF• Past: what happened• Results: what was achieved?• Obstacles: what blocked the testing?• Outlook: What needs to be done?• Feeling: how do I feel about this?

23.10.2014 Eclipse Con Europe 2014

Page 25: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

25

Test day8.00 Define, prio, choose charters8.30 Session10.00 Debrief10.15 Break10.30 Define, prio, choose charters10.45 Session12.00 Debrief12.15 Lunch

1.15 Define, prio, choose charters1.30 Session3.00 Debrief3.15 Bug entry

23.10.2014 Eclipse Con Europe 2014

Page 26: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

26

When to reproduce / enter bugs?

23.10.2014 Eclipse Con Europe 2014

Page 27: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

27

A good mixDaily / in each sprint

Automated tests• Regression tests• As part of acceptance

testing for new features Ætests that will becomeregression tests

Exploratory testing• Manual testing of new

features• Can use SBTM

Before a releaseManual test checklists• Semi-scriptedExploratory testing dayswith session based testmanagement

23.10.2014 Eclipse Con Europe 2014

Page 28: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

28

Thanks!

23.10.2014 Eclipse Con Europe 2014

[email protected]@alex_schl

www.bredexsw.comtesting.bredex.de

www.eclipse.org/jubula

Page 29: How to improve your manual testing - EclipseCon · PDF file1 How to improve your manual testing without getting bored! Alex Schladebeck 23.10.2014 (exploratory testing and session-based

29

ReferencesJerry Weinberg, Perfect Software and other Illusions about Testing

Orders of ignorance http://www.corvusintl.com/CACM002-5OI.htm

Exploratory testing• Explore it! Elisabeth Hendrickson (Pragmatic Bookshelf)• http://www.developsense.com/blog/2012/04/all-oracles-are-heuristic/• http://www.satisfice.com/articles/what_is_et.shtml• http://www.satisfice.com/tools/procedure.pdf• http://www.flickr.com/photos/softwaretestingclub/7173828227/sizes/o/in/photostream/

Cheat sheets and mnemonics• http://www.qualityperspectives.ca/resources_mnemonics.html• http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf

• Session-based test management• http://www.ministryoftesting.com/resources/session-based-test-management/• http://www.satisfice.com/articles/sbtm.pdf

23.10.2014 Eclipse Con Europe 2014