Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testing The Legacy: Making Existing Applications Testable Without Epic Efforts

1,939 views

Published on

If you have an established product which came about before the widespread use of the unit and system testing, then you know the problem.

The old code cannot be made testable without a significant effort of throwing it away and writing it anew.

What does it mean for the QA? It means endless repetitions of manual test runs. Sounds like fun? Yeah.. Nah!

In this presentation you will find two ways to make legacy applications testable through automation: an easy one, and a good one. The main benefit they provide is a basis for the further refactoring of the application, without damaging it.

Think of it as a Catch-22: you can't make your old app code testable without severely changing it, and you can't be sure that your changes work because you have no tests to verify them.

If you are a QA and you work with older apps and systems doing a lot of manual testing, then this is the topic for you.

This talk was given at ITx 2016 in Wellington, New Zealand, for Testing Professionals Network.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Testing The Legacy: Making Existing Applications Testable Without Epic Efforts

  1. 1. testing the Legacy making existing applications testable without epic efforts Alex Leonov alex@knowledgelab.nz @alexanderleonov
  2. 2. Why is it not done yet? • no people • no time • no money
  3. 3. Why is it not done yet? • no people • no time • no money doesn’t hurt enough
  4. 4. How to eat an elephant? • piece • by • piece
  5. 5. How to make it testable? • bug • by • bug
  6. 6. if they say it’s Impossible remember that it’s impossible for them
  7. 7. you need to get The Commitment
  8. 8. Old Application Old Code
  9. 9. Automated Tests Bubble Wrap Old Application Old Code Logic
  10. 10. Automated Tests Bubble Wrap Old Application Old Code Proxy New Application Services
  11. 11. Automated Tests Old Application Old Interfaces New Application Interfaces Services
  12. 12. The Easy Way or The Good Way
  13. 13. The Easy Way • make code with bugfix testable • write down gherkins • hope someone updates them
  14. 14. The Good Way • make bugfix testable • make “feature” testable • make executable gherkins • add this to the Definition of Done
  15. 15. 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
  16. 16. Recap • get commitment • don’t compromise on quality • automate everything you touch • bubble-wrap old stuff • start small and grow over time
  17. 17. Alex Leonov alex@knowledgelab.nz @alexanderleonov testing the Legacy

×