agile testing – is it for me and how are others doing it?

Post on 09-May-2015

438 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

This is a 45 minute introduction to agile testing. The slides are "speaking slides", which means that they should be accompanied by an oral presentation and may not be all that easy to comprehend without context.

TRANSCRIPT

Agile Testing – Is it for me and how are others doing it?

2013-11-07Alexander Tarnowski

alexander.tarnowski@crisp.se

alexander_tar

blog.crisp.se/author/alexandertarnowskiBlog

www

www.techbookreader.com

Agenda

Agile testing – Introduction

Case studies

State of the industry

Questions

What

How

Optional

Agile Manifesto – Some principles

• Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Simplicity--the art of maximizing the amount of work not done--is essential.

Working in an agile context

5

Agile methodologies

Scrum• Transparency• Inspection• Adaption

XP• Communication• Feedback• Simplicity• Respect• Courage

Lean Software Development• Eliminate waste• Build quality in• Create knowledge• Defer commitment • Deliver fast• Respect people• Optimize the

whole

Working in an agile context

Agile practices summarized

• Working software delivered frequently• To provide business value as early as possible• By cross-functional teams• That learn and improve

Working in an agile context

Practices

Overview of agile testing

The whole team owns the quality

Testing is a supporting activity

Deliver software instead of written

artifactsAutomation

Definition• Agile testing = testing

performed in an agile team

Expected outcome• The team delivers

high-quality software

Testing is a supporting activity

Image courtesy of cooldesign / FreeDigitalPhotos.net

Test to: 1. Gather information and find defects2. Help the team move fast and stay safe

9Image courtesy of Feelart/ FreeDigitalPhotos.net & http://www.aha-soft.com/

Software construction is like building: Step 1: Build according to blueprint Step 2: Inspect for defects

”Done” code

Bug report

Testing is a supporting activity

HandoversCommunication barriersUs-them

Programmer

Tester

The developer and tester mindsets

I program (create),but I suffer from creator’s bias.

I test (break) and am a critical thinker, who sees the whole.

Testing is a supporting activity

David the Developer

Terry the Tester

The fundamental test process• Determine scope and risks and identify the

objectives of testing.• Determine the test approach.• Implement the test policy and/or the test

strategy.• Determine required test resources.• Schedule test analysis and design tasks,

test implementation, execution and evaluation.

• Determine the exit criteria.• Measure and analyze the results of reviews

and testing.• Monitor and document progress, test coverage

and exit criteria.• Provide information on testing.• Initiate corrective actions.• Make decisions.• Identify test conditions.• Design the tests.• Evaluate testability of the requirements and

system.• Design the test environment set-up and

identify and required infrastructure and tools.

• Develop and prioritize our test cases by using techniques and create test data for those tests.

• Create test suites from the test cases for efficient test execution.

• Implement and verify the environment.

• Execute test suites and individual test cases following the test procedures.

• Re-execute the tests that previously failed.

• Log the outcome of the test execution and record the identities and versions of the software under tests.

• Compare actual results with expected results.

• Check the test logs against the exit criteria specified in test planning.

• Assess if more test are needed or if the exit criteria specified should be changed.

• Write a test summary report for stakeholders.

• Check which planned deliverables are actually delivered and to ensure that all incident reports have been resolved.

• Finalize and archive testware for later reuse.

• Handover the testware to maintenance. • Evaluate how the testing went and learn

lessons for future releases and projects.

Testing is a supporting activity

Agile testing quadrants

Testing is a supporting activity

The whole team owns the quality

• Every team member is responsible for the quality• Team members that are professional testers may

have more experience in doing this• Testing activities are estimated just like other

tasks

The whole team owns the quality

Done Done Done More DoneIn progressTo do

Do agile teams require testers?

• Develop code test-first or well unit-tested• Write integration tests• Practice CI• Create and maintain the automation layer• Testing sessions (with some training and facilitation)

The whole team owns the quality

• Provide a holistic view of the application• Exploratory testing • Specialized testing• Create the ”nasty” test cases

Dev

elop

er w

ork

Test

er w

ork

Good enough?

Does a tester on an agile team have to be a techie?

The whole team owns the quality

Deliver software instead of written artifacts

The Bug Reporting System

• Holds detailed information • Knowledge base• Supports distributed teams

Deliver software instead of written artifacts

Metrics

Deliver software instead of written artifacts

Lines of code

Defects during development

Defects in production

Coverages

Cycle time

19

The test strategy

Deliver software instead of written artifactsImage Flickr commons/The Swedish National Heritage Board

Automation

• Keeps the amount of work ”constant”• Agile teams must automate to maintain their

velocity

Automation

2-4 week iterations

Tedious work

Developer work

Refactoring

Regression testing

Automation

A B A B

C

A B

C

D E

Iteration 3Iteration 2Iteration 1

Time

Features

Parachuting a tester into a development team

The agile tester

An agile tester – True or False

Gathers and shares informationHelps the customer to express requirementsActs a quality police officer that protects the customer from bad codeProvides feedbackCommunicates through a defect tracking systemConstantly improves and learns

True False

The agile tester

alexander.tarnowski@crisp.se

alexander_tar

blog.crisp.se/author/alexandertarnowskiBlog

www

www.techbookreader.com

Questions

top related