Title: Testing Transition Systems with Input and Output Testers
1Testing Transition Systems with Input and Output
Testers
- Alexandre Petrenko Nina Yevtushenko
- Jia Le Huo
TestCom03, May 27th, 2003
2Outline
- Motivation
- Basic idea
- Testing frameworks
- Queued-quiescence
- Queued-suspension
- Conclusions
3Conformance Testing
Spec
Imp
Fault model ?
Tests
Test execution
4Input/Output Transition Systems
- Non-deterministic IOTS model of Spec and Imp
- Output of IOTS cannot be blocked basic
assumption - Spec and Imp are input-enabled
5Motivating Example
?coin
?coin
!coffee
?coin
?coin
?coin
!milk
!milk
!coffee
?coin
?coin
!coffee
?coin
?coin
?coin
Spec
Imp
Quiescent trace coin coin coffee milk yields the
ioco test case
Is the test case still sound if output of Spec
cannot be blocked?
6Contradiction
- The ioco test case blocks coffee after coin
- Output of IOTS cannot be blocked basic
assumption
7Problem Statement
- A tester not blocking output of Imp must be
input-enabled - An input-enabled tester usually
- has unbounded test runs
- makes choice between input and output
- Both features are not desirable in practice
- We have to define a tester that
- is input-enabled
- reaches verdict in finite steps
- never chooses between input and output
8Basic Idea
Tester
Imp
9Queued-Quiescent Traces
!coffee
?coin
?coin
?coin
?coin
?coin
!milk
!milk
!coffee
?coin
!coffee
?coin
Imp
Spec
?coin
?coin
?coin
- For a quiescent trace ? of Spec, ??I ??O? ?
Qqtraces(Spec) - For input sequence ?, Qqtraceso(Spec, ?)
includes all the output sequences in response to
? ?'? ? O?? ??'? ? Qqtraces(Spec) - Qqtraces(Spec) Qqtraces(Imp) (qq-trace
equivalent)
10Queued-Quiescence Relations
- For non-oscillating Spec and Imp, if input
sequence ? exists such that - Qqtraceso(Imp, ?) ? Qqtraceso(Spec, ?) ? (no
pass)then Imp is qq-separable from Spec - Qqtraceso(Imp, ?) Qqtraceso(Spec, ?) (?fail,
?pass) then Imp is qq-distinguishable from Spec - Qqtraceso(Imp, ?) ? Qqtraceso(Spec, ?) (no
fail)then Imp is qq-weakly-distinguishable from
Spec - qq-separable ? qq-distinguishable ?
qq-weakly-distinguishable
11Test Derivation with Fault Model ?
- Given Spec and Imp, check input sequences of
length 0, 1, 2, until a sequence is found such
that - qq-separates, or
- qq-distinguishes, or
- qq-weakly-distinguishes Imp from Spec, or
- the input buffer capacity k is reached
- Repeat for all Imp ? ?
- k ?
12A Finer Tester
?coin
?coin
!coffee
?coin
?coin
?coin
!milk
!milk
!coffee
?coin
?coin
!coffee
?coin
?coin
?coin
Spec
Imp
After executing the qq-test case with input coin
on Spec and Imp
The resulting IOTS can be distinguished by a
qq-test case
13Queued-Suspension Testing
qq-test case of Spec
?1
qs traces are sequences of qq traces executed by
the qq testers (?1?1i?)(?2?2j?)...(?n?nk?)
14Conclusions
- Outputs cannot be blocked basic assumption
- Testing frameworks qq and qs
- Comparison with the ioco framework
- information of Interleaving of inputs and ouputs
are lost - so the conformance relations are coarser than
ioco - but ioco testing is not applicable here
- Open questions oscillating Spec, k ?, etc
15Merci beaucoup!
16An Example
coin coin
Output queue (capacity ? 2)
Input queue (capacity ? 2)
17An example (Cntd.)
When the ioco test case below is applied to Spec
with queues
Is this test case still sound?