One embodiment of the present invention provides a system that supports
compatibility testing of functionality provided through an Application
Programming Interface (API) on a computing device. During operation, the
system loads a client testing module on the computing device. The system
also loads a remote testing module on a server. Once the client testing
module and the remote testing module have been loaded, the system
identifies a communication protocol that is available between the
computing device and the server, and configures a
communication-protocol-specific portion of the client testing module to
communicate with the remote testing module through the available
communication protocol. The system then compatibility tests the
functionality provided through the API on the computing device. During
this compatibility testing, certain portions of the test execute within
the client testing module while other portions of the test execute within
the remote testing module. Hence, the client testing module and the
remote testing module work together in a distributed manner to
compatibility test the computing device.