Escaping Legacy
Wouter Lagerweij

When you already have an application that is in the hands of your users, delivering value, it can be quite a challenge to get back in control of quality. So while most examples start from nothing and show how to build up to a high-quality app, in this talk I show an existing app and how to reverse engineer testing for it. We’ll go back to defining a high-level product functional map and show how to fill in all the unknowns to get a complete overview of functionality, generate some test metrics and write solid functional tests. To know what we test, we need to have a detailed overview of the functionality of our application. Then we can decide where our risks are, and start creating the tests that will get us to safety.

In this talk I show how to create a functional overview of an application, using Story Mapping to probe and prioritize our functionality, and Example Mapping to generate our tests. Then I show how to use that to get control using, first, manual test scripts and how to decide what and how to automate so you can get in that coveted continuous delivery mode. In our practice, we often encounter organisations that have existing applications without any defined, structured testing in place, let alone a strategy for automated testing. Going from that situation to one where we can move towards more frequent releases requires going back towards product definition, gaining a top-down overview, before moving back down into detail to create first a manual regression test and then automate at different levels to get to something that can suitably be called agile testing.

Learning Objectives
Story Mapping can be used for existing functionality
A way to structure the process of getting a legacy system under test
A composited approach to testing allows you to iteratively gain test coverage
Learning Level
Session Type
Process, legacy, Product Owners, StoryMapping, ExampleMapping