SlideShare a Scribd company logo
Test Automation in
Brownfield Applications
My name is Shawn and
I’m a software developer
A programmer is going out for a stroll one
evening. His wife asks him to swing by the
store and pick up a gallon of milk, and if they
had eggs, to get a dozen. He returned with
twelve gallons of milk and said "They had
eggs."

3
4
Our existences are about
precise communication...and
communication is about
feedback loops
Our existences are about
precise communication...and
communication is about
feedback loops
7
Time

8
Release to 	

Test

Release to	

Production
Time

8
Late Defect Discovery Results in
Significant Rework

Release to 	

Test

Release to	

Production
Time

8
Release to 	

Test

Release to	

Production
Time

9
Release toRelease to	

	

Test Production
Time

9
Let’s shift the focus from
Bug detection to bug
prevention.
http://www.isixsigma.com/industries/software-it/software-defectprevention-nutshell/
11
Functional Acceptance Test
Automation
• Implementing changes more efficiently
• Shortened feedback loop
• Higher product quality
• Less rework
• Better work alignment to priority
• Helps make systems easier to modify
• Regression
12
Functional Acceptance Test
Automation
• Implementing changes more efficiently
• Shortened feedback loop
• Higher product quality
• Less rework
• Better work alignment to priority
• Helps make systems easier to modify
• Regression
13
14
14
Workflow

15
Brownfield
Applications
Can we benefit?
Can we benefit?
We can improve our system going
forward
!

The goal is building quality systems
that provide value
How to start
How to start
•

Test KEY use cases
How to start
•

Test KEY use cases

•

Test defects
How to start
•

Test KEY use cases

•

Test defects

•

Test new features
Shawn Wallace - Test automation in brownfield applications
Shawn Wallace - Test automation in brownfield applications
Your application might be
hard to test
There are engineering
challenges
There are infrastructure
challenges
How will you deal with
the new volume of data?
How will you deal with
the new volume of data?
Test automation generates TONS of data, some good some bad,
all must be processed.
How do we know if
we’re doing a good job?
Meaningful code coverage
is hard.
• Your code might be hard to test
• There are engineering challenges
• There are infrastructure challenges
• If a goal is a shortened feedback loop,
how will you deal with the new volume of
data?
• How do we know if we’re doing a good
job?
• Meaningful code coverage is a challenge.
26
Shawn Wallace - Test automation in brownfield applications
Shawn Wallace
!

shawn.wallace@centricconsulting.com	

Twitter: @ShawnWallace	

Blog: blog.shawnewallace.com	

http://www.about.me/shawnwallace
Q&A
For more information...
• This Presentation on GitHub - https://github.com/shawnewallace/intro-to-atdd.git
• cukes.info
• Gojko Adzic
– cuke4ninja.com
– Specification by Example
• https://github.com/aslakhellesoy/cucumber/wiki
• http://groups.google.com/group/cukes
• http://www.cheezyworld.com
• The Cucumber Book, Matt Wayne, Aslak Hellesøy: http://pragprog.com/book/hwcuc/thecucumber-book
• The Rspec Book, David Chelimsky: http://www.pragprog.com/titles/achbd/the-rspecbook


• http://simpleprogrammer.com/2011/11/21/
understanding-the-vertical-slice/
• http://www.deltamatrix.com/2012-04-17-04-37-50/
horizontal-and-vertical-user-stories-slicing-the-cake

More Related Content

Shawn Wallace - Test automation in brownfield applications