90 likes | 96 Views
42TD18 Using TPLan. STF276 MTS#42 Sophia Antipolis 28-30 March 2006. Background. Initially evolved out the Pattern in Testing group Specified and further developed by STF256 and STF276 as a “pseudo-code” notation Simple syntax checker made available to STF276
E N D
42TD18 Using TPLan STF276 MTS#42 Sophia Antipolis 28-30 March 2006
Background • Initially evolved out the Pattern in Testing group • Specified and further developed by STF256 and STF276 as a “pseudo-code” notation • Simple syntax checker made available to STF276 • Integrated into the IPv6 Testing framework and used extensively for both conformance and interoperability testing • Subsequently dropped by the Patterns group
Title: 'My TSS&TP as an example' Version: 1.0.0 Date: 29.11.2004-- could also be written as 29/11/2004 Author : 'ETSI STF276‘ Group1 'Router (RT)'-- some optional free text can go here Objective'Test Purposes for Router' Group1.1 ' Router(RT)/Provide IPv6 Services(PS)' Objective'Test Purposes for Provide IPv6 Services' ... TPs or more subgroups can go here ... End Group1.1 ... TPs or more subgroups can go here ... End Group1 Generic Structure - TSS
Generic Structure – TP Body TP id : TP_COR_0001_03 Summary : 'Pad1 option' RQ Ref : RQ_COR_0001 Config : CF_01 TC Ref : TC_COR_0001_03 with { ... } -- initial conditions ensure that { -- start of TP body when { ... } -- actions described from the -- viewpoint of the IUT or EUT. then { ... } -- IUT or EUT responses and other -- behaviour } -- end of TP body
TP id : TP_COR_1100_02 Summary : 'EUT reassembles a fragmented packet of an original length equal to 1500 octets' RQ ref : RQ_COR_1100 Config : CF_023_I TD ref : TD_COR_1100_02 with { 'the PMTU on Link1 set at 1280 octets' and 'the PMTU on Link2 set at greater than 1500 octets' } ensure that { when { QE2 is requested to 'send data requiring a packet length of exactly 1500 octets to EUT' } then { EUT indicates 'receipt of the same data without modification' } } Example – Interoperability
Example - Conformance Test Purpose Identifier: TP_COR_1416_05 Summary: Tests non-reaction on ICMPv6 error message Reference: RQ_COR_1416 Test Case: TC_COR_1416_05 with{ IUT'configured as aRouter'and IUT 'ready to process ICMPv6 messages' } ensure that{ when { IUT receives'IPv6 packet' containing'Hop Limit'indicating'0' and containing'ICMPv6 Type' indicating'1, Destination Unreachable' } then { IUT sends no response'ICMP Time Exceeded message' } }
View of TPLan from Interop Team • The simple structure made it easier for “novice” Interop TP writers to produce and review TPs • Errors in logic were easy to identify during TP writing rather than later in process • TP writers were forced to think about TP in terms of: • Pre-conditions (with) • Stimulus (when) • Response (then) • Code-like structure simplifies parsing (scanning) so TPs could be checked for correctness at the time of writing BUT . . .TPLan tempts TP writers to abandon abstract descriptions in favour of detailed concrete test specifications
Discussion • Should TC-MTS promote the wider use of TPLan? • If so, what does this involve: • Formal specification of the language? • Usage guidelines? • Tool support ? • . . . .?