Generating asynchronous test cases from test purposes |
| |
Authors: | Adenilso Simao Alexandre Petrenko |
| |
Affiliation: | a Computer Systems Department, ICMC/USP, PO Box 668, 13560-970 São Carlos, SP, Brazil b Centre de Recherche Informatique de Montreal, 405 Ogilvy Avenue, Suite 101, Montréal, Québec, Canada H3N 1M3 |
| |
Abstract: | ContextInput/output transition system (IOTS) models are commonly used when next input can arrive even before outputs are produced. The interaction between the tester and an implementation under test (IUT) is usually assumed to be synchronous. However, as the IUT can produce outputs at any moment, the tester should be prepared to accept all outputs from the IUT, or else be able to block (refuse) outputs of the implementation. Testing distributed, remote applications under the assumptions that communication is synchronous and actions can be blocked is unrealistic, since synchronous communication for such applications can only be achieved if special protocols are used. In this context, asynchronous tests can be more appropriate, reflecting the underlying test architecture which includes queues.ObjectiveIn this paper, we investigate the problem of constructing test cases for given test purposes and specification input/output transition systems, when the communication between the tester and the implementation under test is assumed to be asynchronous, performed via multiple queues.MethodWhen issuing verdicts, asynchronous tests should take into account a distortion caused by the queues in the observed interactions. First, we investigate how the test purpose can be transformed to account for this distortion when there are a single input queue and a single output queue. Then, we consider a more general problem, when there may be multiple queues.ResultsWe propose an algorithm which constructs a sound test case, by transforming the test purpose prior to composing it with the specification without queues.ConclusionThe proposed algorithm mitigates the state explosion problem which usually occurs when queues are directly involved in the composition. Experimental results confirm the resulting state space reduction. |
| |
Keywords: | Input/output transition system Test purpose Test case generation Asynchronous testing Distributed testing |
本文献已被 ScienceDirect 等数据库收录! |
|