1 / 9

42TD18 Using TPLan

TPLan (Test Purpose Language) is a pseudo-code notation used for conformance and interoperability testing in IPv6 networks. It provides a simple syntax checker and integrated into the IPv6 Testing framework. This discussion explores the benefits and challenges of using TPLan for test specification.

hughm
Download Presentation

42TD18 Using TPLan

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. 42TD18 Using TPLan STF276 MTS#42 Sophia Antipolis 28-30 March 2006

  2. Background • Initially evolved out of the Patterns 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

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

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

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

  6. 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' } }

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

  8. View from Conformance Team • The standardized structure allowed to have the same style of TPs from all team members • But • in a pure TPLan code it is difficult to spot the boundaries of one test purpose and it can be difficult to get the meaning, if nested when-then structures are used • therefore • a table was put around the bare TPLan code to enhance the readability • The same standardized style of TPs may have also been achieved by writing old “Ensure that the IUT …” type of TPs while giving strict style/wording rules • But , of course, without any possibility to automatically parse (or compile) the TPs

  9. 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 ? • . . . .?

More Related