In this talk we'll consider principles of designing easy-to-test interfaces that help to build quality tests including discussions of different dependency management techniques both in Swift and Objective-C. For product companies like Badoo, high quality products are important. New code is being produced and shipped fast with new features continuously delivered to users. One way of verifying a feature's quality is covering related code with unit tests. We'll talk about principles that help developers design easy-to-test interfaces and improve the tests quality both in Swift and Objective-C with real examples from Badoo app.