Test automation faces challenges when applied to the testing of asynchronous systems. Automated testing tools need to deal with local non-determinism and, contrarily to most theoretical work, imperfect communication channels. We use event structures as the formalism to reason about the testing process. We differentiate between controllable and observable events but rely only on the sequence of controllable events to generate the test case. Observable events are used mainly as test oracle and to update the system state. We take existing testing tools and enhance them with practical mechanisms that allow them to perform asynchronous testing. These extensions are based on sound theory and have shown practical in dealing with real systems.
Available at: http://works.bepress.com/paddy_krishnan/14/