Issues with testability boil down to our inability to write tests or the excess trouble we have to go through to get it done. In this article, based on chapter 7 of Unit Testing in Java, author Lasse Koskela shares a set of dos and don’ts for testable design. In the tips provided, he recommends to avoid complex private methods, static methods, logic in constructors and to favor composition over inheritance.