In this paper, we propose two fault models and methods for the derivation of interoperability test suites when the system implementation is given in the form of two deterministic communicating finite state machines. A test suite returned by the first method enables us to determine if the implementation is free of livelocks. If the implementation is free of livelocks, the second method returns a test suite that checks if the implementation conforms to the specification. Application examples are used to illustrate the methods.