Top Banner
Agile and Automated Testing Helmut Steineder JIPP.IT GmbH 2015
33

Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Feb 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Agile and Automated Testing

Helmut Steineder

JIPP.IT GmbH

2015

Page 2: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

About myself

CoFounder of JIPP.IT GmbH

Covered areas over years

• SW development

• Requirements Engineering

• (agile) Project Management

• Agile Testing

Current activities

• Agile Coach

• Agile Trainer

• Scrum Master, Product Owner

Page 4: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Traditional vs Agile

• Testing in an agile world

• From TDD to BDD

Agenda

Page 5: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Traditional vs. Agile project anatomy

Anarchy

complex

Technologie

Re

qu

ire

me

nts

very instable

uncertain,

very certain,

stable

sta

te o

f

the

art

new

gro

un

d

Source: Strategic Management and

Organizational Dynamics by Ralph

Stacey in Agile Software Development

with Scrum von Ken Schwaber and

Mike Beedle.

Page 6: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Traditional vs. Agile project structure, simplified

Requirements Implementation Test

DoR

Implementation Test

Traditional

Agile

Page 7: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

A classic one slightly modified

What the

client really

wants

How the

client

describes it

How it has

been built

Page 8: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Agile Project Lifecycle @project start

start

end

Page 9: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Agile Project Lifecycle @start phase

start end

Page 10: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Agile Projekt Lifecycle @interim phase

start

end

Page 11: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Agile Project Lifecycle @project end

Start

Ende

Page 12: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew
Page 13: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Business centric

• Testing the what

Purpose of Test

Page 14: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Purpose of Test

• Quality centric

• Testing the how

Page 15: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Business centric

• Testing the what

Purpose of Test

• Quality centric

• Testing the how

Page 16: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Functional Testing

• Non-Functional Testing

• Structural Testing

• Regression Testing

Test Types

Page 17: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Acceptance Tests

• System Tests

• Integration Tests

• Component Tests

Test Hierarchy

Page 18: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Traditional vs. Agile test type implementations

Page 19: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Continuous change impacts testing

– Continuous change of test cases

• Continuous integration needs

regression testing

– Perform tests after each build

Agile Impact on Testing

– Manual Testing is inefficient

Go for automation

Testers

Page 20: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Cost of change

© Scott W. Ambler

Kent Beck

Page 21: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Cost of failures

© Scott W. Ambler

Page 22: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Cost of failure by case study IBM 2014

64%

36%

Origin of Software Defects (Source: Crosstalk, the Journal of Defense

Software Engineering)

Requirementsand Design

Implementation

Relative Costs to Fix Software Defects

(Source: IBM Systems Sciences Institute)

Page 23: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew
Page 24: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Test-Driven Development (TDD) is a technique for building

software that guides software development by writing tests.

Martin Fowler

• Most TDD implementations cover

– Automated component tests

– Automated integration tests

• Some implementations cover

– Automated system tests

TDD current situation

Page 25: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Avoid over-engineering

• Get API feedback

• Avoid Logical errors

• Create Usage Documentation

• Separate interface from

implementation

• Get a better Agreement

• Reduce Risk (e.g. during refactoring)

TDD Possible Benefits

Page 26: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Goals

– Provide better understanding about the

what

– Refine knowledge about story

• Problems

– Most acceptance criterias are informal

– Are a matter of interpretation

There is a need to formalize the

description

Acceptance TDD Goals and Problems

Page 27: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Behaviour Driven Development Closing the gap between what and how

functionalit

y

Level of detail

Busin

ess g

oals

Role

goals

Epic

s

User

Sto

ries

Accepta

nce

Crite

rias

Scenarios

Code

Page 28: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

A story’s behaviour is simply its acceptance criteria – if the

system fulfills all the acceptance criteria, it’s behaving correctly;

if it doesn’t, it isn’t

Dan North

So let‘s start with a short story

As a bank customer

I want to withdraw cash from an ATM,

So that I don‘t have to wait in line at the bank

And get some Scenarios

BDD, Scenarios and all that stuff a short intro

Page 29: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Given the account is in credit

And the card is valid

And the dispenser contains cash

When the customer requests cash

Then ensure the account is debited

And ensure cash is dispensed

And ensure the card is returned

Scenario 1: Account is in credit

Page 30: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Given the account is overdrawn

And the card is valid

When the customer requests cash

Then ensure a rejection message is

displayed

And ensure cash is not dispensed

And ensure the card is returned

Scenario 2: Account is overdrawn

past the overdraft limit

Page 31: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

• Scenarios use a domain specific language

– Can be understood by customer and

developer

– Establish a common terminology across the

product/project

• Are exceutable

– Various frameworks exist which can be used

to the map scenarios to real code.

• Provide a living documentation

– As stories change the behavior of a system.

The scenarios are changed as well.

Scenarios key features

Page 32: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

Lessons Learned Agile Testing

Page 33: Agile and Automated Testing - Scrum · 2015-11-16 · Traditional vs. Agile project anatomy Anarchy complex Technologie ts very instable uncertain, very certain, stable s of t n ew

JIPP.IT GmbH Just Innovative People and Products. Information Technology

Competence Center for Agile Software Development

Tel: +43 (0)3112 90 300 | [email protected]

Helmut Steineder

Tel.: +43 (0) 664 3968721

Email: [email protected]

Web: http://www.jipp.it/it-training

Upcoming events

Certified Scrum Master, Vienna, 11.01.2016 – 12.01.2016

Certified Scrum Protuct Owner, Vienna, 13.01.2016 – 14.01.2016

Contact Information

33