A state-based approach to integration testing for object-oriented programs