testing the
Legacy
making existing applications testable
without epic efforts
Alex Leonov
alex@knowledgelab.nz
@alexanderleonov
Why is it not done yet?
• no people
• no time
• no money
Why is it not done yet?
• no people
• no time
• no money
doesn’t hurt enough
How to eat an elephant?
• piece
• by
• piece
How to make it testable?
• bug
• by
• bug
if they say it’s
Impossible
remember that it’s
impossible for them
you need to get
The Commitment
Old Application
Old Code
Automated Tests
Bubble Wrap
Old Application
Old Code
Logic
Automated Tests
Bubble Wrap
Old Application
Old Code
Proxy
New Application
Services
Automated Tests
Old Application
Old Interfaces
New Application
Interfaces
Services
The Easy Way
or
The Good Way
The Easy Way
• make code with bugfix testable
• write down gherkins
• hope someone updates them
The Good Way
• make bugfix testable
• make “feature” testable
• make executable gherkins
• add this to the Definition of Done
Things to Remember
• view features as services
• stateless is better than stateful
• don’t test the whole all the time
• don’t let it slip
Recap
• get commitment
• don’t compromise on quality
• automate everything you touch
• bubble-wrap old stuff
• start small and grow over time
Alex Leonov
alex@knowledgelab.nz
@alexanderleonov
testing the
Legacy

Testing The Legacy: Making Existing Applications Testable Without Epic Efforts