agile testing

17
Introduction to Agile Testing www.dbg.co.uk Prepared by Daniel Billing PUBLIC

Upload: danielbilling

Post on 12-Jan-2015

2.189 views

Category:

Technology


4 download

DESCRIPTION

dbg Agile Testing Presentation, demonstrating the use of Test Charters, Exploratory Testing, Session Based Testing and Testing Tours. With thanks to James Bach, Lisa Crispin, Janet Gregory and James Whittaker

TRANSCRIPT

Page 1: Agile Testing

Introduction to Agile Testing

www.dbg.co.uk

Prepared by Daniel Billing

PUBLIC

Page 2: Agile Testing

Agenda

• Why Test?– Some Questions– The Cost of Testing

• Agile Testing Techniques• Workshop

– Testing Tours

Page 3: Agile Testing

A few questions?

• QA and Testing is all about asking questions, so here are a few for you to think about...

– Why Test?– What do you believe Testing is?– What do you believe Testing should be?– What are your problems with Testing?– What could be done to improve the process of Testing?

Page 4: Agile Testing

DevFIT SIT

UATLiv

e0

20

40

60

80

100

120

Cost of Fixing Bugs

The Cost of Testing

Page 5: Agile Testing

The Cost of Testing

Page 6: Agile Testing

The Cost of Not Testing (or doing enough)

Page 7: Agile Testing

Agile Testing Techniques

Page 8: Agile Testing

Features of Agile Testing

• Technique agnostic• Flexible and rapid – reduce the feedback loop• Should be continuous, ideally using a robust automated

framework• No longer a ‘testing phase’, where code is thrown over the Testing

fence• Testers are no longer ‘Quality Police’• Providing information and suggestions on quality• Integration with the development process• Reusable, lightweight documentation styles and tools

Page 9: Agile Testing

Agile Testing Techniques

• TDD (Test Driven Development)• Automated Functional Testing• Exploratory Testing

– Session Based Testing– Test Charters– Testing Tours

Page 10: Agile Testing

Exploratory Testing• Manual• Simultaneous learning, test design and execution• Cognitive engagement with the process• Use of deductive reasoning• Less preparation up front, important bugs are found quickly• Can be difficult to measure/quantify

– "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.“ Cem Kaner

Page 11: Agile Testing

Test Charters• A way of recording Exploratory Testing effort• Defining a mission statement for testing – a statement of test

objectives• Capturing test metrics

Page 12: Agile Testing

Session Based Testing• Developed by James Bach www.satsifice.com• Combines Exploratory Testing with some accountability• A fixed, uninterrupted period of time spent testing – no more than two

hours• Clear focus• Includes Test Session information:

– Charter.– Area tested.– Detailed notes on how testing was conducted.– A list of any bugs found.– A list of issues (open questions, product or project concerns)– Any files the tester used or created to support their testing– Percentage of the session spent on the charter vs investigating new opportunities.– Percentage of the session spent on:

• Testing - creating and executing tests.• Bug investigation / reporting.• Session setup or other non-testing activities.

– Session Start time and duration.

• Debrief within the test team, and results parsing

Page 13: Agile Testing

Testing Tours

• Developed by Dr James Whittaker– Formerly of Microsoft, now at Google– www.googletesting.blogspot.com

• Uses a ‘Tourist’ analogy– Allows freedom to discover– Requires structure to ensure coverage– Uses ‘districts’ to allow testers to organise tests effectively

• Business District – where things get done• Historical District – legacy code, out of date functions• Tourist District – areas that novice users (tourists) will be attracted to, but

experienced users (citizens) won’t visit• Entertainment District – Nice to haves, and supportive features (once all the

key features are tested)• Hotel District – where software is ‘at rest’, maybe background tasks, batch

processes• Seedy District – Potential areas of vulnerability, ‘unsavoury’ functions and code

Page 14: Agile Testing

Testing Tours

• The Guidebook Tour – doing everything that is in the handbook, down to the letter

• The Money Tour – areas of the system that draw users, or have a high financial impact on the business; executing sales team demos against the software

• The Landmark Tour – testing the key features• The Intellectual Tour – How do we make the software work as hard as

possible? How do we stretch it to its limits?• The FedEx Tour – testing the software by focussing on data

management• The After Hours Tour - Maintenance tasks, data back up and

archiving, batch processing• The Garbage Collector Tour – Taking the shortest route possible to

reach your goal, collecting ‘garbage’ as you go

Page 15: Agile Testing

Workshop

Page 16: Agile Testing

Testing Tours Workshop

1. Choose a Testing Tour2. Choose a high profile web application to test3. Plan your test charter – what are you going

to test?4. Run your tests – find bugs!5. Record your test charter6. Report back to the group

Page 17: Agile Testing

Testing Tours Workshop

– The Test Tour you have chosen– Test Charter – What are you going to Test? Your testing mission statement!– Area tested. – What functionality is under test?– Detailed notes on how testing was conducted.– A list of any bugs found.– A list of issues (open questions, product or project concerns)– Any files the tester used or created to support their testing– Percentage of the session spent on the charter vs. investigating new testing

opportunities– Percentage of the session spent on:

• Testing - creating and executing tests.• Bug investigation / reporting.• Session setup or other non-testing activities.

– Session Start time and duration.– Feedback to the Group at the end! IMPORTANT