Testing from CSP-CASL
Markus Roggenbach (Swansea, Wales)
cooperation with A Cavalcanti, M-C Gaudel, T Kahsai, B-H Schlingloff
Testing from CSP-CASL Markus Roggenbach (Swansea, Wales) - - PowerPoint PPT Presentation
Testing from CSP-CASL Markus Roggenbach (Swansea, Wales) cooperation with A Cavalcanti, M-C Gaudel, T Kahsai, B-H Schlingloff Etelsen, July 2010 2 PBI-POS Bookkeeping Point of Service Cardholder Attendant Bookkeeping MBI-POS Mgmt.
cooperation with A Cavalcanti, M-C Gaudel, T Kahsai, B-H Schlingloff
2
PUI-PMS User SEI-Settlement FII-Finance Institute CII-Card Issuer Attendant Merchant POS Mgmt. System Point of Service Cardholder Card Finance Institute Issuer Terminal Card
Part of the Specification ep2 (detailed) Part of the Specification ep2 (overview)
Bookkeeping PBI-POS Bookkeeping MBI-POS Mgmt. Bookkeeping
ep2
ABI-Acquirer Bookkeeping EI-ECR AUI-Attendant BE-BackEnd FE-FrontEnd CUI-Cardholder CAI-Card SI-Config COI-Config PI-Product Acquirer Service Center
Part of the Specification ep2 (detailed) Not part of the Specification ep2
SI-Init MI-Subm MI-Rec MI-Subm
Part of the Specification ep2 (user interface)
M.Roggenbach: Testing; Etelsen, July 2010
The EP2 Consortium 3
M.Roggenbach: Testing; Etelsen, July 2010
EP2 in CSP-CASL 4
. . . · · · · · · . . . · · · · · · Architectural Level Abstract Component Level Concrete Component Level
Csp-Casl Spec Sp0 Csp-Casl Spec Sp1 Csp-Casl Spec Sp2
Implementation Informal Design Process Modelling Formal Specification Analysing / Proving Informal Refinement Formal Refinement Modelling / Implementation Testing
M.Roggenbach: Testing; Etelsen, July 2010
Overview 5
M.Roggenbach: Testing; Etelsen, July 2010
Does a test case encode the specified behaviour? 7
M.Roggenbach: Testing; Etelsen, July 2010
The formal definition of coloring 8
(a) traces([ [T] ]ν) ⊆ traces([ [P] ]∅:∅→β(M)) and (b) for all tr = t1, . . . tn ∈ traces([ [T] ]ν), 1 ≤ i ≤ n: (t1, . . . , ti−1, {ti}) / ∈ failures([ [P] ]∅:∅→β(M))
M.Roggenbach: Testing; Etelsen, July 2010
From terms to stimuli and observations 9
M.Roggenbach: Testing; Etelsen, July 2010
Test experiment with evaluation “on the fly” 10
M.Roggenbach: Testing; Etelsen, July 2010
Test verdict 11
M.Roggenbach: Testing; Etelsen, July 2010
Testing from CSP / Circus by MCG/AC 13
M.Roggenbach: Testing; Etelsen, July 2010
Testability hypotheses 14
M.Roggenbach: Testing; Etelsen, July 2010
Test cases 15
TT (s, a) := inc → a1 → inc → a2 → inc · · · → an → pass → a → fail → Stop, where s = a1, a2, . . . , an.
M.Roggenbach: Testing; Etelsen, July 2010
Test execution 16
process(SUT)(T) =
M.Roggenbach: Testing; Etelsen, July 2010
Characterization theorem 17
process(SUT)(T)) :
M.Roggenbach: Testing; Etelsen, July 2010
Restrictions 19
M.Roggenbach: Testing; Etelsen, July 2010
Coloring and ExhaustT (P ) 20
M.Roggenbach: Testing; Etelsen, July 2010
Test verdict: “From TK/MR/HS to MCG/AC” 21
M.Roggenbach: Testing; Etelsen, July 2010
Test verdict: “From TK/MR/HS to MCG/AC” 21
process(SUT)(T)) :
M.Roggenbach: Testing; Etelsen, July 2010
Future work in this cooperation 22
M.Roggenbach: Testing; Etelsen, July 2010
Hardware-in-the-loop 24
M.Roggenbach: Testing; Etelsen, July 2010
Test: Configuring 8 different Credit-Cards 25
sessionStart::D_SI_Init_SessionStart [sut2ts] ntf1::D_SI_Init_Notification [ts2sut] ack1::D_SI_Init_Acknowledge [sut2ts] ntf2::D_SI_Init_Notification [ts2sut] ack2::D_SI_Init_Acknowledge [sut2ts] ... ntf1::D_SI_Init_Notification [ts2sut] ack1::D_SI_Init_Acknowledge [sut2ts] sessionEnd::D_SI_Init_SessionEnd [ts2sut]
M.Roggenbach: Testing; Etelsen, July 2010
Test case excerpt: XML encoding 26
... <?xml version="1.0" encoding="UTF-8"?> <ep2:message xmlns:ep2="http://www.eftpos2000.ch" specversion="0400"> <ep2:actcfgdataack msgnum="2634"> <ep2:AcqID>00000000004</ep2:AcqID> <ep2:TrmID>TERM1234</ep2:TrmID> </ep2:actcfgdataack> </ep2:message> <?xml version="1.0" encoding="UTF-8"?> <ep2:message xmlns:ep2="http://www.eftpos2000.ch" specversion="0400"> <ep2:sessend msgnum="2635"> <ep2:AcqID>00000000004</ep2:AcqID> <ep2:TrmID>TERM1234</ep2:TrmID> <ep2:TrxSeqCnt>23534</ep2:TrxSeqCnt> </ep2:sessend> </ep2:message>
M.Roggenbach: Testing; Etelsen, July 2010
Future work in testing EP2 27
M.Roggenbach: Testing; Etelsen, July 2010