1 / 17

Testing Transition Systems with Input and Output Testers

Testing Transition Systems with Input and Output Testers. Alexandre Petrenko Nina Yevtushenko Jia Le Huo. TestCom’03, May 27 th , 2003. Outline. Motivation Basic idea Testing frameworks Queued-quiescence Queued-suspension Conclusions. Does Imp conform to Spec ?.

zenia
Download Presentation

Testing Transition Systems with Input and Output Testers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testing Transition Systems with Input and Output Testers Alexandre Petrenko Nina Yevtushenko Jia Le Huo TestCom’03, May 27th, 2003

  2. Outline • Motivation • Basic idea • Testing frameworks • Queued-quiescence • Queued-suspension • Conclusions

  3. Does Imp conform to Spec? Conformance Testing Spec Imp Fault model  Tests Test execution

  4. ?coin ?coin ?coin !milk coin !coffee ?coin ?coin  coffee, milk Spec Input/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

  5. coin coin coffee  pass milk, coffee milk,  fail fail Motivating 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?

  6. How can I block a coffee on its way out? Contradiction • The ioco test case blocks coffee after coin • Output of IOTS cannot be blocked: basic assumption

  7. Problem 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

  8. executes a given input sequence finite capacity for practical reasons Input test process Input-enabled, and no choice between input and output Input queue Output test process Output queue produces pass when an expected output sequence followed by quiescence is read from the queue and fail otherwise Basic Idea Tester Imp

  9.   !coffee  !coffee !milk !milk Qqtraceso(Imp, )  Qqtraceso(Spec, )  Queued-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)

  10. Queued-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

  11. Test 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-distinguishesImp from Spec, or • the input buffer capacity k is reached • Repeat for all Imp   • k = ?

  12. ?milk   pass ?milk, ?coffee  !coin fail fail ?milk, ?coffee,  ?milk, ?coffee,  A Finer Tester ?coin ?coin !coffee ?coin ?coin ?coin !milk !milk !coffee ?coin ?coin !coffee ?coin ?coin ?coin Spec Imp The resulting IOTS can be distinguished by a qq-test case: After executing the qq-test case with input coin on Spec and Imp

  13. qq-test case of Spec-after-(1, 11) qq-test case ofSpec-after-(1, 12) 12 11 2 2 25 21 22 23 24 3 3 3 3 3 ... ... Queued-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)

  14. Conclusions • 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

  15. Merci beaucoup!

  16. ?coin ?coin ?coin !milk !coffee ?coin ?coin Spec ?coin !coffee ?coin  !milk  !coffee  ?coin !milk  An Example coin coin Output queue (capacity  2) Input queue (capacity  2)

  17. We have coin coin coffee  coin coin coffee  pass pass milk, coffee milk,  milk fail fail fail An example (Cntd.) When the ioco test case below is applied to Spec with queues Is this test case still sound?

More Related