Download presentation
Presentation is loading. Please wait.
Published byEdmund Short Modified over 9 years ago
1
ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing Nikolay Pakulin Contributors: Ina Schieferdecker Jens Grabowski
2
TTCN-3 User Conference 2012, Bangelore, India Agenda STF 430: TTCN3 Evolution TTCN3 Overview Advanced TRI Continuous Signals STF 433: TTCN3 Tool Conformance Testing Motivation Methodology Challenges Requirements-driven Test Development Slide 2 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
3
TTCN-3 Evolution TTCN-3 User Conference 2012, Bangelore, India Nikolay Pakulin on behalf of STF430
4
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 4 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
5
TTCN-3 User Conference 2012, Bangelore, India IDLXSD Language mappings ASN.1 Extensions Advanced parameteri- zation Behaviour types Static configuration Documentation t3doc TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Technology Overview TTCN-3 Behaviour TTCN-3 Data CC++ TRI/TCI mapping Java XML C# Real-time support Continuous signal support Advanced TRI Slide 5 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
6
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 6 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
7
TTCN-3 User Conference 2012, Bangelore, India The version forest Approved new versions TTCN-3 Part-1: Core Language V4.4.1 (44 CRs) TTCN-3 Part-4: Operational SemanticsV4.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. tagsV4.4.1 (1 CRs) TTCN-3 Extension: Behaviour TypesV1.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 ParameterizationV1.3.1 New: TTCN-3 Extension: Advanced TRI V1.1.1 TTCN-3 Extension: Continuous signal supportV1.1.1 Slide 7 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
8
TTCN-3 User Conference 2012, Bangelore, India 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 li st type MyRecord MyRecordSub5 ( {f1 := *, f2 := "user", f3 := pattern "password|Password" }, { f1 := (1.. 10), f2 := "User“, f3 := ? }) 5937: Generalized annotation of attributes to declarations/members Slide 8 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
9
TTCN-3 User Conference 2012, Bangelore, India 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! Slide 9 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
10
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 10 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
11
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 11 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
12
TTCN-3 User Conference 2012, Bangelore, India 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). Slide 12 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
13
TTCN-3 User Conference 2012, Bangelore, India 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: now operator Setting stepsize for sampling: 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 Slide 13 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
14
TTCN-3 User Conference 2012, Bangelore, India TTCN-3 Extension: Continuous signal support 3(4) Streams (cont.) navigation on streams previous event: prev operation event at a certain point in time: at operation stream extraction Retrieval of (partial) history: history operation Modes define states in hybrid automata. Modes may be composed sequential or parallel have entry and exit conditions have invariant parts have a duration be parameterisable etc. Slide 14 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
15
TTCN-3 User Conference 2012, Bangelore, India TTCN-3 Extension: Continuous signal support 4(4) 15 Slide 15 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
16
A Conformance Test Suite for TTCN-3 Tools Bogdan Stanca-Kaposta, Testing Technologies Andras Kovacs, Broadbit Nikolay Pakulin, ISPRAS
17
TTCN-3 User Conference 2012, Bangelore, India 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? Slide 17 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
18
TTCN-3 User Conference 2012, Bangelore, India 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! Slide 18 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
19
TTCN-3 User Conference 2012, Bangelore, India 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. Slide 19 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
20
TTCN-3 User Conference 2012, Bangelore, India 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: Not all clauses can be covered. Selection was made: Vendor feedback + most basic functionality. There is no perfect selection! Slide 20 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
21
TTCN-3 User Conference 2012, Bangelore, India 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. Slide 21 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
22
TTCN-3 User Conference 2012, Bangelore, India 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()); } } module Sem_050202_Uniqueness_001_import { // repeated indentifier // from imported module // is allowed const integer repeatedIdentifier := 0; } Slide 22 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
23
TTCN-3 User Conference 2012, Bangelore, India 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. Slide 23 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
24
TTCN-3 User Conference 2012, Bangelore, India 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! Slide 24 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
25
TTCN-3 User Conference 2012, Bangelore, India Methodology (7/7) Executing the ATS: ATS Sem_060101_TopLevel_001.ttcn NegSem_060303_component_types_001.ttcn … TTCN-3 Tool (SUT) TTCN-3 File Sem_060101_TopLevel_001.ttcn Tool output Rejection as invalidRejection to execute Execution with results (e.g., pass/inconc/fail) Tool output evaluation ** @verdict pass accept, ttcn3verdict:pass failpass Test input Expected output Slide 25 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
26
TTCN-3 User Conference 2012, Bangelore, India Discussion 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 Tool TTCN-3 Conformance ATS Meaning? pass Slide 26 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
27
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 27 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
28
TTCN-3 User Conference 2012, Bangelore, India 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? Slide 28 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
29
TTCN-3 User Conference 2012, Bangelore, India 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) Slide 29 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
30
TTCN-3 User Conference 2012, Bangelore, India 30 TTCN-3 CONFORMANCE TEST SUITE STF 433 STATUS REPORT Nikolay Pakulin Requirements tracking case study Slide 30 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
31
TTCN-3 User Conference 2012, Bangelore, India 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 Slide 31 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
32
TTCN-3 User Conference 2012, Bangelore, India 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) Slide 32 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
33
TTCN-3 User Conference 2012, Bangelore, India Sample view: Requality in TTWorkbench Slide 33 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
34
TTCN-3 User Conference 2012, Bangelore, India /*************************************************** ** @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()) } Requirements Tracking (1/2) Fully qualified name of the requirement Slide 34 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
35
TTCN-3 User Conference 2012, Bangelore, India Requirements Tracking (1/2) Requirements coverage report Integrated into Eclipse Evaluates coverage of requirements and test purposes Slide 35 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
36
TTCN-3 User Conference 2012, Bangelore, India Suggested use case Add requirements markup to TTCN3 standard Manual Introduce references between requirements and TTCN3 test cases Manual Track requirements changes between TTCN3 standard revisions Automated (beta) Track required changes in TTCN3 ATS Manual, to be automated TTCN3 standard updated Changes in reqs. reviewed New reqs. added ATS updated Slide 36 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
37
Thank You! Questions? Slide 37 ETSI Update on TTCN-3 Language Evolution and Tool Conformance Testing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.