This talk is about how to use the stresses of writing unit tests to improve your code. If I’m having trouble writing tests, it’s often because the design of my target code can be improved. The trick is to listen to the tests and let them drive my development — that’s a hint as to why it’s called Test-Driven Development. As a developer, you can sensitise yourself to find the rough edges in your tests and use them for rapid feedback about how to improved the design of your code. In this talk, I will work through examples of “smelly” tests, showing how they highlight design flaws and suggest improvements.