Reusing software components without proper analysis is very risky because software components can be used differently from the way that they were developed. This paper describes a new testing approach for reusing software components. With this new approach, it is possible to automatically decide if software components can be reused without testing. In addition, when retesting is required for reusing software, test cases are generated more efficiently using the previous testing history.