It is theoretically possible to test any design. In practice, the cost and efficiency of testing ‘un-testable’ software can be prohibitive. Testing is much easier when the system and the software are designed with testability in mind. This paper provides guidelines for designing testable Ada software.