From ff2ee8cd5dfd00f21f98b4e7c67928d8f500d908 Mon Sep 17 00:00:00 2001 From: Finn Kristoffersen <finn@cinderella.dk> Date: Tue, 30 Jan 2024 16:00:10 +0100 Subject: [PATCH] Updates to User scenarios section with part retrieved from TR 103 119. --- .project | 11 + UserScenarios.md | 1454 ++++++++++++++++++++++- images/DataAndConfSpecInTdlGr.png | Bin 0 -> 111492 bytes images/TestBehaviourInTdlInGrFormat.png | Bin 0 -> 34593 bytes 4 files changed, 1427 insertions(+), 38 deletions(-) create mode 100644 .project create mode 100644 images/DataAndConfSpecInTdlGr.png create mode 100644 images/TestBehaviourInTdlInGrFormat.png diff --git a/.project b/.project new file mode 100644 index 0000000..34698aa --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>TOP_top-wiki</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> diff --git a/UserScenarios.md b/UserScenarios.md index a84ab31..21dc685 100644 --- a/UserScenarios.md +++ b/UserScenarios.md @@ -1,44 +1,89 @@ -# 6.1 Usage Scenarios +# User guides + +6.1 + + + + TDL and TOP can be used in different ways. Depending on the specific goals, different parts of TDL and TOP may be relevant for a given usage scenario. For different starting points and end goals, the following common use cases may come into question: -- Selected TOP user scenarios + - [Selected TOP user scenarios](UserScenarios#selected-top-user-scenarios) + + + - [User control of the analysis level](#sec-user-control-of-the-analysislevel) + + - [Using TDL with ASN.1 Specifications](#sec-using-tdl-with-asn-specifications) + + - [Unified Definition of Test Puposes and Test Descriptions](#unified-definition-of-test-purposes-and-test-descriptions) + + [Open and close specification](#uc1-openclose) + + + - [Textual modelling](#textual-modelling) + + + + + +[Defining structured test objectives (or test purposes) with the help of TDL-TO.] -- Defining structured test objectives (or test purposes) with the help of TDL-TO. - Transforming existing structured test objectives in TDL-TO into TDL test descriptions. + - Defining test descriptions with the help of TDL. + - Transforming existing test descriptions in TDL into TTCN-3 test cases. + - Transforming existing test descriptions in TDL into a target execution language (see clause 9). + - Using existing interface specifications in OpenAPIâ„¢ with TDL (see clause 8.2). + - Using existing protocol specifications in ASN.1 with TDL (see clause 8.3). -## 6.2 Selected TOP user scenarios +## Selected TOP user scenarios <a name="selected-top-user-scenarios"></a> + +6.2 ### 6.2.1 Overview This clause describes a set of user scenarios that illustrate just how the features of the TOP tools can be used for specific testing tasks. -### 6.2.2 User control of the analysis level -1. **Usage scenario:** The user saves and re-opens an incomplete TDL specification. The incomplete specification and associated analysis results are maintained. + +### 6.2.2 User control of the analysis level <a name="sec-user-control-of-the-analysislevel"></a> + +<a name="uc1-openclose"></a> +1. **Usage scenario:** The user saves and re-opens an incomplete TDL specification. The incomplete specification and associated analysis results are maintained. 2. **Usage scenario:** Incompatible assignment of types, e.g. assignment of a boolean value to integer type or exceeding the limit of a restricted list type (collection). 3. **Usage scenario:** The user may set the level of analysis performed by TOP tool when developing the TDL test model. -From the TDL toolbar analysis of the specification the analysis level can be set. +From the TDL toolbar shown in [Figure TDL toolbar](#figure-TDL-toolbar) the analysis level of the specification can be set. - +<figure><a id="figure-TDL-toolbar"></a> + <img src="images/TdlToolbar.png" alt="TDL toolbar"> + <figcaption><b>Figure: TDL toolbar</b> + </figcaption> +</figure> -Figure 6.2.2-1: TDL toolbar -The left "V" button sets the constraint validation to be automatically performed when editing the model. The selection mode is shown by marking the button with a darker shade when constraint validation is active. The rightmost "V" button causes the model to be analysed for syntactical errors. Errors are shown in the editor and in the problem view. Alternatively these settings can be controlled from the TDL menu. +The left "V" button sets the constraint validation to be automatically performed when editing the model. The selection mode is shown by marking the button with a darker +shade when constraint validation is active. The rightmost "V" button causes the model to be analysed for syntactical errors. Errors are shown in the editor and in the problem view. +Alternatively these settings can be controlled from the TDL menu shown in [Figure TDL Menu items](#figure-tdl-menu-items). + + +<figure><a id="figure-tdl-menu-items"></a> + <img src="images/TdlMenuList.png" alt="TDL Menu items"> + <figcaption><b>Figure: TDL Menu items</b> + </figcaption> +</figure> - - -Figure 6.2.2-2: TDL Menu items -### 6.2.3 Textual modelling +### Textual modelling + +6.2.3 + 1. **Usage scenario:** Refactoring and renaming @@ -86,7 +131,9 @@ The TOP tools support syntax check for the textual and graphical notations defin Figure 6.2.3-4: Syntax error presentation -The TOP tool offers semantic constraints check of a TDL specification. When this check is to be performed can be controlled from the TDL tool bar or the TDL menu item list. Either the check is performed when the "Validate TDL model" is selected or the check is performed automatically when the TDL model is updated, if the "Automatically validate TDL model" is selected. In Figure 6.2.3-5 an example of a semantics check is illustrated. +The TOP tool offers semantic constraints check of a TDL specification. When this check is to be performed can be controlled from the TDL tool bar or the TDL menu item list. +Either the check is performed when the "Validate TDL model" is selected or the check is performed automatically when the TDL model is updated, if the "Automatically validate +TDL model" is selected. In Figure 6.2.3-5 an example of a semantics check is illustrated.  @@ -96,20 +143,23 @@ Figure 6.2.3-5: Constraint error presentation <li> <b>Usage scenario:</b> Templates - usage and definition </li> </ol> -For each of the notations supported by the TOP tools the specific editor provides templates available in the context of the cursor position. The templates available at a given cursor position are shown when "Ctrl + Space" are pressed. When a template is selected pressing "Enter" inserts the template and allows for parameters to be modified. +For each of the notations supported by the TOP tools the specific editor provides templates available in the context of the cursor position. The templates available at a given +cursor position are shown when "Ctrl + Space" are pressed. When a template is selected pressing "Enter" inserts the template and allows for parameters to be modified. An example of templates available in the context of a configuration specification is shown in Figure 6.2.3-6.  Figure 6.2.3-6: Templates available in a configuration specification context -The user may define additional templates for the different editors available in the TOP tool. The template editor is accessed via the "Window" menu item, option "Preferences". From the Preferences dialog box the specific TOP editor can be selected and user-defined templates be created. Figure 6.2.3-7 illustrates a list of templates defined for the TDLtx editor. +The user may define additional templates for the different editors available in the TOP tool. The template editor is accessed via the "Window" menu item, option "Preferences". +From the Preferences dialog box the specific TOP editor can be selected and user-defined templates be created. Figure 6.2.3-7 illustrates a list of templates defined for the +TDLtx editor.  Figure 6.2.3-7: Template dialog box -### 6.2.4 TDL Wizards and Perspective +### 6.2.4 TDL Wizards and Perspective Wizards provide support to create functional TDL project either with textual or graphical models according to user choice: 1. **User scenario:** Create new TDL project @@ -117,13 +167,15 @@ Wizards provide support to create functional TDL project either with textual or 3. **User scenario:** Using predefined skeletons 4. **User scenario:** Importing interface specifications -In order to create a new TDL specification:- Select from File menu item New and in the submenu select "Project". In the dialog box "Select a wizard", select the wanted TDL project, e.g. TDLtx for a textual TDL specification. +In order to create a new TDL specification:- Select from File menu item New and in the submenu select "Project". In the dialog box "Select a wizard", select the wanted +TDL project, e.g. TDLtx for a textual TDL specification.  Figure 6.2.4-1: Wizard selection dialog box -Press "Next" and in the dialog box specify a name of the project to be create. If the default location is not to be used, uncheck the "Use default location" and specify the location of the project. +Press "Next" and in the dialog box specify a name of the project to be create. If the default location is not to be used, uncheck the "Use default location" and specify +the location of the project.  @@ -153,21 +205,23 @@ If "Advanced" option is set the following options can be selected: - The imported packages - The name of the project package, default is "Main" -### 6.2.5 Graphical modelling +### 6.2.5 Graphical modelling 1. **User scenario:** The TOP tool should provide ways to manage diagrams of model elements (create, delete, rename, open). 2. **User scenario:** Visual representation of all model elements should be implemented according to specification. 3. **User scenario:** All model elements and features should be editable either directly on the diagram or via property view. 4. **User scenario:** Negative validation results should be indicated graphically and linked to problem reports. -To define a TDL model using the graphical editor of the TOP tools, select menu "File" and in the menu select "New "and in the sub-menu list select "TDL project" or use shortcut "Alt-Shift-N". The dialog box shown in Figure 6.2.5-1 appears and a project name can be specified. +To define a TDL model using the graphical editor of the TOP tools, select menu "File" and in the menu select "New "and in the sub-menu list select "TDL project" or +use shortcut "Alt-Shift-N". The dialog box shown in Figure 6.2.5-1 appears and a project name can be specified.  Figure 6.2.5-1: Create a new TDL project using the graphical editor -When the "Finish" button is selected the project is created. In the "Project Explorer " select the project, press the right mouse button, and select option "Create Representation" and the dialog box shown in Figure 6.2.5-2 allow to create a new diagram. +When the "Finish" button is selected the project is created. In the "Project Explorer " select the project, press the right mouse button, and select option +"Create Representation" and the dialog box shown in Figure 6.2.5-2 allow to create a new diagram.  @@ -182,17 +236,23 @@ Select the type of diagram to be created, assign a name to the diagram, and pres NOTE: Initially it is only possible to create a "Generic TDL" diagram as to create a "TDL Behaviour" diagram at least one test description is needed. -The editors for the two types of diagrams provides access to all graphical elements of the TDL language. The textual parameters can be edited either directly in the graphical element or in the Properties View of a selected element. In Figure 6.2.5-3 the editor for "Generic TDL " diagrams is shown. +The editors for the two types of diagrams provides access to all graphical elements of the TDL language. The textual parameters can be edited either directly in the graphical +element or in the Properties View of a selected element. In Figure 6.2.5-3 the editor for "Generic TDL " diagrams is shown.  Figure 6.2.5-3: Generic TDL diagram editor -Both diagram editors have a pane with all the elements that can be used in the diagram. From the top tool bar a number of general edit functions are available, e.g. select all elements, show and hide elements. Also from the top tool bar the export diagram as an image file is available. The "Properties" view of the editor allows to define the textual parameters of a selected graphical element. +Both diagram editors have a pane with all the elements that can be used in the diagram. From the top tool bar a number of general edit functions are available, e.g. select +all elements, show and hide elements. Also from the top tool bar the export diagram as an image file is available. The "Properties" view of the editor allows to define the +textual parameters of a selected graphical element. -### 6.2.6 Importing protocol specifications +### 6.2.6 Importing protocol specifications -The TOP tools support importing external data specifications to TDL data representations with mapping information to the original data specifications. All importers for the external use the "Translate Input to TDL Model" from the "TDL" menu or alternatively the >T> icon on the TDL tool bar. The generated TDL file depends on the type of project the external specification is imported to. The naming convention for the TDL file generated is the original file name extended with "-generated" and with extension according to the importing TDL model type. +The TOP tools support importing external data specifications to TDL data representations with mapping information to the original data specifications. All importers for the +external use the "Translate Input to TDL Model" from the "TDL" menu or alternatively the >T> icon on the TDL tool bar. The generated TDL file depends on the type of project +the external specification is imported to. The naming convention for the TDL file generated is the original file name extended with "-generated" and with extension according +to the importing TDL model type. 1. **Usage scenario:** Importing OpenAPI specifications according to ETSI EG 203 647 [i.32]. @@ -201,40 +261,504 @@ For OpenAPI specifications the TOP tools currently supports: - Data mappings to the base OpenAPI definition for traceability. - Data mappings to the target (Java) data implementation derived from the OpenAPI definitions for executability. -Further details on how to use OpenAPI specifications with TDL are defined in **clause 8.2 of the present document**. + +## 8.2 Using TDL with OpenAPIâ„¢ Specifications *TO BE MODIFIED* + +### 8.2.1 Overview + +The OpenAPIâ„¢ Specification [i.31] (previously known as the Swagger Specification) is a notation for the specification of interfaces for RESTful web services. +In addition to data-related information, OpenAPITM specifications also include paths to identify resources by means of URLs, along with applicable operations, +and corresponding request and response specifications. While these can be used to derive skeletons for structured test objectives and test descriptions as +outlined in ETSI EG 203 647 [i.32], within the present document, the focus is solely on data-related information. Further information and guidelines regarding +the use of OpenAPIâ„¢ for specification and testing at ETSI can be found in ETSI EG 203 647 [i.32]. + +In addition to a set of primitive data types, OpenAPIâ„¢ provides means for defining structured data types. The specification is an extension of the JSON schema +[i.33]. Data type schemas may be defined inline or in a schemas object which enables reuse of those definitions. In the present document, only the latter is +considered. Future editions may add guidelines for inline data definitions as well. + + +The built-in primitive types in OpenAPIâ„¢ are mapped to TDL according to the conventions in Table 8.2.1-1. The mapping relies on a TDL library of predefined types and constraints. +As OpenAPIâ„¢ specifications may include format specifications for types, a generic constraint (OpenAPIFormat) with corresponding quantifiers may be used to capture this +information in the derived TDL data model. Non-standard formats may be present in an OpenAPITM specification as well. The generic constraint can be used for such formats as well. + + + +Table 8.2.1-1: OpenAPIâ„¢ Built-in Type Mapping + + + OpenAPIâ„¢ | Type in TDL | Constraints | Formats and Patterns + ---------- | ------------- | ------------ | -------------------- + integer | integer | OpenAPIFormat | int32, int64 + number | String | OpenAPIFormat | float, double + string | String | OpenAPIFormat | e-mail, password + boolean | Boolean | | + + + + + +A structured type in OpenAPIâ„¢ is either an 'array' with member type declaration ('items' object) or an 'object' with a set of properties ('properties' object). Consequently, the transformation of OpenAPIâ„¢ data types into TDL data types involves the following conventions: +- If the data type corresponds to one of the primitive data types within the OpenAPIâ„¢ library as indicated in Table 8.2.1-1, the 'Type' is mapped to the corresponding 'SimpleDataType' from Table 8.2.1-1. + +- If the data type is an 'object', it is mapped to a 'StructuredDataType' with a 'name' corresponding to the name of the OpenAPIâ„¢ data type. + +- If the data type is an 'array', it is mapped to a 'CollectionDataType' with a 'name' corresponding to the name of the OpenAPIâ„¢ data type. The data type indicated in the 'items' object is mapped to the corresponding 'DataType' as the 'itemType' of the 'CollectionDataType'. If 'minItems' and 'maxItems' are specified for the 'array', the corresponding predefined constraints need to be added to the 'CollectionDataType'. + +- Each item in the 'properties' object of the 'object' object is mapped to a 'Member' within the corresponding 'StructuredDataType' with a 'name' + corresponding to the property. If a 'Member' with the same 'name' exists, no action is taken. All 'Members are to be marked as optional, except for + 'Member's corresponding to properties which are listed in the 'required' array of the 'object'. The 'dataType' of the 'Member' corresponds to: + + - A new 'DataType' corresponding to the 'type' of the property with a 'name' prefixed with the 'name' of the containing 'StructuredDataType' + in case a property is of 'type' 'object'. + + - A 'SimpleDataType' corresponding to the 'type' of the property in case the 'SimpleDataType' is one of the predefined 'DataType's within the + OpenAPIâ„¢ library as indicated in Table 8.2.1-1. + +- Nested 'objects are transformed according to the conventions above. + +- If the property contains an 'enum' array, it is mapped to an 'EnumDataType' with a 'name' corresponding to the name of the property. The items contained in the 'enum' array + are mapped to 'SimpleDataInstance's of the 'EnumDataType' that are contained in the 'EnumDataType'. + +- Corresponding 'DataElementMapping's are created for the defined data types. 'DataElementMapping's for 'DataType's derived from anonymous (inline) data types are not created. + The 'DataElementMapping's may include target platform mappings in addition to the source mappings to the OpenAPIâ„¢ specifications. + +### 8.2.2 Examples + +As an example consider the OpenAPIâ„¢ snippet shown in Figure 8.2.2-1 and the derived TDL data type model snippet showing in Figure 8.2.2-2. Corresponding +'StructuredDataType's are created for both the 'Library' and 'LibraryBook' data types, as well as for the nested anonymous 'object's and 'array's, which + are prefixed with 'Library___' and 'LibraryBook___' accordingly. This would also apply to additional anonymous 'object's and 'array's nested further within + the 'object's. The 'dataType's for the corresponding 'Member's are then set accordingly. Finally, both source and target (for Java in this example) + 'DataElementMapping's are provided. + + + components: + schemas: + LibraryBook: + type: object + properties: + title: + type: string + authors: + type: array + items: + type: string + reviewers: + type: array + items: + type: string + Library: + type: object + properties: + address: + type: string + books: + type: array + items: + $ref: '#/components/schemas/LibraryBook' + +Figure 8.2.2-1: OpenAPIâ„¢ example including nested anonymous data types + + + Type LibraryBook ( + String title, + LibraryBook___authors authors, + LibraryBook___reviewers reviewers + ) + Collection LibraryBook___authors of String + Collection LibraryBook___reviewers of String + + Type Library ( + String address, + Library___books books + ) + Collection Library___books of LibraryBook + + Use "mapping_conventions.yaml" as SOURCE_MAPPING + Use "generated/java" as TARGET_MAPPING + Map LibraryBook to "#/components/schemas/LibraryBook" + in SOURCE_MAPPING as LibraryBook_SOURCE_MAPPING + Map LibraryBook to "LibraryBook" + in TARGET_MAPPING as LibraryBook_TARGET_MAPPING + Map Library to "#/components/schemas/Library" + in SOURCE_MAPPING as Library_SOURCE_MAPPING + Map Library to "Library" + in TARGET_MAPPING as Library_TARGET_MAPPING + +Figure 8.2.2-2: Corresponding flattened TDL definitions for Figure 8.2.2-1 + + <ol start=2> <li> <b>Usage scenario:</b> Importing RESTCONF and YANG specifications.</li> </ol> -The TOP tools support for importing RESTCONF and YANG data specifications is offered by the conversion of JSON specifications. For YANG data specifications this means that they have to be converted to JSON specifications. +The TOP tools support for importing RESTCONF and YANG data specifications is offered by the conversion of JSON specifications. For YANG data specifications this means +that they have to be converted to JSON specifications. <ol start=3> <li> <b>Usage scenario:</b> Importing ASN.1 specifications.</li> </ol> -ASN.1 data specifications can be converted to a TDL data model. Further details on how to use TDL with ASN.1 data specifications are defined in **clause 8.3 of the present document**. +ASN.1 data specifications can be converted to a TDL data model. Further details on how to use TDL with ASN.1 data specifications are defined in +**clause 8.3 of the present document**. + + ## Using TDL with ASN.1 Specifications <a name="sec-using-tdl-with-asn-specifications"></a> + +8.3 + +### Overview + +8.3.1 + +ASN.1 (Abstract Syntax Notation One) Recommendation ITU T X.680 [i.34] is a standardized language for the specification of data types and data structures. As the name implies, the specifications are abstract and therefore independent of a specific target platform. The specifications provide the information about the structure and encoding of the data which can be processed by generators or compilers to produce data type implementations for the desired target language and platform, including codecs for encoding and decoding the data for transmission. While TDL is not concerned with the encoding and decoding at the specification level, in many cases the test execution platform needs to include codes for the operationalisation of the tests. + +When ASN.1 specifications are imported in TDL, the level of detail may vary from the bare essentials, including the data types only, to including additional constraints, and even encoding information (where applicable). The additional information can be utilised for early validation of the TDL specifications. While it is also possible to specify constant values in ASN.1, these are not covered in the guidelines at present. + +ASN.1 includes a set of built-in types, some of which are mapped to TDL according to the conventions in Table 8.3.1-1. The mapping relies on a TDL library of predefined types and constraints. The generic constraints (ASN1String, ASN1DateTime, ASN1Real, ASN1ObjectIdentifier) may be used to provide additional patterns for the contents of data instances of the corresponding data types to facilitate validation. Alternatively, a tool may implement implicit validation based on the underlying types. + +Table 8.3.1-1: ASN.1 Built-in Type Mapping + +**ASN.1 Type** | **Type in TDL** | **Constraints** | **Examples and Patterns** + ------------------- | ----------------| --------------| ------------------------------------------------ + **BITSTRING** | BITSTRING | ASN1String | "1101'B", also "Named BITS" \(\) : \[0\|1\]\+'B + **OCTETSTRING** | OCTETSTRING | ASN1String | "A3B2'H", "10010'B": \[A\-F\|0\-9\]\+'H + **BMPString** | BMPString | ASN1String | "": 16 bit Character + **IA5String** | IA5String | ASN1String | "Hallo": 8 bit ASCII + **GeneralString** | GeneralString | ASN1String | : all graphic/character sets, SPACE, DELETE + **GraphicString** | GraphicString | ASN1String | : all graphic sets, SPACE + **NumericString** | NumericString | ASN1String | "34 8": \[0-9, SPACE\]\+ + **PrintableString** | PrintableString | ASN1String | "Black, Blue \+ Brown": \[a-z,A-Z,'\(\)\+,\-\.?:/=,SPACE\] + **TeletexString** | TeletexString | ASN1String | : CCITT T.101 + **T61String** | T61String | ASN1String | : CCITT T.101 + **UniversalString** | UniversalString | ASN1String | : ISO10646 + **UTF8String** | UTF8String | ASN1String | : ASCII \+ Control + **VideotexString** | VideotexString | ASN1String | : CCITT T.100, T.101 + **VisibleString** and <br> **ISO646String** | VisibleString | ASN1String | : ASCII Printing + **UTCTime** | UTCTime | ASN1DateTime | "991231235959\+0200": <br> YYMMDDhhmm\[ss\]Z + **GeneralizedTime** | GeneralizedTime | ASN1DateTime | "20200425175522\.214\+0200" <br> YYYYMMDDHH\[MM\[SS\[\.fff\]\]\]Z \(ISO 8601 \[i\.38\]\) + **DATE** | Date | ASN1DateTime | "1636\-09\-18": <br> YYYY-MM-DD + **TIME-OF-DAY** | TimeOfDay | ASN1DateTime | "18:30:23": <br> + **DATE-TIME** | DateTime | ASN1DateTime | "2000-11-22T18:30:23": <br> YYYY\-MM\-DDThh:mm:ss + **INTEGER** | Integer | | + **REAL** | String | ASN1Real | + **BOOLEAN** | Boolean | | + **NULL** | Null | | +**OBJECT IDENTIFIER** | ObjectIdentifier | ASN1ObjectIdentifier | id-ssp OBJECT IDENTIFIER ::= { itu-t (0) <br> identified-organization (4) etsi (0) <br> smart-secure-platform (3666) part1 (1) } +**RELATIVE OBJECT IDENTIFIER** | ObjectIdentifier | ASN1ObjectIdentifier | Relative_id_ssp RELATIVE-OID ::= <br> { smart-secure-platform (3666) part1 (1) } | + -### 6.2.7 Creating test objectives based on TDL meta-model +The transformation of ASN.1 data types into TDL data types involves the following conventions: + +- If the data type corresponds to one of the predefined 'DataType's within the ASN.1 library as indicated in Table 8.3.1-1, the ASN.1 'Type' is mapped +to the corresponding TDL 'SimpleDataType' from Table 8.3.1-1. For the supported ASN.1 types the following additional restrictions apply: + + - NULL type is only used in the scope of a Choice type where if there is no information, the corresponding alternative is activated. + +- If the ASN.1 data type is a 'SequenceType', a 'SetType', or a 'ChoiceType', it is mapped to a 'StructuredDataType' with a 'name' corresponding to the name of the ASN.1 data type. In the case of 'ChoiceType', a 'Constraint' with the predefined 'union' 'ConstraintType' is applied to the corresponding 'StructuredDataType', and all 'Members are marked as optional. + + If the ASN.1 data type is a 'SequenceOfType' or a 'SetOfType', it is mapped to a 'CollectionDataType' with a 'name' corresponding to the name of the ASN.1 data type. The 'Type' indicated for the 'SequenceOfType' or 'SetOfType' is mapped to the corresponding 'DataType' as the 'itemType' of the 'CollectionDataType'. + +- Each 'ComponentType' in the 'ComponentTypeList' of the 'SequenceType', 'SetType', or 'ChoiceType' is mapped to a 'Member' within the corresponding 'StructuredDataType' with a 'name' corresponding to the 'identifier' of the 'ComponentType'. If a 'Member' with the same 'name' exists, no action is taken. The 'dataType' of the 'Member' corresponds to: + + - A new 'DataType' corresponding to the 'Type' of the 'ComponentType' with a 'name' prefixed with the 'name' of the containing 'StructuredDataType' in case a 'ComponentType' is directly contained within another 'ComponentType'. + + - A 'SimpleDataType' corresponding to the 'Type' of the 'ComponentType' in case the 'SimpleDataType' is one of the predefined 'DataType's within the ASN.1 library as indicated in Table 8.3.1-1. + + - Nested 'ComponentType's are transformed according to the conventions above. + +- If the ASN.1 data type is an 'EnumeratedType', it is mapped to an 'EnumDataType' with a 'name' corresponding to the name of the ASN.1 data type. The contained 'EnumerationItem's are mapped to 'SimpleDataInstance's of the 'EnumDataType' that are contained in the 'EnumDataType'. There are no guidelines for 'NamedNumber's at present. + +- Corresponding 'DataElementMapping's are created for the defined data types. 'DataElementMapping's for 'DataType's derived from anonymous (inline) data types are not created. The 'DataElementMapping's may include target platform mappings in addition to the source mappings to the ASN.1 specifications. + +For the following built-in types not mentioned in Table 8.3.1-1, the transformations to TDL types are done as follows: + +- UnrestrictedCharacterStringType: Replace the CHARACTER STRING type with its associated type obtained by expanding inner subtyping in the associated type of the CHARACTER STRING type (see clause 44.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. + +- EmbeddedPDVType: Replace any EMBEDDED PDV type with its associated type obtained by expanding inner subtyping in the associated type of the EMBEDDED PDV type (see clause 36.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. + +- ExternalType: replace the EXTERNAL type with its associated type obtained by expanding inner subtyping in the associated type of the EXTERNAL type (see clause 37.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. + +- InstanceOfType: Replace the INSTANCE OF type with its associated type obtained by substituting INSTANCE OF DefinedObjectClass by its associated ASN.1 type (see clause C.7 of Recommendation ITU T X.681 [i.36]) and map all ASN.1 types to their TDL types according to Table 8.3.1-1. + + +### Examples + +8.3.2 + +For example, as shown in Figure 8.3.2-1 and Figure 8.3.2-2, for the 'NodeDescriptor' and related type definitions taken from [i.35], a corresponding 'StructuredDataType' is created, +including derived 'DataType's for the nested 'aNode' anonymous 'ContentType', as well as the 'aLink', 'aFile', and 'aDirectory' anonymous 'ContentType's nested further within the +'aNode' 'ContentType'. The 'dataType's for the corresponding 'Members are then set accordingly. The 'DataType' for the 'NodeIdentity' type as well as the derived 'DataType' for the +'aNode' 'Member' are assigned a 'Constraint' with the 'union' 'ConstraintType'. + + + NodeDescriptor ::= SEQUENCE + { + aNodeName NodeName, -- Node name + aShortName UUID, -- Short node name + aNode CHOICE + { + aLink SEQUENCE + { + aLinkedFileIdentity NodeIdentity, -- Identity of the linked SSP file + aLinkedFileSize FileSize -- Size of the linked SSP file + }, + aFile SEQUENCE + { + aFileSize FileSize -- Size of the SSP file + }, + aDirectory SEQUENCE + { + } + }, + aMetaData SEQUENCE OF MetaDatum OPTIONAL, -- Optional meta data + aACL SET OF AccessControl OPTIONAL -- Access Control List attribute + } + + /* Node identity */ + NodeName ::= UTF8String (SIZE(1..16)) -- node name encoded in UTF-8 + NodeReference ::= SEQUENCE (SIZE(1..6)) OF NodeName -- pathname and node name + + NodeIdentity ::= CHOICE + { + aShortName UUID, -- UUID of file reference using absolute pathname + aNodeReference NodeReference -- Node reference + } + +Figure 8.3.2-1: ASN.1 example including nested anonymous data types (excerpt from [i.35]) + + Type NodeDescriptor ( + aNodeName of type NodeName, + aShortName of type UUID , + aNode of type NodeDescriptor___aNode , + optional aMetaData of type NodeDescriptor___aMetaData , + optional aACL of type NodeDescriptor___aACL + ); + Type NodeDescriptor___aNode { union } ( + aLink of type NodeDescriptor___aNode___aLink, + aFile of type NodeDescriptor___aNode___aFile , + aDirectory of type NodeDescriptor___aNode___aDirectory + ); + + Collection NodeDescriptor___aMetaData of type MetaDatum; + Collection NodeDescriptor___aACL of type AccessControl; + + Type NodeIdentity { union } ( + aShortName of type UUID, + aNodeReference of type NodeReference + ); + Collection NodeReference of type NodeName; + Type NodeDescriptor___aNode___aLink ( + aLinkedFileIdentity of type NodeIdentity, + aLinkedFileSize of type FileSize + ); + Type NodeDescriptor___aNode___aFile ( + aFileSize of type FileSize + ); + +Figure 8.3.2-2: Corresponding TDL definitions (excerpt) for Figure 8.3.2-1 + +As an example consider the ASN.1 snippet shown in Figure 8.3.2-3 and the derived TDL data type model snippet showing in Figure 8.3.2-4. Corresponding 'StructuredDataType's are +created for both the 'Library' and 'Document' data types, as well as for the nested anonymous 'ContentType's, which are prefixed with 'Library___' and 'Document___' accordingly. +This would also apply to additional anonymous 'ContentType's nested further within the 'ContentType's. The 'dataType's for the corresponding 'Members are then set accordingly. +The derived 'DataType' 'Document___number' for the 'number' 'ContentType' of type 'CHOICE' is assigned a 'Constraint' with the 'union' 'ConstraintType'. Default values are not +present in the derived TDL data model, as TDL does not support default values for type definitions. However, a data type implementation in the target platform may include default +values. In TDL it is possible to define a data instance which provides default values which can be overridden when the data instance is used. Finally, source 'DataElementMapping's +are provided. + + + Library ::= SEQUENCE { + address UTF8String DEFAULT "Sophia-Antipolis, France", + documents SEQUENCE OF Document + } + + Document ::= SEQUENCE { + title UTF8String (SIZE(1..128)), + status ENUMERATED {draft, published, historical}, + authors SEQUENCE OF UTF8String, + number CHOICE { + es INTEGER, + eg INTEGER, + tr INTEGER + } OPTIONAL, + updated DATE + } + +Figure 8.3.2-3: ASN.1 example including nested anonymous data types + + Type Library ( + address of type UTF8String, + documents of type Library___documents + ); + Type Document ( + title of type UTF8String, + status of type Document___status , + authors of type Document___authors , + optional number of type Document___number , + updated of type Date + ); + Collection Library___documents of type Document; + Collection Document___authors of type UTF8String; + Type Document___number { union } ( + es of type Integer, + eg of type Integer , + tr of type Integer + ); + Enumerated Document___status { + Document___status draft; + Document___status published; + Document___status historical; + } + Use "example-1-library.asn" as SOURCE_MAPPING; + Map Library to "Library" in SOURCE_MAPPING as Library_MAPPING; + Map Document to "Document" in SOURCE_MAPPING as Document_MAPPING; + +Figure 8.3.2-4: Corresponding flattened TDL definitions (excerpt) for Figure 8.3.2-3 + + + + + + + +### Creating test objectives based on TDL meta-model + +6.2.7 1. **User scenario:** Use the core TDL syntax for specifying test objectives. The TOP tool editors for the standardised textual syntax in ETSI ES 203 119-8 [i.20] support the extended syntax for structured test objectives in ETSI ES 203 119-4 [i.16]. Details on how to use one of the TOP tool textual editors to define structured test objectives are described in **clause 6.7 of the present document**. + + +## Unified Definition of Test Puposes and Test Descriptions<a name="unified-definition-of-test-purposes-and-test-descriptions"></a> + +6.7 + +### Overview + +6.7.1 + +With the standardised textual notation for TDL, a new unified syntax was also introduced to allow specifying test purpose-like test descriptions. +Using this notation, users can start from a more abstract test purpose, and gradually add to the necessary details to reach executable specifications, +all while using the same concepts and constructs, without the need to switch and transform between different notations. To achieve this, users can start +with a template provided by the specialised syntax for 'Test Purpose Description's, which contains the necessary behaviour blocks and compartments, which +reflect the structure of a 'Structured Test Objective'. While the structure is near identical, the contents are specified as TDL 'Behaviour's rather than +TDL-TO 'EventOccurrence's. Thus, only the notation for 'Behaviour's is available and data and configuration definitions need to be available. However, +the configuration and behaviour specifications can be simplified at first, e.g. by using 'Inline Action's which can be refined into more specific +'Behaviour's such as 'Message's over time. + + Objective TO_MOVE_OBJECT_UNIFIED { + Description: "Move object to destination with unified test purpose description." + } + + Test Purpose Description TP_MOVE_OBJECT_UNIFIED { + Objective: TO_MOVE_OBJECT_UNIFIED + Configuration: basic + Expected behaviour + ensure that { + when { + perform action: "the Controller sends the starting position" + } then { + perform action: "the Object moves to the requested position" + } + } + } + +Figure 6.7.1-1: Unified definition of test purposes and test descriptions + + Test Purpose Description TP_MOVE_OBJECT_UNIFIED { + Objective: TO_MOVE_OBJECT_UNIFIED + Configuration: basic + Expected behaviour + ensure that { + when { + perform action: "the Controller sends the starting position" + controller::wifi sends "x=21, y=21" to object::wifi + } then { + perform action: "the Object moves to the requested position" + controller::wifi receives "x=21, y=21" from object::wifi + } + } + } + +Figure 6.7.1-2: Unified definition of test purposes and test descriptions with refinements + + Test Purpose Description TP_MOVE_OBJECT_UNIFIED { + Objective: TO_MOVE_OBJECT_UNIFIED + Configuration: basic + Expected behaviour + ensure that { + when { + perform action: "the Controller sends the starting position" + controller::wifi sends position (x = 21, y = 21) to object::wifi + } then { + perform action: "the Object moves to the requested position" + controller::wifi receives position (x = 21, y = 21) from object::wifi + } + } + } + +Figure 6.7.1-3: Unified definition of test purposes and test descriptions with further refinements + +As shown in Figure 6.7.1-1, the test objective is specified separately and referenced within the test purpose description. The test purpose description itself references a +test confederation and has the familiar expected behaviour pattern with the when and then blocks. For simplicity, stimulus and response can be initially specified as inline +actions. In this case, the action descriptions are expressed in plain text. At a later stage, the behaviour can be further refined, for example by using message exchanges, +but without yet defining and using any the data types, as shown in Figure 6.7.1-2. Eventually, when the data types are known and defined, they can be used as subsequent +refinement of the behaviour, as shown in Figure 6.7.1-3. Finally, they might even be defined as parameters, as the test purpose description gradually includes sufficient +detail to become executable. + + Objective: TO_MOVE_OBJECT_UNIFIED + Test Description TP_MOVE_OBJECT_UNIFIED uses basic { + @Expected behaviour + { + @when + { + perform action : "the Controller sends the starting position" + controller::wifi sends position ( x = 21, y = 21 ) to object::wifi + } + @then + { + perform action : "the Object moves to the requested position" + object::wifi sends position ( x = 21, y = 21 ) to controller::wifi + } + } + } + +Figure 6.7.1-4: Representation of Figure 6.7.1-3 using the generic test description syntax + +As the unified notation is simply using annotated blocks with specialised syntax, the same structure can also be expressed by using the generic syntax for test descriptions, +as shown in Figure 6.7.1-4. As the test purpose gradually becomes more detailed and more formalised, the annotated blocks could also eventually be dropped or extended with +further annotations. Using this approach, there is no need for transformations between different notations and different conceptual representations. Is that the same model +elements are used to express the full spectrum between more abstract and more concrete behaviour specifications. The level of detail can be refined over time as further +information becomes available. + + + + + + + + + <ol start=2> <li> <b>User scenario:</b> Templates for TO backed by TD, also for constituent parts.</li> </ol> -The TOP tool textual editors provides context sensitive templates for specification of structured test objectives. Further details on how to use templates are described in **clause 6.2.3. of the present document**. +The TOP tool textual editors provides context sensitive templates for specification of structured test objectives. Further details on how to use templates are described +in **clause 6.2.3. of the present document**. -<ol start=3> +<ol id="UC_TemplateLibraryForBasiConfigs" start=3> <li> <b>User scenario:</b> Template library for basic configurations and types.</li> </ol> The extended syntax for structured test objectives allows for more complete test purpose specification requiring, e.g. configuration specification. For these elements the TOP tool editors provide a template library is available from the template collection of the editors. -### 6.2.8 Generate TD from TO + + +### Generate TD from TO + +6.2.8 Lossless conversion of TDL test objectives to test descriptions is generally not possible due to conceptual differences between the formalisms. Some of the discrepancies may be overcome by annotating source (and target) models with appropriate information. @@ -251,22 +775,876 @@ As the conversion cannot be completely automated the process on how manual steps - Generation of TestDescription skeletons based on the EventSequences within the Structured Test Objective with references to it. - Importing of the base package and imported packages. -### 6.2.9 Export to Word +### Export to Word + +6.2.9 An essential use case for TDL is its application in producing test specifications, which requires the conversion of models to printable format such as Microsoft Word: 1. **User scenario:** Export TDL diagrams as images. + 2. **User scenario:** Export textual TDL test descriptions to be part of a Word document. + 3. **User scenario:** Export test objectives as parts of a Word document. -The TOP tool graphical editors provide a function to export the current diagram as an image in the format of the users choice. The function is available via the "camera" button shown in Figure 6.2.5-3. +The TOP tool graphical editors provide a function to export the current diagram as an image in the format of the users choice. The function is available via the "camera" button +shown in Figure 6.2.5-3. Textual TDL code can be copied from the TDL editors. The TOP tools provides a TDL-TO converter for Test Objectives to the Word table format. The TDL-TO converter supports both Structured Test Objectives defined in the example syntax and new the standardised notation. Template files allow to define the layout of the generated Word document. In **clause 5.3.3 in the present document** more information on the TDL-TO converter is defined. -### 6.2.10 Conversion to TTCN-3 +### Conversion to TTCN-3 + +6.2.10 1. **User scenario:** Conversion of TDL models to TTCN-3 test suites -The TOP tools support generation of TTCN-3 according to ES 203 119-6 [i.18]. To use this feature use the T3 button in the TDL tool bar or the TDL Menu item "Transform TDL model to TTCN-3" with the model to be transformed open. In **clause 6.6 of the present document** further information on the translation can be found. +The TOP tools support generation of TTCN-3 according to ES 203 119-6 [i.18]. To use this feature use the T3 button in the TDL tool bar or the TDL Menu item "Transform TDL model to TTCN-3" +with the model to be transformed open. In **clause 6.6 of the present document** further information on the translation can be found. + + + +## Defining Structured Test Objectives + +6.3 + +### Overview + +6.3.1 + +TDL Structured Test Objective (TDL-TO) may be used in several ways in the test developments process. The process illustrated in this clause is based on the +test development process defined in ETSI EG 203 130 (V1.1.1) [i.21]. The TDL-TO specifies a refinement of a 'TestObjective' and defines a formal description of +a test objective, that may be the basis for a transformation to a TDL test description. + +Developing a test specification from a base standard the first step after identifying the requirements to be tested, is to define the test objectives. +The entities and events to check the test objectives may then be specified and finally arguments of events (data values) and timing constraints may be +specified. The context in which the required behaviour executes is defined in the test configuration. + +Then the parts of a complete TDL-TO specification are: + +- Domain part. +- Data. +- Configuration. +- Test purpose behaviour. + +The domain, data, and configuration parts are common to a set of test purpose behaviour descriptions, while each test purpose behaviour is specific +to a single test objective. Test purpose behaviours are typically grouped based on different criteria, e.g. test for normal behaviour and test for +invalid behaviour to form a test suite structure. In TDL-TO this structuring is supported by grouping of test purpose behaviours. To further structure +a TDL-TO specification, the domain, data, configuration and test purpose behaviours may be also separated using the TDL package concept, to support +re-use of basic data definitions and configurations. + +### Domain part of TDL-TO + +6.3.1 + +The domain part of a TDL-TO specification defines the PICS elements, entities, and events relevant for a set of TDL TOs. + + Domain { + pics: + - NONE + ; + entities: + - EPC_PCRF_A + - EPC_PCRF_B + - EPC_PGW_A + - EPC_PGW_B + - EPC_MME_A + - EPC_MME_B + - IMS_HSS_A + - IMS_HSS_B + ; + events: + - receives + - sends + - triggers + - detachment + - invokes + - create_session_request + - delete_session_request + - termination_SIP_signalling_session + ; + +Figure 6.3.1-1: TDL-TO Domain example + +In Figure 6.3.1-1 an example of a domain specification is shown. The example illustrates the definition of a single PICS value. The example also contains +the definition of a list of entities that can be referenced in test configuration definitions and in event occurrences in the behaviour part. +Finally, the example shows definition of events that may be referenced in the event occurrence parts of TDL-TO behaviour descriptions. + +### Data definitions + +6.3.2 + +In TDL-TO data may be used in the behaviour part without explicit declaration. However, in the data part of the TDLTO definition structured data types +and structured data values may be specified. + + Data { + type DiameterMessage; + } + +Figure 6.3.2-1: TDL-TO data definition example + +Figure 6.3.2-1 illustrates the specification of a single data type. + +### Configuration + +6.3.3 + +The configurations part of the TDL-TO specification defines by reference the context in which a TDL-TO is to be executed. The Configuration part +may contain any number of test configuration as needed for the TDL-TOs to which it may be associated. + + Configuration { + Interface Type defaultGT accepts DiameterMessage; + Component Type DiameterComp with gate g of type defaultGT; + + Test Configuration CF_VxLTE_INT + containing + Tester component EPC_PGW_A of type DiameterComp + Tester component EPC_PCRF_A of type DiameterComp + SUT component IMS_A of type DiameterComp + connection between EPC_PGW_A.g and EPC_PCRF_A.g + ; + + Test Configuration CF_VxLTE_RMI + containing + Tester component EPC_PCRF_A of type DiameterComp + Tester component EPC_PCRF_B of type DiameterComp + SUT component IMS_A of type DiameterComp + connection between EPC_PCRF_A.g and EPC_PCRF_A.g + ; + } + +Figure 6.3.3-1: TDL-TO configuration example + +The configuration part in Figure 6.3.3-1 shows the definition of two test configurations "CF_VxLTE_INT" and "CF_VxLTE_RMI". Both test configurations are +based on the same component type "DiameterComp" and gate type "defaultGT". The 'defaultGT' is specified to accept instances of the datatype 'DiameterMessage'. +The test configurations also specify the role of involved entities, as tester or SUT component. + +### Test purpose behaviour + +6.3.4 + +The test behaviour defines the behaviour of a TDL-TO to check a single test objective in terms of a sequence of event occurrences in a referenced test +configuration and with data values and timing constraints. + + Package TP_RX { + import all from Sip_Common; + import all from Diameter_Common; + + Test Purpose { + TP Id TP_RX_PCSCF_STR_05 + //TP_EPC_7002_21 from ETSI TS 103 029 V5.1.1 + Test objective "Verify that IUT after reception of 486 response sends an ST-Request at originating leg." + + Reference + "ETSI TS 129 214 (V15.6.0) [i.27], clauses 4.4.4" + + Config Id CF_VxLTE_INT + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A + } + + Expected behaviour + ensure that { + when { + the IMS_P_CSCF_A entity receives a 486_Response_INVITE + from the IMS_S_CSCF_A entity + } + then { + the IMS_P_CSCF_A entity sends the STR containing + Session_Id_AVP; + to the EPC_PCRF_A entity + } + } + } + } + +Figure 6.3.4-1: TDL-TO behaviour example + +A test purpose behaviour example is shown in Figure 6.2.4-1. The test purpose behaviour references the other parts of a TDL-TO, that is the domain, +data and configuration part, that in this example are all imported from the two packages 'SIP_Common' and 'Diameter_Common'. + +A test purpose is assigned a unique id often reflecting its association within a test suite structure. In this example indicating in the TP name the +interface 'RX', the component 'PCSCF', and the message 'STR' relevant for this TP. + +The TDL-TO test purpose allows a reference to the base standard from where the requirement and test objective is derived. The test objective may can be +defined as an informal text string in the field "Test objective". The condition for the applying the test purpose in a test execution can be specified +in "PICS selection" field. The PICS selection expression may consist of a list of PICS references combined by logical operators. + +The test configuration 'CF_VxLTE_INT' referenced in the example specifies the test configuration used in the test behaviour specification part. + +The event occurrence sequences of the TDL-TO constitutes the core of the test behaviour part. It is split in three optional parts, the initial condition, +the expected behaviour, and final conditions. The example illustrates an initial part where the 'UE_A' and 'IMS_A' entities are brought into the state required +to check the expected behaviour. The events 'isAttachedTo' and 'isRegisteredTo' may be abstract operations which may often be used in the initial phase +of the TDL TO specification, to allow for further refinements in later phases. In the Expected behaviour part the conditional event occurrence sequences +are specified that is assigned the verdict of the test purpose, explicitly or implicitly as is the case in this example. The event occurrences in the example +illustrates the use of undeclared data instances '486_Response_INVITE' and 'STR', where the latter is further specified to contain the data value +'Session_Id_AVP'. In case the test purpose needs to perform operations after the test objective is achieved, such behaviour may be specified in the final +conditions part. + +## Transforming Test Objectives into Test Descriptions + +6.4 + +### Overview + +6.4.1 + +Structured test objectives can be used as a starting point for test descriptions or even for executable test cases. As the abstraction gap between structured +tests objectives and executable test cases is often too large, it is recommended to refine the structured test objectives into test descriptions in a stepwise +manner, where at each step there is a smaller abstraction gap in comparison to the preceding step. + +While structured test objectives provide many building blocks for a test description, structured test objectives can abstract away many of the important details +that are essential for the specification of a test description. Some of the details can be inferred easily, while others allow for different interpretations. +In order to narrow down the spectrum of possible interpretations, it is recommended that guidelines and conventions are defined in advance and enforced during +the specification of the structured test objectives. This can streamline the refinement process and pave the way for standardized refinement of structured test +objectives into test descriptions. + +The examples are provided in the textual representation for brevity and convenience. The graphical representation can be used instead as well. + +### Data + +6.4.2 + +TDL-TO provides different means for the use of data within a 'StructuredTestObjective'. In addition to the use of defined 'DataIntances' and 'SpecialValueUse's, +TDL-TO provides means for the specification of literal 'Value's inline, within a 'StructuredTestObjective'. + +The use of defined 'DataInstance's and 'SpecialValueUse's does not require particular handling as the same 'DataInstance's can be used in the resulting +'TestDescription's. While the concrete syntax may be different, the underlying model elements are the same. The corresponding 'DataType's may need to be +taken into account if a 'TestConfiguration' needs to be inferred from the 'StructuredTestObjective'. Additionally, any qualifying 'Comment's used to describe +further details related to the context of its usage may need to be interpreted according to the existing conventions (if defined). The example in Figure 6.4.2-1 +illustrates the definition of 'DataType's and 'DataInstance's in TDL-TO. The corresponding data definitions in the textual representation of TDL are shown +in Figure 6.4.2-2. Apart from minor syntactical differences, the underlying model structures are the same. In fact, the TOP tools enable cross referencing between +both notations so that data definitions in TDL can be reused in TDL-TO and vice-versa. + + Package data { + Data { + type float; + type position with x of type float, y of type float; + float -22; + float -21; + position startingPosition containing x indicating value -21; + } + } + +Figure 6.4.2-1: Predefined data example in TDL-TO + + Package data { + Type float ; + Type position ( x of type float , y of type float ) ; + float -22 ; + float -21 ; + position startingPosition ( x = -21 ) ; + } + +Figure 6.4.2-2: Corresponding data in TDL + +TDL-TO permits the use of 'LiteralValue's as a flexible way for specifying the arguments of 'EventOccurrenceSpecification's. This can be useful, especially +at an early stage, where the data structures and contents are not fixed yet. 'LiteralValue's may contain descriptions of the structure and contents of the +'LiteralValue'. Additionally, 'LiteralValue's may be referenced within the same 'StructuredTestObjective'. Any qualifying 'Comment's used to describe further +details related to the context of its usage may need to be interpreted according to the existing conventions (if defined). + +In order to transform 'LiteralValue's, first corresponding 'DataType's and 'DataInstance's need to be inferred. Consider the following example illustrated +in Figure 6.4.2-3, showing a 'LiteralValue' specification within an 'EventOccurrenceSpecification'. The basic structure is the same, but there are no predefined +'DataType's and 'DataInstance's. The inferred 'DataType's and 'DataInstance's are illustrated in Figure 6.4.2-4. The inferred 'DataElement's are prefixed +with 'inferred_' for illustrative purposes. The contextual information may provide hints for more appropriate naming. Apart from the inference, type compatibility +and merging needs to be considered. In this example, it is assumed that 'x' and 'y' are of the same type, otherwise distinct 'DataType's need to be inferred +as well. If a 'StructuredDataInstance' is used only once, it is also possible to specify it as inline 'DataInstanceUse' in TDL. + + +<figure> +<code> + when { + the Controller entity sends the start position containing + x indicating value 22, + y indicating value 21 + ; + } then { + the Object entity moves_to the received start position + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.2-3: Literal data in TDL-TO</b></figcaption> +</figure> + + +<figure> +<code> + Package inferred_data { + Type inferred_simple ; + Type inferred_position ( x of type inferred_simple, y of type inferred_simple) ; + inferred_simple 22 ; + inferred_simple 21 ; + inferred_position inferred_start_position ( x = 22, y = 21 ) ; + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.2-4: Inferred literal data in TDL</b></figcaption> +</figure> + + +In case existing 'DataInstance's are used and corresponding 'DataMapping's exist, these can be reused as well. Otherwise, the 'DataMapping's can be +defined as part of the refinement process for both existing data specifications and data specifications inferred from inline literal data specifications. + +### Configurations + +6.4.3 + +Similar to the use of data, TDL-TO provides different means for the specification of the entities related to an 'EventOccurrenceSpecification'. Abstract +entities can be useful, especially at an early stage, where the 'TestConfiguration's are not fixed yet. If 'TestConfiguration's are already specified, +the corresponding 'ComponentInstances' can be used in 'EventOccurrenceSpecification's. An example for a simple 'TestConfiguration' and corresponding +'ComponentType's and 'GateType's specified in TDL-TO is shown in Figure 6.4.3-1. The corresponding definitions in the textual representation of TDL are +showing in Figure 6.4.3-2. The use of defined 'ComponentInstance's does not require particular handling as the same 'TestConfiguration's can be used in +the resulting 'TestDescription's. Apart from minor syntactical differences, the underlying model structures are the same. The TOP tools enable +cross referencing between both notations so that definitions related to 'TestConfiguration's in TDL can be reused in TDL-TO. + + +<figure> +<code> + Package base_configuration { + import all from data; + Configuration { + Interface Type wireless accepts position; + Component Type unit with gate wifi of type wireless; + Test Configuration basic containing + Tester component controller of type unit + SUT component object of type unit + connection between controller.wifi and object.wifi + ; + } + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.3-1: Predefined configuration example in TDL-TO</b></figcaption> +</figure> + + +<figure> +<code> + Package base_configuration { + Import all from data ; + Gate Type wireless accepts position ; + Component Type unit having { + gate wifi of type wireless ; + } + Test Configuration basic { + create Tester controller of type unit ; + create SUT object of type unit ; + connect controller.wifi to object.wifi ; + } + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.3-2: Corresponding configuration in TDL</b></figcaption> +</figure> + + +The use of abstract entities provides more flexibility early on, however, it requires clear guidelines and conventions for the interpretation of the abstract +entities. An 'Entity' may be transformed into a 'ComponentInstance' or a 'GateInstance' depending on the intended interpretation. Hints and conventions regarding +the desired interpretation of an 'Entity' can be provided in the 'Entity' definition, in the context of its use, or outside the TDL-TO specification. +Considering the example illustrated in Figure 6.4.2-3, it can be inferred that the 'Controller' entity and the 'Object' entity have some means to interact without +this being explicitly specified. Figure 6.4.3-3 illustrates one possible 'TestConfiguration' which can be inferred from the behaviour specification in Figure 6.4.2-3. +First, one or more 'GateType's need to be inferred, then the corresponding 'ComponentType's and their 'GateInstance's. For simplicity, it is assumed that 'Controller' +and 'Object' are of the same 'ComponentType', conventions may be put in place to indicate that. Alternatively, subsequent refinement may further differentiate the +'ComponentType's where appropriate. Finally, the 'TestConfiguration' is inferred, including assigning 'ComponentInstance's with corresponding roles, as well as +'Connection's between the inferred 'GateInstance's. In this example, the roles and 'Connections' are inferred based on the 'EventOccurrenceSpecification's and their +context (e.g. when/then clauses, etc.). Similar to 'DataType's, compatible inferred 'TestConfiguration's, 'ComponentType's, and 'GateType's need to be identified and +merged where applicable to avoid unnecessary duplication. + + +<figure> +<code> + Package inferred_configuration { + Import all from data + Gate Type inferred_gate_type accepts inferred_position ; + Component Type inferred_component_type having { + gate inferred_gate of type inferred_gate_type ; + } + Test Configuration inferred_move_object { + create Tester Controller of type inferred_component_type ; + create SUT Object of type inferred_component_type ; + connect Controller.inferred_gate to Object.inferred_gate ; + } + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.3-3: Inferred configuration in TDL</b></figcaption> +</figure> + + + +### Behaviour + +6.4.4 + +Initial conditions, expected behaviour, and final conditions in TDL-TO are expressed by means of 'EventSequences'. 'EventSequences' are comprised of +'EventOccurrenceSpecification's. This provides simple generic high-level construct with loose semantics indicated by the referenced 'Event'. The +interpretation of the 'Event' can be indicated in the domain description and/or refined in the 'EventOccurrenceSpecification'. It is recommended to establish +well-defined specification conventions in order to ensure consistent interpretation. TDL 'TestDescriptions' require more differentiated specification of +behaviour, distinguishing between 'Interaction's, 'Action's, and other kinds of 'Behaviour's. While some assumptions regarding the mapping of 'Event's to +'AtomicBehaviour's can be made intuitively, it is recommended to define explicit conventions in order to ensure consistent interpretation and transformation. +The example in Figure 6.4.4 1 illustrates a minimal 'StructuredTestObjective' containing only the specification of the expected behaviour. Assuming the data +and configuration related information has been inferred as illustrated in the previous examples, the corresponding 'TestDescription' inferred from the +'StructuredTestObjective' is shown in Figure 6.4.4-2. In this scenario, the first 'EventOcurrenceSpecification' in the 'whenClause' is interpreted as an +'Interaction' between the 'Controller' and the 'Object', the latter is assumed to be the implicit opposite entity in the 'EventOcurrenceSpecification'. +It is recommended to make opposite entities explicit whenever possible. The second 'EventOcurrenceSpecification' in the 'thenClause' is interpreted as an +'ActionReference'. In this case, it is also necessary to infer a definition for the action. + + +<figure> +<code> + Test Purpose { + TP Id TP_MOVE_OBJECT_LITERAL + Test objective "Move object to destination with literal values." + Expected behaviour + ensure that { + when { + the Controller entity sends the start position containing + x indicating value 22, + y indicating value 21 + ; + } then { + the Object entity moves_to the received start position + } + } + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.4-1: Expected behaviour specification in TDL-TO</b></figcaption> +</figure> + + +<figure> +<code> + Action move_to (position of type inferred_position); + Test Description TD_MOVE_OBJECT_LITERAL uses configuration inferred_move_object { + Controller.inferred_gate sends inferred_start_position to Object.inferred_gate; + perform action move_to (position = inferred_start_position) on Object; + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.4-2: Corresponding behaviour specification in TDL</b></figcaption> +</figure> + +If desired, especially when 'StructuredDataInstance's are used only once, it is also possible to specify them as inline 'DataInstanceUse's in TDL. The resulting +'TestDescription' for the example in Figure 6.4.4-1 is shown in Figure 6.4.4 3, where instead of the 'inferred_start_position' 'DataInstance', the corresponding +data is specified inline. Since the 'DataInstance' is used twice in this case, it results in some duplication. + + +<figure> +<code> + Action move_to (position of type inferred_position); + Test Description TD_MOVE_OBJECT_LITERAL_INLINE uses configuration inferred_move_object { + Controller.inferred_gate sends new inferred_position (x = 22, y = 21) to Object.inferred_gate; + perform action move_to (position = new inferred_position (x = 22, y = 21)) on Object; + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.4-3: Corresponding behaviour specification in TDL using inline data</b></figcaption> +</figure> + + +The steps for the derivation of 'TestDescription's from 'StructuredTestObjective's can be translated to other notations as well. Fundamentally, the process +remains the same, starting with the data definitions, through the test configurations, and finally the behaviour specifications. The above guidelines can be +used as a template for deriving 'TestDescription's from other kinds of documents and artifacts as a starting point. + +### 6.4.5 Transformation Conventions and Assumptions + +The transformation of 'LiteralValue's involves the following conventions: + + - If the 'Content' of the 'LiteralValue' is empty, the 'LiteralValue' is mapped to a 'SimpleDataType' with a 'name' corresponding to the 'name' of the 'LiteralValue'. + If qualifier 'Comment's are present, a 'SimpleDataInstance' is created with a 'name' corresponding to the concatenated 'bodies of the qualifier 'Comment's. + Alternatively, the 'name' of the 'DataType' can also be prefixed with the concatenated 'bodies of the qualifier 'Comment's. If the corresponding 'DataType' or + 'DataInstance' exists, no action is taken. + + - If the 'Content' of the 'LiteralValue' is not empty, the 'LiteralValue' is mapped to a 'StructuredDataType' with a 'name' corresponding to the 'name' of the + 'LiteralValue'. If qualifier 'Comments are present, a 'StructuredDataInstance' is created with a 'name' corresponding to the concatenated 'bodies of the qualifier + 'Comment's. Alternatively, the 'name' of the 'DataType' can also be prefixed with the concatenated 'bodies of the qualifier 'Comment's. If the corresponding + 'DataType' or 'DataInstance' exists, no action is taken. + + - Each 'Content' element of the 'LiteralValue' is mapped to a 'Member' within the corresponding 'StructuredDataType' with a 'name' corresponding to the 'name' of + the 'Content'. If a 'Member' with the same 'name' exists, no action is taken. The 'DataType' of the 'Member' corresponds to: + + - A new 'DataType' corresponding to the 'Content' with a 'name' prefixed with the 'name' of the containing 'StructuredDataType' in case a 'Content' + is directly contained within the 'Content'. + + - A (default) 'SimpleDataType' corresponding to the 'LiteralValue' in case a 'LiteralValue' is directly contained within the 'Content'. + + - The 'DataType' corresponding to the 'dataType' of the 'DataInstanceUse' in case a 'DataReference' is directly contained within the 'Content'. + + - Each nested 'Content' or 'LiteralValue' element is transformed according to the conventions above. + +For example, as shown in Figure 6.4.5-1 and Figure 6.4.5-3, for the 'EventOccurrenceSpecification' taken from [i.37], a corresponding 'StructuredDataType' is +created for both the 'LiteralValue' 'message' and for the 'payload' 'Content' of the 'message'. The 'dataType' for the 'payload' 'Member' is then set accordingly. +Instead, since the 'value's for the 'filterLength' and 'topic_filter' Content's correspond to 'DataReference's to defined 'DataInstance's, as shown in Figure 6.4.5-2, +the 'dataType's for the corresponding 'Member's in the derived 'SUBSCRIBE_message_payload' 'DataType' are: set to the 'dataType's of the referenced 'DataInstance's. + + +<figure> +<code> + the IUT entity receives a SUBSCRIBE message containing + payload containing + filterLength corresponding to TOPIC_FILTER_LEN_SEC_CVE_01, + topic_filter corresponding to TOPIC_FILTER_LEN_SEC_CVE_01;; + from the ATTACKER_CLIENT entity +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.5-1: 'LiteralValue's and 'DataReference's example (from [i.37])</b></figcaption> +</figure> + + +<figure> +<code> + Data { + UTF8String TOPIC_FILTER_SEC_CVE_01; // topic filter used in TP_MQTT_BROKER_SEC_CVE_001 + Int16 TOPIC_FILTER_LEN_SEC_CVE_01; // corresponds to lengthof(TOPIC_FILTER_SEC_CVE_01) + 1 + } +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.5-2: Corresponding 'DataInstance' definitions (from [i.37])</b></figcaption> +</figure> + +<figure> +<code> + Type SUBSCRIBE_message ( + payload of type SUBSCRIBE_message_payload + ) ; + Type SUBSCRIBE_message_payload ( + filterLength of type Int16 , + topic_filter of type UTF8String + ) ; +</code> +<figcaption style="text-align:center"> <b>Figure 6.4.5-3: Resulting 'DataType' specifications in TDL</b></figcaption> +</figure> + +For the transformation of 'EventOccurrence's into 'Behaviour's, it is necessary to first derive the corresponding 'TestConfiguration' if no 'TestConfiguration' +is specified for the 'StructuredTestObjective'. The derivation of the 'TestConfiguration' involves the following conventions: + + - Each 'EntityReference' is transformed a 'ComponentType' and a 'GateType', where the 'GateType' accepts the 'DataType's resulting from the transformation of + the 'LiteralValue's specified as arguments of the 'EventOccurrence'. The 'ComponentType' contains a 'GateInstance' of the transformed 'GateType'. If the + 'ComponentType', 'GateType', or 'GateInstance' already exists, no action is taken. + + - A 'TestConfiguration' is constructed with 'ComponentInstance's of the 'ComponentType's resulting from the transformation above. It is recommended to use naming + conventions, annotations, or other conventions to indicate the roles of the 'ComponentInstance's, otherwise the roles are set to a default value of 'Tester' + or 'SUT' and need to be adjusted afterwards. While opposite 'EntityReference's are optional, it is recommended that they are explicitly specified, otherwise an + implicit 'Tester' 'ComponentInstance' needs to be assumed and constructed. If the assumption of an implicit 'Tester' does not hold, the transformed 'TestConfiguration' + may need to be adjusted. + + - Within the 'TestConfiguration', 'Connection's need to be created between interacting 'ComponentInstance's for every 'EventOccurrence'. If a 'Connection' already + exists, no action is taken. + + - Conventions or comparison between 'TestConfiguration's are recommended to avoid duplicate identical configurations. + Once a suitable 'TestConfiguration' is derived, 'EventOccurrence's can be transformed into 'Behaviour's. There can be different strategies, ranging from + transforming 'EventOccurrence's into detailed 'Interaction's, to transforming 'EventOccurrence's into abstract 'TestDescription' skeletons as containers for + manually specified 'Behaviour's. This may depend on the general test specification process and/or the level of detail of the structured test objective specifications. + Assuming detailed 'Message's as the target, the following conventions can be applied: + + - A 'TestDescription' using the 'TestConfiguration' resulting from the transformation above is constructed as a container for the 'Behaviour's. For traceability and + in general, it is recommended that the 'TestDescription' references the 'StructuredTestObjective' as its 'testObjective'. + + - In the simplest case, the 'TestDescription' contains one 'CompoundBehaviour' which contains the individual 'Behaviour's corresponding to the 'EventOccurrence's. + + - If desired, the 'CompoundBehaviour' may contain further 'CompoundBehaviour's corresponding to the structural blocks of the 'StructuredTestObjective', e.g. + "Initial conditions", "Expected behaviour", "when/then"-clauses, etc., so that the resulting 'TestDescription' more closely reflects the structure of the corresponding + 'StructuredTestObjective'. The additional 'CompoundBehaviour's may be annotated to clearly specify their purpose and potentially also influence how tools represent or + treat the individual 'Behaviour's within the additional 'CompoundBehaviour's. + + - The individual 'EventOccurrence's are transformed into corresponding 'Behaviour's. In the absence of further information, it needs to be specified what the default + 'Behaviour' should be. In general, suitable conventions and 'Annotation's are recommended to ensure easier transformation. Assuming that the target 'Behaviour' is a + 'Message', a 'Message' is constructed with the source and target 'GateReference's corresponding to the 'EntityReference's of the 'EventOccurrence'. The assumptions + for the transformation of 'TestConfiguration's apply in this case as well, particularly when no opposite 'EntityReference' is specified. A 'DataUse' is then constructed + as the argument of the 'Message' based on the 'LiteralValue' specified as the argument of the 'EventOccurrence' and the 'DataType's resulting from the transformation above. + + + +## Defining Test Descriptions + +6.5 + +### Overview + +6.5.1 + +In the absence of structured test objectives or other documents which can serve as a starting point, test descriptions can be defined from scratch. The fundamental steps +in the process involve the definition of data first, then configurations, finally the behaviour. The following examples illustrate the different steps by means of the +graphical syntax for TDL with the help of the graphical editor. + +### 6.5.2 Data and Configuration + +Since the 'Generic TDL' diagram accommodates both the specification of data- and configuration-related elements, both are contemplated together. If necessary, separate +diagrams can be created instead to capture only data-related or configuration-related elements separately. In the example shown in Figure 6.5.2-1 the one diagram approach +is shown for conciseness and also to show a complete overview of all relevant elements in one place. On the top-left side the predefined simple data types are shown. +In the bottom part the verdict-related types and instances are shown. On the right side behaviour-related definitions for an 'Action' and a 'TestDescription' are shown. +Finally, in the middle part, the data types, data instances, as well as component and gate types and the test configuration are shown. The graphical editor does provide +some more flexibility with regard to the order of creation of the different elements. However, the fundamental order remains the same - data, configuration, behaviour. + + + + + +Figure 6.5.2-1: Data and configuration specification in TDL using the graphical editor + +### Test Behaviour and Time + +6.5.3 + +The 'TDL Behaviour' diagram allows the visualization and specification of the behaviour of an individual 'TestDescription'. While the 'TestDescription' itself is +defined within a 'Generic TDL' diagram, including its name, parameters, test configuration, and test objectives, the specifics of the behaviour are shown in a separate +'TDL Behaviour' diagram. The example shown in Figure 6.5.3-1 illustrates the behaviour of the 'TD_MOVE_OBJECT' 'TestDescription'. In addition to the basic behaviour, +temporal properties of the behaviour are illustrated with the help of a 'TimeLabel' and a 'TimeConstraint'. + +  + +Figure 6.5.3-1: Test behaviour in TDL using the graphical editor + +'TestDescriptionReference's enable the reuse of behaviour definitions. While in some other high-level test specification languages the use of so-called "data tables" +has been gaining some popularity, TDL provides more sophisticated facilities both for the definition of data and for the reuse of behaviour. A parameterized +'TestDescription' can be invoked multiple times with different data instances as shown in the example in Figure 6.5.3-2. In the 'TC_MOVE_AROUND' 'TestDescription', +the 'TC_MOVE_TO' 'TestDescription is invoked four times to describe a test sequence where the 'Object' needs to move to four positions. + + Test Description TC_MOVE_TO (target_position of type inferred_position) + uses configuration inferred_move_object { + Controller.inferred_gate sends parameter target_position to Object.inferred_gate; + perform action move_to (position = parameter target_position) on Object; + } + + Test Description TC_MOVE_AROUND + uses configuration inferred_move_object { + execute TC_MOVE_TO (target_position = start_position); + execute TC_MOVE_TO (target_position = open_position); + execute TC_MOVE_TO (target_position = closed_position); + execute TC_MOVE_TO (target_position = end_position); + } + +Figure 6.5.3-2: Test behaviour reuse in TDL using test description references + + +## Transforming Test Descriptions into TTCN-3 Test Cases + +6.6 + +### Overview + +6.6.1 + +One way to obtain executable test cases from TDL is to transform the test descriptions into TTCN-3 code. The standardized mapping to TTCN-3 in ETSI ES 203 119-6 [i.18] +specifies in great detail all the peculiarities that need to be considered for the derivation of executable test cases in TTCN-3 from TDL. The basic steps remain fundamentally +the same, involve transforming the data definitions, the configuration-related definitions, as well as the behaviour specifications. All the transformations have to take +into account the semantic gaps between both languages, as well as the intrinsic differences in the levels of abstraction. The standardized mapping is defined for locally +ordered test descriptions only. Thus, if totally ordered test descriptions are the starting point, these first need to be transformed into locally ordered test descriptions, +keeping in mind the differences in semantics and the additional constraints that are imposed by locally ordered test descriptions. The prototypical implementation of the +mapping within the TOP provides automated translation for the essential parts necessary for the transformation of TDL 'TestDescription's to TTCN-3 test cases. + +### Data + +6.6.2 + +To illustrate the mapping of the data-related elements, consider the example in Figure 6.6.2-1. It illustrates different data definitions and data uses. The corresponding +equivalents in TTCN-3 are shown in Figure 6.6.2-2. The mappings for data are pretty straightforward in this example. Although the use of data mappings is recommended, +in which case the respective mapping targets are used instead, it is also possible to generate basic data definitions in case no data mappings are present. +Annotations can be used to override assumptions. + + //data types + Type SESSIONS (id1 of type Integer, id2 of type Integer); + Type MSG (ses of type SESSIONS, content of type String); + + //data instances + SESSIONS s1(id1 = 1, id2 = 2); + SESSIONS s2(id1 = 11, id2 = 22); + MSG msg1(ses = s1, content = m1); + + //value data instances + SESSIONS c_s1(id1 = 1, id2 = 2) with {VALUE;}; + MSG c1(ses = s1, content = c1) with {VALUE;}; + + Component Type ct having { + //variables + variable v1 of type MSG with {VALUE;}; + variable v2 of type MSG; + gate g of type gt; + } + +Figure 6.6.2-1: Test data example in TDL + + //data types + type record SESSIONS { + integer id1, + integer id2 + } + type record MSG { + SESSIONS ses, + charstring content + } + + //templates + template SESSIONS s1 := {id1:=1, id2:=2} + template SESSIONS s2 := {id1:=11, id2:=22} + template MSG msg1 := {ses := s1, content := "m1"} + + //value -> constant + const SESSIONS c_s1 := {id1:=1, id2:=2} + const MSG c1 := {ses := c_s1, content := "c1"} + + type component ct { + //variables + var MSG v1; + var template MSG v2; + port gt g; + } + +Figure 6.6.2-2: Test data equivalents for Figure 6.6.2-1 in TTCN-3 + + +### Configuration + +6.6.3 + +With regard to test configurations, there are several concerns to address. TTCN-3 provides means for the dynamic instantiation and management of test configurations. +The essential parts of a configuration include the main test component which plays a special role, zero or more parallel test components, as well as a unified system +interface. There is a distinction between connecting and mapping ports and there are some restrictions with regard to these. In TDL the test configuration is defined +upfront and remains static. TDL also provides a holistic view where the SUT can be decomposed into multiple interconnected components. The example in Figure 6.6.3-1 +illustrates a minimal test configuration in TDL. The corresponding mapping in TTCN-3 is illustrated in Figure 6.6.3-2. A unified system interface needs to be inferred +in case there are multiple SUT components. The steps for instantiating and mapping/connecting the components are encapsulated in a function. + + Gate Type defaultGT accepts + ACK, PDU, PDCCH, C_RNTI, CONFIGURATION ; + + Component Type defaultCT having { + gate g of type defaultGT; + } + + Test Configuration defaultTC { + create Tester SS of type defaultCT; + create SUT UE of type defaultCT ; + connect UE.g to SS.g ; + } + +Figure 6.6.3-1: Test configuration example in TDL + + type port defaultGT_to_map message { + //this is a port type for SUT-Tester connections + inout charstring, PDCCH /* ACK, PDU, C_RNTI, CONFIGURATION ; */ + } + + type port defaultGT_to_connect message { + //this is a port type for Tester-Tester connections + inout charstring, PDCCH /* ACK, PDU, C_RNTI, CONFIGURATION ; */ + } + + type component MTC_CT { + //component type for MTC + //variable for the PTC(s) --TESTER component(s) in TDL + var defaultCT TESTER_SS; + } + + type component defaultCT { + port defaultGT_to_map g_to_map; + port defaultGT_to_connect g_to_connect; + } + + function defaultTC() runs on MTC_CT { + // Test Configuration defaultTC, mappings, connections + TESTER_SS := defaultCT.create; + map (TESTER_SS:g_to_map,system:g_to_map); + } + +Figure 6.6.3-2: Test configuration related equivalents for Figure 6.6.3-1 in TTCN-3 + +### Behaviour + +6.6.4 + +In terms of behaviour, TTCN-3 and TDL also have different assumptions. In TTCN-3, the focus is on the test system view, where all components execute their behaviour +concurrently and independently unless there is explicit synchronization among them. TDL aims to provide a global view with the possibility to specify both locally and +totally ordered behaviour, with explicit or implicit synchronization respectively. For the standardized mapping to TTCN-3 only the local ordering is taken into consideration. +User-defined mappings may also tackle the totally ordered behaviour. In the example shown in Figure 6.6.4-1 a locally ordered 'TestDescription' is illustrated. The +corresponding mappings in TTTCN-3 are shown in Figures 6.6.4-2, 6.6.4-3, and 6.6.4-4. First, the default handling needs to be taken care of. This involves the definition +of altsteps to handle deviations from the specified behaviour as well as quiescence, which is illustrated in Figure 6.6.4-2. Then the actual test behaviour from the +test system's point of view is translated to a function as illustrated in Figure 6.6.4-3. Finally, in Figure 6.6.4-4 a test case is defined which takes care of activating +the default behaviour, instantiating the test configuration, as well as starting the actual test behaviour. + + Test Description Implementation TD_7_1_3_1 + uses configuration defaultTC { + + SS.g sends pdcch (c_rnti=ue) to UE.g; + SS.g sends mac_pdu to UE.g; + UE.g sends harq_ack to SS.g with { + test objectives : TP1 ; + }; + + set verdict to PASS ; + SS.g sends pdcch (c_rnti=unknown) to UE.g; + SS.g sends mac_pdu to UE.g; + + alternatively { + UE.g sends harq_ack to SS.g ; + set verdict to FAIL ; + } or { + gate SS.g is quiet for five ; + set verdict to PASS ; + } with { + test objectives : TP2 ; + } + } + +Figure 6.6.4-1: Test behaviour example in TDL + + altstep to_handle_deviations_from_TDL_description_AS () { + [] any port.receive { + setverdict(fail); + mtc.stop; + } + //if nothing happens, a timer is started + //before every receive instruction + //and the timer is here + //or we can leave the timeout for + //the execute instruction called with the optional + //timer parameter - but in this case + //the final verdict will be 'error' + } + + altstep quiescence_handler_AS (timer quiescence) { + //for all quiescence that is not connected to a gate + [] any port.receive{ + setverdict(fail); + mtc.stop; + } + [] quiescence.timeout { + setverdict(pass); + } + } +Figure 6.6.4-2: Required altstep definitions in TTCN-3 + + function behaviourOfTESTER_SS() runs on defaultCT { + timer quiescence; + activate(to_handle_deviations_from_TDL_description_AS()); + + g_to_map.send(modifies pdcch := {c_rnti := ue}) + g_to_map.send(mac_pdu); + g_to_map.receive(harq_ack); + setverdict(pass); + /*Test Objective Statisfied: TP2 */ + + g_to_map.send(modifies pdcch := {c_rnti := unknown}); + g_to_map.send(mac_pdu); + + quiescence.start(five); + alt{ + [] g_to_map.receive(harq_ack){ + setverdict(fail); + } + [] quiescence_handler_AS(quiescence); + /*Test Objective Statisfied: TP2 */ + } + } + +Figure 6.6.4-3: Behaviour mapping for Figure 6.6.4-1 in TTCN-3 + + testcase TD_7_1_3_1() runs on MTC_CT + system defaultCT + { + activate(to_handle_deviations_from_TDL_description_AS()); + defaultTC(); + TESTER_SS.start(behaviourOfTESTER_SS()); + all component.done; + } + +Figure 6.6.4-4: Test case integrating all steps for mapping Figure 6.6.4-1 to TTCN-3 + + + + diff --git a/images/DataAndConfSpecInTdlGr.png b/images/DataAndConfSpecInTdlGr.png new file mode 100644 index 0000000000000000000000000000000000000000..f819dfe8368fda1088438535ca0a0f316a59b6e8 GIT binary patch literal 111492 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 Wus>0``hMa8kdUXVpUXO@geCwh5x6!0 literal 0 HcmV?d00001 diff --git a/images/TestBehaviourInTdlInGrFormat.png b/images/TestBehaviourInTdlInGrFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..689ab4d0c0d5d5e0ea5156e371e318957662ffc5 GIT binary patch literal 34593 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 literal 0 HcmV?d00001 -- GitLab