Testing is essential to ensure software reliability and dependability. however, testing activities are very expensive and complex. Micro architectures, such as design patterns and anti-patterns, widely exist in object oriented systems and are recognized as influencing many software quality attributes. Our goal is to identify their impact on system testability and analyse how they can be leveraged to reduce the testing effort while increasing the system reliability and dependability. The proposed research aims at contributing to reduce complexity and increase testing efficiency by using micro architectures. We will base our work on the rich existing tools of micro architectures detection and code reverse-engineering.