We never get it right the first time. So we refactor. But how can we refactor legacy code, when there are no automated tests (or not enough, at least) to make sure that we don not break things? Turns out that you
can: using characterization tests, we can make sure that we do not inadvertenly modify the code’s behaviour. This talk will introduce a methodology to refactor legacy code that has no automated tests. Rather than talking theory, we will work a hands-on with a code example.