11.1 OLE Testing Issues

The testing methodology for OLE applications differs from that of testing non-OLE applications. Non-OLE application testing primarily centers around the interaction between users and the application. However, an OLE application test must also consider the interaction between the test application and other OLE applications, and between the test application and the OLE libraries.

An OLE application tester must know whether the OLE application being tested is a server, a client, or both a client and a server.

If the application is an OLE server, you must know whether the server allows single or multiple instances of itself. OLE labels a server single-instance if only one instance of the application can be started by OLE. If an application is multi-instance, OLE will start a new instance of it each time the user chooses an object's verb.

You must also know whether the server has a single or multiple document interface. The Windows concept of SDI (single document interface) and MDI (multiple document interface) can apply to either client or server applications. Whether or not an application allows multiple documents to be open affects how it opens, closes, and saves files.

The type of application determines the use of callback functions (methods), which are exported with the application. These callbacks are invoked by the OLE DLLs whenever it is necessary to notify an application of status or to request information from it. You must be aware of all of the possible conditions under which an OLE DLL routine may use these callbacks.