ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Nikolay Pakulin Contributors: Ina Schieferdecker Jens Grabowski Agenda STF 430: TTCN3 Evolution TTCN3 Overview Advanced TRI Continuous Signals STF 433: TTCN3 Tool Conformance Testing Motivation Methodology Challenges Requirements-driven Test Development TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 2 TTCN-3 Evolution TTCN-3 User Conference 2012, Bangelore, India Nikolay Pakulin on behalf of STF430 STF administrative data STF 430: April 2011 – December 2011 (78 mDays) Members: Gyorgy Rethy, Ericsson Jens Grabowski, University of Goettingen Ina Schieferdecker, Fraunhofer FOKUS Jacob Wieland, Testing Technologies STF 430 sessions in 2011 Session 1: 24-27 May Session 2: 27 June - 1 July Session 3: 26 - 30 September Session 4: 28 November - 2 December TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 4 TTCN-3 Technology Overview Language mappings ASN.1 IDL XSD Extensions Documentation t3doc Advanced parameterization Behaviour types Static configuration Real-time support XML C# Continuous signal support Advanced TRI TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data TRI/TCI mapping Java TTCN-3 User Conference 2012, Bangelore, India C C++ ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 5 TTCN-3 language evolution Tasks Resolution and implementation of CRs Prepare the drafts for ETSI publication: Parts 1 and 4 to 10 of the ES 201 873 series The 4 extension packages (ES 202 781, ~782, ~784, ~785) Cooperation with STF 160 on language requirements of LTE testing Two new language extension packages Advanced TRI Continuous signal support TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 6 The version forest Approved new versions TTCN-3 Part-1: Core Language V4.4.1 (44 CRs) TTCN-3 Part-4: Operational Semantics V4.4.1 (1 CR) TTCN-3 Part-5: TTCN-3 Runtime Interface V4.4.1 (2 CRs) TTCN-3 Part-6: TTCN-3 Control Interface V4.4.1 (8 CRs) TTCN-3 Part-7: Using ASN.1 with TTCN-3 V4.4.1 (1 CR) TTCN-3 Part-8: Using IDL with TTCN-3 V4.4.1 (2 CR) TTCN-3 Part-9: Using XML with TTCN-3 V4.4.1 (12 CRs) TTCN-3 Part-10: TTCN-3 docum. tags V4.4.1 (1 CRs) TTCN-3 Extension: Behaviour Types V1.2.1 (3 CRs) TTCN-3 Extension: Configuration and deployment V1.2.1 (1 CR) TTCN-3 Extension: Real-Time and Performance Testing V1.2.2 (2 CRs) Not republished: TTCN-3 Extension: Advanced Parameterization V1.3.1 New: TTCN-3 Extension: Advanced TRI TTCN-3 Extension: Continuous signal support TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing V1.1.1 V1.1.1 Slide 7 New features in Part 1 5417: Support of parametrized map/unmap var MyConfigType cfg:={ option := 1, lock := false}; ... map(mtc:Port4, system:PCO2) param (cfg); 5262: Partially constrained structured types 5938: Type restriction by template list type MyRecord MyRecordSub5 ( {f1 := *, f2 := "user", f3 := pattern "password|Password" }, { f1 := (1 .. 10), f2 := "User“, f3 := ? }) 5937: Generalized annotation of attributes to declarations/members TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 8 New: Advanced TRI 1(3) Historically, TTCN has been used to test communication protocols which typically use encoded messages. This has been reflected in the TRI SA and TCI CD design of TTCN-3 by encoding and decoding messages to/from bitstrings. However, TTCN-3 also supports signature-based communication for which the transformation of objects into bitstrings and vice versa is cumbersome. Therefore, an alternative API is being proposed along which TTCN-3 values can be directly passed to/from the SUT. Old and new TRI can be used in combination! TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 9 New: Advanced TRI 2(3) Redefinition of TRI Data Interface TriMessageType use Value TriAddressType use Value TriAddressListType use ValueList TriSignatureIdType unchanged TriParameterType unchanged (not being used) TriParameterPassingModeType unchanged (not being used) TriParameterListType TciParameterListType (by that, the TciParameterPassingMode and Values for parameters will be used) TriExceptionType use Value TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 10 New: Advanced TRI 2(3) Changes to Message-based communication operations triSend xtriSend triSendBC xtriSendBC triSendMC xtriSendMC triEnqueueMsg xtriEnqueueMsg New Value xtriConvert(in any value, in Type typeHypothesis) This operation shall be called whenever the TE has to convert a value. The TE might convert immediately after reception of the value, or might for performance considerations postpone the conversion until the actual access to the value. Changes to Procedure-based communication operations triCall xtriCall etc. Changes to Miscellaneous operations triExternalFunction xtriExternalFunction TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 11 TTCN-3 Extension: Continuous signal support 1(4) This new package defines concepts for testing systems using continuous signals. The package introduces notions of time and sampling, notions of streams, stream ports and stream variables, and definitions allowing an automaton alike control flow structure supporting the specification of hybrid behavior (i.e., combined definition of discrete and continuous behaviors). TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 12 TTCN-3 Extension: Continuous signal support 2(4) The following items shall give an impression about the contents of the package. Details and further operations can be found in the package definition. Concepts for time and sampling: access to global time: Setting stepsize for sampling: now operator stepsize operator Streams New port type for streams, e.g.,: type port StreamIn stream { in float } type port StreamOut stream { out float } Operations for accessing data streams: retrieving or setting actual values: value operation retrieval of time related information: timestamp operation Retrieval of actual stepsize of a port: delta operation TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 13 TTCN-3 Extension: Continuous signal support 3(4) Streams (cont.) navigation on streams previous event: event at a certain point in time: prev operation at operation stream extraction Retrieval of (partial) history: history operation Modes define states in hybrid automata. Modes may TTCN-3 User Conference 2012, Bangelore, India be composed sequential or parallel have entry and exit conditions have invariant parts have a duration be parameterisable etc. ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 14 TTCN-3 Extension: Continuous signal support 4(4) TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing 15 Slide 15 A Conformance Test Suite for TTCN-3 Tools Bogdan Stanca-Kaposta, Testing Technologies Andras Kovacs, Broadbit Nikolay Pakulin, ISPRAS Motivation Many TTCN-3 compilers (~7 commercial, 2 internal) High interest in the language Complex standard: hundreds of pages No way to check the compliance of TTCN-3 tools Quality of a test tool is critical Relevance: For users: Is my tool standard compliant? Can I switch tools easily / vendor lock-in? For tool vendors: Where can I improve the standard compliance of my tool? Possibly later: compliance certification For standard developers: Where is need for clarification? TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 17 STF 433 Specialist Task Force initiated by ETSI MTS Manpower: 3 persons for 100 days total Dates: November 2011 – Early 2012 Work is based on the existing framework. Task: Update the existing TTCN3 ATS to the newer TTCN-3 revision Extend the conformance test suite for TTCN-3 tools. Three deliverables: ETSI TS 102 950-1 V1.2.1 (2012-05) – ICS ETSI TS 102 950-2 V1.2.1 (2012-05) – TSS & TP ETSI TS 102 950-3 V1.2.1 (2012-05) – ATS & IXIT Approved by MTS in May 2012. Downloadable from the ETSI download area right now! TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 18 Methodology (1/7) Main steps: 1. Validate existing tests against new revision of the standard. 2. Develop conformance tests. Follow the priority list discussed with MTS and vendors. 3. Develop adapters for selected tools. Validate and fix tests. 4. Automate test execution. TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 19 Methodology (2/7) Adjusting Conformance ATS from TTCN3 rev. 4.2.1 to rev. 4.3.1: Was: 733 tests, 130 pp. of test purposes Validate that test purposes still hold Update modified test purposes Revoke outdated tests Update ATS folder structure Approximately 30% of the STF 433 effort New tests development Clause priority list: TTCN-3 User Conference 2012, Bangelore, India Not all clauses can be covered. Selection was made: Vendor feedback + most basic functionality. There is no perfect selection! ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 20 Methodology (3/7) Development of conformance tests: The ATS is not the test automation, but the test input! In most cases: 1 module = 1 conformance test. Test automation provided for certain vendors Elvior and Testing Technologies Test suite structure: organized according to clauses. Expected output for verdict determination: @verdict pass accept/reject [expectedoutput] Examples: @verdict pass reject @verdict pass accept, ttcn3verdict:pass @verdict pass accept, noexecution Purpose specification: @purpose documentreference, description Documentreference: part:clause Examples: @purpose 1:5, Ensure that when the IUT loads a module containing some definitions before the module declaration then the module is rejected. TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 21 Methodology (4/7) Development of conformance tests (cont.): Complete TTCN-3 test input example: /*************************************************** ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope. ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ module Sem_050202_Uniqueness_001 { import from Sem_050202_Uniqueness_001_import { const all; } type component GeneralComp {} function f_funcScope() { var boolean repeatedIdentifier := true; if(repeatedIdentifier==true) { setverdict(pass); } } testcase TC_Sem_050202_Uniqueness_001() runs on GeneralComp { f_funcScope(); } control { execute(TC_Sem_050202_Uniqueness_001()); } } TTCN-3 User Conference 2012, Bangelore, India module Sem_050202_Uniqueness_001_import { // repeated indentifier // from imported module // is allowed const integer repeatedIdentifier := 0; } ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 22 Methodology (5/7) Creation of documentation: Framework already provided by STF393 (Proforma). Little time for documentation. Working on a single source saves time. Solution: Write test purposes and expected tool outputs directly into the test inputs. Generate tables for the documentation from the ATS: Test purpose tables. Test suite structure. Much easier to maintain! Documentation generation tools developed as part of STF409. TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 23 Methodology (6/7) Validation and fixing: Validation and fixing took more than half of the development time! STF internal validation with 2 tools: TTworkbench: compile-time and execution. TestCast: compile-time and execution. Developed necessary adapters Loopback, proc. call Lots of feedback from TTech and Elvior! TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 24 Methodology (7/7) Executing the ATS: TTCN-3 File TTCN-3 File TTCN-3 File ATS Sem_060101_TopLevel_001.ttcn NegSem_060303_component_types_001.ttcn … Sem_060101_TopLevel_001.ttcn ** @verdict pass accept, ttcn3verdict:pass Test input TTCN-3 Tool (SUT) Expected output Tool output Rejection as invalid Execution with results (e.g., pass/inconc/fail) Rejection to execute Tool output evaluation pass TTCN-3 User Conference 2012, Bangelore, India fail ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 25 Discussion TTCN-3 Conformance ATS TTCN-3 Tool pass Meaning? Compliance does not imply safety from a vendor lock-in! Testing is never complete! With v1.1.1 of the ATS, about 32% of the core standard clauses are covered with at least one test. Ideally, we should have many tests for each clause. Compliance means less likelihood for vendor lock-in. With better coverage and higher number of test cases, we improve the quality of this statement. Compliance reduces the likelihood for major tool errors Tests range from simple arithmetic operations to communication operations and verdict handling. ATS checks syntax and semantics. ATS does not check the correctness of every single tool message, but of the overall output. TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 26 Challenges (1/2) Various standard clarifications were necessary: 13 CRs for TTCN-3 core languages have been written. Unclarified test cases have been excluded from the delivery ("on-hold"). Tools sometimes handle the standard differently. Tests need to be expressed as tool independent as possible. Test Automation: No standard command line interface for batch run Tool-specific adapters No common test log format TTCN3 semantics TTCN3 standard part 1 defines both static and dynamic semantics No definition of well- and ill- formed programs What to check at compile time is tool-dependent TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 27 Challenges (2/2) Synchronize ATS with new TTCN3 revisions Time consuming manual activity As ATS grows the effort will grow as well To which core language standard version does the conformance test suite relate to? How to maintain compatibility across different language versions? Against which version should the conformance test suite be developed in the future? Which TTCN3 revision to support Should we certify newest TTCN3 revision only? TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 28 Conclusion The conformance test suite is available now! ATS Metrics: Total number of conformance tests: 1077 (340 new) 20 tests fixed 9 removed since deprecated or duplicates Number of positive syntactic conformance tests: 138 Number of negative syntactic conformance tests: 82 Number of positive semantic conformance tests: 517 Number of negative semantic conformance tests: 340 Number of clauses (at least partially) covered: 134 (24 new) TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 29 30 TTCN-3 CONFORMANCE TEST SUITE STF 433 STATUS REPORT Requirements tracking case study Nikolay Pakulin TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 30 Case study in a nutshell 4 chapters: total 7,5 pages 12 Declaring messages, 13 Declaring timers, 23 Timer operations, 24 Verdict operations; 56 requirements elicited, 7 requirements refined into 34 test purposes; covered by 174 test cases Average 7,5 requirements per page, 3 test cases per requirement TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 31 Requirements tracking case study ISP RAS contributed to the project requirements management tool Requality Hierarchical grouping of requirements Requirements elicitation from DOC/HTML documents Requirements are connected to certain locations in the documents Requirements locations are highlighted Requirements refinement through test purposes Test purposes define specific cases to be tested in order to treat corresponding requirement ‘covered’ Requirements coverage by test cases report Source document change management (beta) Update requirements when the text of the standard is modified Requality is an open-source plugin to eclipse Integrated with version control software (SVN) TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 32 Sample view: Requality in TTWorkbench TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 33 Requirements Tracking (1/2) /*************************************************** ** @author STF 433 ** @version 0.0.1 ** @purpose 1:12, Ensure timer can be declared in components ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ /* * #reqname /Requirements/12 Declaring timers/Timers can be declared in component type **/ module Sem_12_toplevel_timer_001 { type component TComp{ timer t_timer:=10.0; } testcase TC_Sem_12_toplevel_timer_001() runs on TComp{ t_timer.start; if (t_timer.running){ setverdict(pass) } else { setverdict(fail) } } control{ execute(TC_Sem_12_toplevel_timer_001()) } } TTCN-3 User Conference ETSI Update on TTCN-3 Language Evolution and Tool 2012, Bangelore, India Conformance Testing Fully qualified name of the requirement Slide 34 Requirements Tracking (1/2) Requirements coverage report Integrated into Eclipse Evaluates coverage of requirements and test purposes TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 35 Suggested use case Add requirements markup to TTCN3 standard TTCN3 standard updated Manual Introduce references between requirements and TTCN3 test cases Manual Track requirements changes between TTCN3 standard revisions Automated (beta) Changes in reqs. reviewed ATS updated New reqs. added Track required changes in TTCN3 ATS Manual, to be automated TTCN-3 User Conference 2012, Bangelore, India ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 36 Thank You! Questions? ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Slide 37
© Copyright 2024 ExpyDoc