Distributed ¡Tes,ng ¡ R. ¡M. ¡Hierons ¡ Brunel ¡University, ¡UK ¡ rob.hierons@brunel.ac.uk ¡ h@p://people.brunel.ac.uk/~csstrmh ¡ TAROT 2010
Work ¡With ¡ Mercedes ¡Merayo ¡ Manuel ¡Nunez ¡ Jessica ¡Chen ¡ Hasan ¡Ural ¡ TAROT 2010
Mul,-‑port ¡systems ¡ • Physically ¡distributed ¡interfaces/ports. ¡ • A ¡tester ¡at ¡each ¡port. ¡ tester tester SUT tester TAROT 2010
Distributed ¡tes,ng ¡ Mainly ¡focus ¡on ¡the ¡simplest ¡approach: ¡ The ¡testers ¡cannot ¡communicate ¡with ¡one ¡another ¡ There ¡is ¡no ¡global ¡clock ¡ Observa,ons ¡are ¡‘local’ ¡ TAROT 2010
Mo,va,on ¡ Ini,ally ¡just ¡tes,ng/test ¡genera,on. ¡ The ¡discussion ¡will ¡be ¡around ¡both ¡ • tes%ng ¡and ¡ • implementa%on/conformance ¡rela%ons . ¡ Tes,ng ¡from: ¡ • input ¡output ¡transi,on ¡systems ¡and ¡ • a ¡few ¡notes ¡on ¡finite ¡state ¡machines ¡ TAROT 2010
Tes,ng ¡and ¡Observa,ons ¡ TAROT 2010
Global ¡Traces ¡ • A ¡global ¡trace ¡is ¡a ¡sequence ¡of ¡inputs ¡and ¡ outputs. ¡ • We ¡assume ¡there ¡are ¡m ¡ports ¡and: ¡ – x p ¡will ¡denote ¡an ¡input ¡at ¡port ¡p ¡(from ¡X p ) ¡ – (y 1 ,...,y m ) ¡ ∈ Y, ¡Y=(Y 1 ∪ {-‑}) × … × (Y m ∪ {-‑}), ¡will ¡be ¡an ¡ output ¡ • A ¡global ¡trace ¡is ¡an ¡element ¡of ¡(X ¡ × ¡Y)* ¡ ¡ TAROT 2010
Consequences ¡ • Each ¡tester ¡observes ¡only ¡the ¡interac,ons ¡( local ¡ trace ) ¡at ¡its ¡port ¡ Tester 1 SUT Tester 2 x 1 y 1 y 2 x 1 y 1 • The ¡tester ¡at ¡port ¡1 ¡observes ¡x 1 y 1 x 1 y 1 ¡and ¡the ¡tester ¡ at ¡2 ¡observes ¡y 2 ¡only. ¡ TAROT 2010
What ¡the ¡testers ¡observe ¡ • Given ¡global ¡trace ¡z, ¡the ¡tester ¡at ¡p ¡observes ¡a ¡ local ¡trace ¡ π p (z) ¡. ¡ Tester 1 Tester 2 x 1 y 1 y 2 x 1 y 1 TAROT 2010
Controllability ¡problems ¡ • The ¡following ¡test ¡has ¡a ¡controllability ¡ problem: ¡introduces ¡nondeterminism ¡into ¡ tes,ng. ¡ tester SUT tester TAROT 2010
Observability ¡problems ¡ • The ¡following ¡look ¡the ¡same ¡ tester Spec tester tester SUT tester x 1 x 1 y 1 y 1 y 2 x 1 x 1 y 2 y 1 y 1 • Testers/users ¡cannot ¡‘map’ ¡output ¡to ¡input ¡ TAROT 2010
Equivalent ¡global ¡traces ¡ • Since ¡we ¡only ¡observe ¡local ¡traces: ¡ – Global ¡traces ¡z ¡and ¡z’ ¡are ¡indis,nguishable ¡if ¡their ¡ projec,ons ¡are ¡iden,cal: ¡the ¡local ¡traces ¡are ¡the ¡ same. ¡ – We ¡denote ¡this: ¡z ∼ z’ ¡ • The ¡following ¡are ¡equivalent ¡under ¡ ∼ ¡ – x 1 /(y 1 ,y 2 )x 1 /(y 1 ,-‑) ¡ – x 1 /(y 1 ,-‑)x 1 /(y 1 , ¡y 2 ) ¡ • Both ¡have ¡x 1 y 1 x 1 y 1 ¡at ¡port ¡1 ¡and ¡y 2 ¡at ¡2. ¡ TAROT 2010
Problem: ¡Test ¡effec,veness ¡is ¡not ¡ monotonic ¡ • Example: ¡x 1 ¡detects ¡a ¡fault ¡but ¡x 1 x 1 ¡does ¡not. ¡ ¡ tester SUT tester tester Spec tester x 1 x 1 y 1 y 1 y 2 x 1 x 1 y 2 y 1 y 1 TAROT 2010
Two ¡approaches ¡to ¡defining ¡ implementa,on ¡rela,ons ¡ • We ¡might ¡have: ¡ – Agents ¡at ¡ports ¡are ¡en,rely ¡‘independent’: ¡ • No ¡external ¡agent ¡can ¡receive ¡informa,on ¡regarding ¡ observa,ons ¡at ¡more ¡than ¡one ¡port ¡ – Or ¡the ¡local ¡traces ¡observed ¡at ¡the ¡ports ¡can ¡be ¡ ‘brought ¡together’ ¡later. ¡ TAROT 2010
Differences ¡ Specifica,on ¡ Tester 1 Tester 2 Tester 1 Tester 2 x x y y' z z' SUT ¡ Tester 1 SUT Tester 2 x y' z TAROT 2010
Using ¡an ¡external ¡network ¡ • If ¡we ¡connect ¡the ¡testers ¡using ¡an ¡external ¡ network, ¡ some%mes ¡ we ¡can ¡overcome ¡ controllability ¡and ¡observability ¡problems. ¡ tester SUT tester tester SUT tester TAROT 2010
But ¡ If ¡a ¡system ¡has ¡physically ¡distributed ¡interfaces ¡ then ¡the ¡implementa,on ¡rela,on ¡should ¡ reflect ¡this: ¡ Even ¡if ¡we ¡can ¡connect ¡the ¡testers, ¡we ¡should ¡be ¡ careful ¡that ¡we ¡do ¡not ¡give ¡the ¡verdict ¡fail ¡when ¡ the ¡behaviour ¡is ¡acceptable ¡in ¡use. ¡ The ¡users ¡will ¡only ¡observe ¡local ¡traces . ¡ TAROT 2010
Past ¡research ¡ • Mainly ¡on ¡tes,ng ¡from ¡a ¡determinis,c ¡finite ¡ state ¡machine ¡(DFSM): ¡ – Genera,ng ¡test ¡sequences ¡that ¡do ¡not ¡suffer ¡from ¡ controllability ¡and/or ¡observability ¡problems ¡ – Adding ¡coordina,on ¡messages ¡(possibly ¡adding ¡a ¡ minimum ¡number). ¡ TAROT 2010
Problems/issues ¡ • A ¡DFSM ¡can ¡have ¡transi,ons ¡that ¡can’t ¡be ¡ executed ¡without ¡controllability ¡problems. ¡ • Test ¡genera,on ¡algorithms ¡place ¡condi,ons ¡on ¡ the ¡DFSM ¡– ¡they ¡are ¡not ¡general. ¡ • The ¡methods ¡test ¡against ¡the ¡‘tradi,onal’ ¡ implementa,on ¡rela,on ¡– ¡aiming ¡to ¡do ¡too ¡ much? ¡ • Using ¡DFSMs ¡is ¡restric,ve. ¡ TAROT 2010
The ¡solu,on ¡ We ¡need ¡a ¡good ¡understanding ¡of ¡what ¡it ¡ means ¡to ¡dis,nguish ¡two ¡models ¡with ¡ distributed ¡ports. ¡ This ¡gives ¡us ¡new ¡implementa,on ¡rela,ons. ¡ We ¡want ¡to ¡test ¡against ¡these. ¡ TAROT 2010
Input ¡Output ¡Transi,on ¡Systems ¡ (IOTSs) ¡ TAROT 2010
The ¡models ¡ • These ¡are ¡labelled ¡transi,on ¡systems ¡in ¡which ¡ we ¡dis,nguish ¡between ¡input ¡and ¡output. ¡ • We ¡have ¡states ¡and ¡transi,ons ¡between ¡the ¡ states. ¡ • Nota,on: ¡ – Normally ¡we ¡precede ¡the ¡name ¡of ¡an ¡input ¡by ¡? ¡ and ¡the ¡name ¡of ¡an ¡output ¡by ¡!. ¡ TAROT 2010
Internal ¡events ¡and ¡quiescence ¡ • We ¡have ¡two ¡special ¡types ¡of ¡events: ¡ – Internal ¡events ¡(τ) ¡are ¡state ¡transi,ons ¡that ¡do ¡not ¡ require ¡input ¡and ¡do ¡not ¡produce ¡output. ¡ – A ¡state ¡s ¡is ¡quiescent ¡if ¡from ¡s ¡output ¡cannot ¡be ¡ produced ¡without ¡first ¡providing ¡input. ¡ – If ¡s ¡is ¡quiescent ¡then ¡we ¡add ¡a ¡self-‑loop ¡transi,on ¡ from ¡s ¡with ¡label ¡δ. ¡ TAROT 2010
A ¡simple ¡example ¡ • A ¡(very) ¡simple ¡coffee ¡machine ¡ ?1 ?2 !tea !coffee • We ¡have ¡not ¡shown ¡the ¡self-‑loops ¡for ¡ quiescence. ¡ TAROT 2010
IOTS ¡models ¡ IOTS ¡models ¡are ¡more ¡general ¡than ¡FSMs: ¡ They ¡can ¡be ¡infinite ¡state ¡models ¡ Input ¡and ¡output ¡need ¡not ¡alternate ¡ There ¡can ¡be ¡internal ¡(unobservable) ¡ac,ons. ¡ We ¡assume: ¡ IOTSs ¡are ¡input ¡enabled ¡ We ¡can ¡observe ¡quiescence ¡ TAROT 2010
Implementa,on ¡rela,ons ¡ There ¡is ¡a ¡standard ¡implementa,on ¡rela,on ¡ (for ¡tes,ng) ¡called ¡ioco ¡ It ¡requires: ¡ If ¡σ ¡is ¡a ¡(suspension) ¡trace ¡of ¡the ¡specifica,on ¡s ¡ and ¡the ¡implementa,on ¡can ¡produce ¡output ¡!o ¡ aoer ¡σ ¡then ¡s ¡must ¡be ¡able ¡to ¡produce ¡output ¡!o ¡ aoer ¡σ ¡ TAROT 2010
Two ¡equivalent ¡processes ¡ • We ¡cannot ¡dis,nguish ¡the ¡following: ¡ ?i 1 ?i 1 !o 2 !o 1 !o 1 !o 2 • Note: ¡assume ¡processes ¡completed ¡to ¡make ¡ them ¡input-‑enabled. ¡ TAROT 2010
Issue ¡ • When ¡can ¡we ¡‘bring ¡together’ ¡local ¡ observa,ons’? ¡ ?i 1 ?i 1 !o 2 !o 1 !o 1 !o 2 • In ¡this ¡example ¡not ¡aoer ¡?i 1 !o 1 ¡or ¡?i 1 !o 2 ¡ TAROT 2010
When ¡do ¡we ¡make ¡observa,ons? ¡ • For ¡an ¡FSM ¡we ¡observe ¡the ¡projec,ons ¡of ¡ input/output ¡sequences ¡-‑ ¡we ¡can ¡‘stop’ ¡aoer ¡ an ¡input/output ¡sequence. ¡ • When ¡can ¡we ¡‘stop’ ¡when ¡considering ¡IOTSs? ¡ Possibly: ¡ – Whenever ¡we ¡have ¡quiescence. ¡ • We ¡can ¡then ¡‘bring ¡together ¡local ¡traces’ ¡ TAROT 2010
Recommend
More recommend