A Complete Testing Strategy Based on Interacting and Hierarchical FSMs