Using Test Pain as a Design Guide
Barry O' Sullivan
Automated tests are necessary, we need them if we want to release software with confidence, but they sure can be painful. Over-time they become difficult to write and maintain, especially in legacy code. We've all felt this pain, but what few of use realise is that pain is good, pain is feedback. It is telling us how our system should be structured, it's guiding us. We just need to listen.
This talk is all about using test pain to improve system design. With a brief overview of test structure, mocking and system design, we'll quickly dive into a live coding session using real world code. We'll apply simple techniques and use automated refactoring tools to iterate towards expressive designs that are easier to test. It's not hard to improve code, we just have to treat pain as a signal and iterate, and at the end of this talk you'll understand how to do just this.