Advanced Software Testing & Refactoring Techniques

When you inherit difficult code it can take weeks to become productive. Having the right tools for software testing and refactoring job and knowing how to use them makes a huge difference. Emily Bache explains this in a series of three posts that deal with approvals and mutation testing; the Lift-Up Conditional refactoring technique; replacing conditional with polymorphism.

The first video presents the concepts of Approval Testing, Coverage and Mutation Testing. Approval testing can get you test coverage quickly without having to understand the code.

The second video discusses the “Lift-Up Conditional” refactoring technique. It is a manipulation of a long complex conditional statement that will let you group together all the statements related to one particular conditional.

The third video presents a classic refactoring technique named “Replace Conditional with Polymorphism”. The basic idea is that you create subclasses to encapsulate the logic concerned with each logical case.

Find more about this series on