1
The Secret to Successful Test
Automation
Agile Denver, October 24, 2011
Lisa Crispin
With Material from Janet Gregory
Copyright 2011: Lisa Crispin
2
About me…
Programmer, tester, agile team member
Copyright 2011: Lisa Crispin
3
About you…
Pair up with the person next to you. Tell each other your team’s biggest obstacle to automating all your regression tests.
We shall reveal:
The Secret to Successful Test Automation
Copyright 2011: Lisa Crispin
5
Let’s start by defining “agile”
Agile teams:
Deliver business value frequently
at a sustainable pace while adapting to the changing
needs of the business Source: Elisabeth Hendrickson
Copyright 2011: Lisa Crispin
6
The key is “sustainable pace”
Technical debt slows us down
The Death Spiral
High technical debt + insufficient automation = even less time
Copyright 2011: Lisa Crispin
9
Automated tests are code
public class CalculatorFixture extends
ColumnFixture { public String startDate; public String endDate; public double startBalance; public double endBalance; public String irrTarget; private Calculator calculator = new
Calculator(); private Double irr;
Test code deserves the same respect as production code!
Source: Gojko Adzic, StarEast 2011 keynote
Source: Gojko Adzic, StarEast 2011 keynote
Copyright 2011: Lisa Crispin
13
Testers are especially good at…
Eliciting examples Turning them into tests Ensuring the right testing
gets done Exploratory testing
14
Give testers time to do what we do best
How?
15
The Whole-Team Approach
Copyright 2011: Lisa Crispin
16
Ways to collaborate
Pair
Copyright 2011: Lisa Crispin
17
Test automation frameworks
Let non-programmers specify tests
Copyright 2011: Lisa Crispin
18
Continuous integration/testing…
…short feedback loop
Copyright 2011: Lisa Crispin
19
Team responsibility
Automate all regression tests
Copyright 2011: Lisa Crispin
20
Keep tests passing
Stop the line to fix problems
21
Copyright 2011: Lisa Crispin
22
Commitment to quality
What’s your team’s commitment? The best possible software product?
23
Learn
Experiment
Meaningful Commitment
Copyright 2011: Lisa Crispin
Under-commit
Plan less work than you think you can do Including all test automation
Copyright 2011: Lisa Crispin
25
Learn to write maintainable tests
Get over the “hump of pain”
From Gerard Meszaros’ XUnit Test Patterns
Copyright 2011: Lisa Crispin
Whole-team software development
26
Create a user story
Write Customer
(Q2) Tests
Start thinking how to code
Expand tests – Story Tests
Automate Q2 Tests
Exploratory testing
TDD
Customer User
Acceptance
Product owner Product owner/ Tester Tester Tester/Programmer Programmer
Pair, “Show
Me”
Copyright 2011: Lisa Crispin
Tackle automation with diversity
Use retrospectives Try small experiments No story is done until it’s
tested
Remember: It’s a Team Problem
Copyright 2011: Lisa Crispin
28
More about technical debt
www.agilistry.com/downloads/shortcut.pdf - The
Shortcut Game
www.jimhighsmith.com/2010/10/19/the-
financial-implications-of-technical-debt/
www.cutter.com/offers/technicaldebt.html -
Cutter technical debt issue (free with registration)
Articles on technical debt sprints (handouts)
Copyright 2011: Lisa Crispin
29
Some Agile Testing Resources
lisacrispin.com janetgregory.ca exampler.com [email protected] testobsessed.com testingreflections.com dhemery.com gojko.net shino.de
Copyright 2011: Lisa Crispin 30
Agile Testing: A Practical Guide for Testers and Agile
Teams
By Lisa Crispin and Janet Gregory
www.agiletester.ca
Copyright 2011: Lisa Crispin Copyright 2008 Janet Gregory, DragonFire
31
Specification by Example
How successful teams deliver the right
software
Gojko Adzic
Case studies from > 50 teams
Copyright 2011: Lisa Crispin 32
Managing Software Debt – Building for
Inevitable Change
Chris Sterling
Addison-Wesley, 2010
Copyright 2011: Lisa Crispin 33
All Proceeds to Charity!
Beautiful Testing: Leading Professionals Reveal How
They Improve Software
Edited by Tim Riley, Adam Goucher
Includes chapter by yours truly
How will you get your team working together to automate tests?
Door Prizes!