This document discusses strategies for testing code that is difficult or impossible to test directly. It begins by defining "untestable code" as code with tight coupling, dependencies on external resources, or other factors that prevent direct testing. The document then explores approaches like refactoring code to loosen dependencies and increase testability, using techniques like dependency injection and mocking external resources. It also discusses more advanced approaches like generative programming, where a framework can automatically generate test doubles and modify code structure to enable automated testing. The overall message is that with creativity, even legacy or complex code can be made testable through approaches that control dependencies and isolate the system under test.