Working with legacy code is tough. No tests, no documentation, fear of breaking unknown parts of the code and difficult to understand what it is going on. The only way to deal with that is to test and refactor merciless. For the majority of us, legacy code is part of our life and learning how to embrace it can make things far more enjoyable. In this live coding session, Sandro will be demonstrating how to overcome the most common problems found when testing legacy code. He will be taking a piece of messy Java code, test it until is 100% covered and then show how to refactor it in order to bring the business language and requirements to life. Although the code is in Java, the same principles can be applied to any language.