continuous delivery without test automation @stpcon, san diego

16
Continuous Delivery without Test Automation Maaret Pyhäjärvi Email: <[email protected]> | Twitter: maaretp Maaret Pyhäjärvi Nimeä | Attribution (Finland) http://creativecommons.org/licenses/by/1.0/fi/ http://creativecommons.org/licenses/by/1.0/fi/deed.en

Upload: maaret-pyhaejaervi

Post on 18-Jul-2015

280 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Continuous Delivery without Test Automation @STPCon, San Diego

Continuous Delivery without

Test Automation

Maaret Pyhäjärvi

Email: <[email protected]> | Twitter: maaretp

Maaret Pyhäjärvi

Nimeä | Attribution (Finland)

http://creativecommons.org/licenses/by/1.0/fi/

http://creativecommons.org/licenses/by/1.0/fi/deed.en

Page 2: Continuous Delivery without Test Automation @STPCon, San Diego

A Bit of Background

• 3 years into a web based (.NET/C#) product

• 1:8 tester:developer ratio

• Missing agile technical practices: test automation non-existent

• Scrum-like monthly releases for first 2 years– Releases late

– Releases not tested well enough

• Negative cycle of failing with estimates eating team morale

• Jira in a central role with estimates and burndown

Page 3: Continuous Delivery without Test Automation @STPCon, San Diego

Where

does this

say fast?

Where does

this say

automation

?

Page 4: Continuous Delivery without Test Automation @STPCon, San Diego

http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-

deployment

Going for Continuous Delivery

Page 5: Continuous Delivery without Test Automation @STPCon, San Diego

The Main Driver for Change:

Testing

Scheduled release

Feature 1

Feature 2

Feature 3

Feature 4

Testing

Feature 1

Feature 2

Feature 3

Feature 4

R1 R2 R3

Done

includes

Tested

Schedule

over

Quality

SCRUM + SCHEDULED DELIVERY with continuous integration

KANBAN + CONTINUOUS DELIVERY

Page 6: Continuous Delivery without Test Automation @STPCon, San Diego

Enablers that Made Timing Just

Right

• Henri Karhatsu and #NoEstimates –

experience report

• Availability of Git in Visual Studio without

plugins

• Problems with schedules in Scrum

• Lean and value delivery focus in Product

Management

Page 7: Continuous Delivery without Test Automation @STPCon, San Diego

Changing How We Managed Our

Work: Setting up Jira Kanban

Removed hour &

story point estimates

Agreed in WIP for

each phase

Agreed on swarming

Updated issue types

Page 8: Continuous Delivery without Test Automation @STPCon, San Diego

Branches and Test

Environments

Feature Test Environment

Feature branches on-demand builds

“Developers think this can be tested”

Development Test

Environment

Integration branch build-on-checkin

“Developers think this can be released”

Acceptance Test

Environment

Master branch with fixes and merges from integration

on-demand builds

“Release next morning”

Page 9: Continuous Delivery without Test Automation @STPCon, San Diego

Continuous Deployment but

Significant Lead Times

Mon Tue Wed Thu Fri Mon Tue Wed Thu Fri

Change to

Master

Integration

to master

Feature to

integration

Developers drive the decision on what

they want feedback on

Page 10: Continuous Delivery without Test Automation @STPCon, San Diego

Things Can Look Different from

Different Perspectives

Page 11: Continuous Delivery without Test Automation @STPCon, San Diego

Exploratory Testing:

Better tests, better testers! • An approach to software testing

– Emphasized freedom and responsibility

of an individual in a process where

continuous optimization of value of

information is important

• “Any testing process that involves

simultaneous (mutually supporting) learning,

test design, and execution.” – James Bach

& Cem Kaner

• Disciplined, planned and controlled testing

that emphasizes continuous learning

• Research in Finland, Itkonen et al. 2007

– No significant difference in results for

preplanned test cases and exploratory testing

– More false alarms with test cases

– Comparing overall effort: significantly more in

test-case based testing

Unknown

territory

Test-related

learning

Design of new

tests

Test executionResult

interpretation

11

Page 12: Continuous Delivery without Test Automation @STPCon, San Diego

Exploratory Testing Enables

Continuous Deployment• Every Jira task gets planned for

– Sometimes we go with developer testing only

– Sometimes we test extensively

• Exploratory Planning– No set test cases

– Talking to developers and reflecting to a model of of use created through earlier explorations

– Actionable information first –principle

– Production monitoring is an option for getting information

Page 13: Continuous Delivery without Test Automation @STPCon, San Diego

Exploratory Testing:

Learning & Modeling

”A day’s work”

Vision (“Sandbox”) Current Charter

Other Charters Details

Bug

Reports

Perception of

quality and

coverage

Quality

ReportDebriefing

Tester

Test

Manager

Past

Results

Obstacles

Outlook

Feelings

?

#

xCharter backlog of the future

testing

Out of

budget

Next in

importance!#, ?, x, +

20:20:60

Session sheets of the past testing

Idea of

exploration

Metrics

summary

Coachin

g

13

Playbooks

Coverage outlines

Page 14: Continuous Delivery without Test Automation @STPCon, San Diego

Changes

• Active discussion about schedules and merging, and needs of testing in the branches

• More pairing for testing the features

• More group work on defining the features

• Introducing Flowdock due to increased need to collaborate; integrating logs, emails

• Focus on getting better (scope of test automation; refactoring; pairing and group work; individuals’ skills)

Page 15: Continuous Delivery without Test Automation @STPCon, San Diego

To End This With: Key

Observations on Ideas that Guide

Our Test Design

Page 16: Continuous Delivery without Test Automation @STPCon, San Diego

Testers don’t break

your code, they

break your illusions

about the code. -- adapted from James Bach