کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
550451 | 872608 | 2011 | 11 صفحه PDF | دانلود رایگان |
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.
► Test purpose transformation to obtain sound asynchronous tests.
► Synchronous tests are usually unsound for asynchronous testing.
► Input queue quiescence is used to deal with multiple input queues.
► The proposed algorithm mitigates the state explosion problem.
Journal: Information and Software Technology - Volume 53, Issue 11, November 2011, Pages 1252–1262