openttcn tester user guide

131
OpenTTCN Tester 2012 User Guide VERSION 4.2.5 July 6, 2012

Upload: pragyan-kumar-patro

Post on 14-Apr-2015

96 views

Category:

Documents


1 download

DESCRIPTION

OpenTTCN Tester 2012 is a TTCN-3 test development and execution package built by integrating popular OpenTTCN Tester product and widely used Eclipse framework providing an easy to use TTCN-3 editing, compilation, and execution environment.

TRANSCRIPT

Page 1: OpenTTCN Tester User Guide

OpenTTCN Tester 2012 User Guide

VERSION 4.2.5 – July 6, 2012

Page 2: OpenTTCN Tester User Guide

Page 2 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Contents

1 OVERVIEW OF OPENTTCN TESTER 2012 .................................................................................... 6

2 RELEASE HIGHLIGHTS OF OPENTTCN TESTER 2012 .................................................................... 7

3 PREREQUISITES FOR OPENTTCN TESTER ................................................................................... 8

4 OPENTTCN TESTER SYSTEM OVERVIEW .................................................................................... 9

4.1 SYSTEM SERVICES ............................................................................................................................ 9

4.2 USER INTERFACES ............................................................................................................................ 9

4.3 SUT AND PLATFORM ADAPTERS AND CODING AND DECODING .............................................................. 10

4.3.1 SUT Adapter .................................................................................................................... 11

4.3.2 Platform Adapter ............................................................................................................ 11

4.3.3 Coding and Decoding ...................................................................................................... 12

5 STARTING AND STOPPING OPENTTCN TESTER ........................................................................ 13

5.1 SELECTING A WORKSPACE ............................................................................................................... 14

5.2 INSTALLING OPENTTCN LICENSE KEY ................................................................................................ 15

5.3 ACTIVATING OPENTTCN LICENSE KEY ............................................................................................... 16

5.4 PROXY CONFIGURATION .................................................................................................................. 19

5.5 ONLINE LICENSE VALIDATION .......................................................................................................... 20

5.6 OPENTTCN TESTER RUNNING ......................................................................................................... 22

5.7 STOPPING OPENTTCN TESTER ........................................................................................................ 25

6 TRYING OPENTTCN TESTER WITH DEMO3 EXAMPLE ............................................................... 27

6.1 EXPECTED RESULTS OF DEMO3 TEST CAMPAIGN ................................................................................. 31

6.2 EXPECTED RESULTS OF ASN1 TEST CAMPAIGN ................................................................................... 31

7 STARTING A NEW TTCN-3 PROJECT ......................................................................................... 32

7.1 CREATING A TTCN-3 PROJECT......................................................................................................... 32

7.2 CREATING A TTCN-3 FILE ............................................................................................................... 35

7.3 IMPORTING TTCN-3 FILE(S) ........................................................................................................... 37

7.4 MODULE PARAMETERIZATION ......................................................................................................... 39

7.4.1 Creating a Parameter File ............................................................................................... 39

7.5 COMPILING TTCN-3 CODE ............................................................................................................. 41

7.6 SETTING TTCN-3 ADAPTER CONFIGURATION (EXTERNAL TOOLS CONFIGURATION) ................................... 44

7.7 SETTING UP TTCN-3 TEST CAMPAIGN (RUN CONFIGURATION) ............................................................. 46

7.8 RUNNING TTCN-3 TEST CASES ........................................................................................................ 50

8 ANALYZING TEST RESULTS ...................................................................................................... 51

Page 3: OpenTTCN Tester User Guide

Page 3 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

8.1 STACK TRACE VIEW ........................................................................................................................ 51

9 OPENTTCN GFT LOG VIEWER................................................................................................... 53

9.1 FUNCTIONALITY OF OPENTTCN GFT LOG VIEWER .............................................................................. 53

9.2 USING EXAMPLE TEST SUITE ............................................................................................................ 54

9.2.1 Obtaining Graphical Log for the Example Test Campaign .............................................. 54

9.2.2 Description of Test Cases in the Example Test Suite ....................................................... 56

9.2.3 Opening Log View Perspective for the Example Test Campaign ..................................... 58

9.3 VIEWING EXAMPLE LOGS ................................................................................................................ 58

9.3.1 Message-based, Procedure-based, and Timers .............................................................. 58

9.3.2 Concurrent Execution Involving Parallel Test Components ............................................. 62

10 OPENTTCN TTCN-3 DEBUGGER................................................................................................ 63

10.1 FUNCTIONALITY OF OPENTTCN DEBUGGER .................................................................................. 63

10.2 DEBUGGING THE EXAMPLE TEST SUITE ......................................................................................... 64

10.2.1 Executing test campaigns in the debugger ................................................................ 64

10.2.2 Debugging with the Debug Perspective ..................................................................... 66

10.2.3 Debugger Controls ..................................................................................................... 68

10.2.4 Debugger Summary ................................................................................................... 70

10.3 DEBUGGING COMMON PROBLEM SCENARIOS ................................................................................ 71

10.3.1 Debugging Test Case Deadlocks ................................................................................ 71

10.3.2 Introducing the Deadlock ........................................................................................... 71

10.3.3 Debugging the Deadlock ............................................................................................ 72

11 OPENTTCN ADAPTER LIBRARY ................................................................................................ 73

11.1 OVERVIEW .............................................................................................................................. 74

11.2 SERIAL ADAPTER ...................................................................................................................... 75

11.3 UDP ADAPTER......................................................................................................................... 75

11.4 TCP ADAPTER ......................................................................................................................... 76

11.5 HTTP ADAPTER ....................................................................................................................... 77

11.6 CUSTOMIZING YOUR OWN ADAPTER ............................................................................................ 77

12 OPENTTCN CODEC COMPONENT LIBRARY .............................................................................. 78

12.1 OVERVIEW .............................................................................................................................. 79

12.2 DIRECT CODEC FOR DIRECT ENCODING OF BIT PROTOCOLS ............................................................... 79

12.3 XML CODEC ............................................................................................................................ 80

12.4 BER CODEC ............................................................................................................................ 81

12.5 PER CODEC............................................................................................................................. 81

Page 4: OpenTTCN Tester User Guide

Page 4 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

12.6 WRITING YOUR OWN CODEC COMPONENT ................................................................................... 82

13 JAVA ADAPTER DEVELOPMENT USING OPENTTCN TESTER 2012 GUI ...................................... 83

13.1 OVERVIEW .............................................................................................................................. 83

13.2 IMPORTING A JAVA PROJECT ....................................................................................................... 83

13.3 SETTING UP JAVA COMPILATION .................................................................................................. 85

13.4 RUNNING JAVA ADAPTERS .......................................................................................................... 88

Option 1: OpenTTCN adapter launch configuration ...................................................................... 88

Option 2: Start as Java application ............................................................................................... 88

14 COMMAND-LINE TOOLS QUICK REFERENCE ............................................................................ 91

14.1 CONTROLLING SYSTEM SERVICES ................................................................................................. 91

14.2 SESSION MANAGEMENT ............................................................................................................ 91

14.3 LOADING MODULES................................................................................................................... 91

14.4 RUNNING TEST CASES ................................................................................................................ 92

14.5 LOADING VALUES OF MODULE PARAMETERS ................................................................................... 92

14.6 HANDLING ERRORS ................................................................................................................... 92

14.7 TYPICAL COMMANDS SEQUENCES ................................................................................................ 93

15 TESTING USING OPENTTCN TESTER COMMAND-LINE ............................................................. 94

15.1 STARTING TEST SYSTEM ............................................................................................................. 94

15.1.1 Starting the Server Part of OpenTTCN Tester ............................................................. 95

15.1.2 Starting SUT and Platform Adapters and Coding and Decoding ................................ 95

15.2 SELECTING TESTING SESSION ...................................................................................................... 96

15.3 COMPILING TTCN-3 AND ASN.1 MODULES ................................................................................. 97

15.4 TEST PARAMETERIZATION .......................................................................................................... 99

15.4.1 Using Multiple Par Files............................................................................................ 100

15.5 CHECKING FEASIBILITY OF STARTING FULL TESTING ....................................................................... 102

15.6 RUNNING ALL TESTS ............................................................................................................... 102

15.6.1 Stopping Test Campaign .......................................................................................... 103

15.7 REVIEWING TESTS RESULTS ...................................................................................................... 104

15.7.1 Reviewing Test Result Summary .............................................................................. 104

15.7.2 Reviewing Assigned Verdicts .................................................................................... 106

15.8 STOPPING TEST SYSTEM ........................................................................................................... 108

15.8.1 Stopping SUT and Platform Adapters and Coding and Decoding ............................ 108

15.8.2 Stopping the Server Part of OpenTTCN Tester ......................................................... 109

16 OPENTTCN COMMAND-LINE REFERENCE .............................................................................. 110

Page 5: OpenTTCN Tester User Guide

Page 5 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.1 THE “OT” SERVER START-UP UTILITY ......................................................................................... 110

16.1.1 Start a Testing Server ............................................................................................... 110

16.1.2 Stop a Testing Server ................................................................................................ 111

16.1.3 Inquiry of a Testing Server Status............................................................................. 111

16.1.4 Print License Key OpenTTCN Identification .............................................................. 112

16.1.5 Print Command-Line Help ........................................................................................ 112

16.2 SESSION UTILITY ..................................................................................................................... 112

16.2.1 Create a Session ....................................................................................................... 113

16.2.2 Delete a Session ....................................................................................................... 114

16.2.3 List Sessions .............................................................................................................. 114

16.2.4 Show a Session Status .............................................................................................. 115

16.2.5 Unregister a Test System Interface .......................................................................... 115

16.2.6 Print Version Information ......................................................................................... 117

16.2.7 Print Command-Line Help ........................................................................................ 117

16.3 TESTER UTILITY ...................................................................................................................... 118

16.3.1 Run Tests .................................................................................................................. 118

16.3.2 Print Version Information ......................................................................................... 119

16.3.3 Print Command-Line Help ........................................................................................ 119

16.4 IMPORTER3 UTILITY ................................................................................................................ 120

16.4.1 Load Test Suite ......................................................................................................... 120

16.4.2 Analyse a Test Suite ................................................................................................. 121

16.4.3 Suite Using TTCN-3 Module Parameters .................................................................. 121

16.4.4 Print Command-Line Help ........................................................................................ 122

17 USING TTCN-2 COMPILER OPTION WITH OPENTTCN TESTER ................................................ 123

18 OPENTTCN TESTER CONFIGURATION FILE ............................................................................. 126

18.1 CHANGING CONFIGURATION SETTINGS ........................................................................................ 127

18.2 COMMONLY USED CONFIGURATION SETTINGS .............................................................................. 127

18.3 JAVA RELATED CONFIGURATION SETTINGS .................................................................................... 127

18.4 SYSTEM CONFIGURATION SETTINGS ............................................................................................ 128

19 FILES CREATED BY OPENTTCN ............................................................................................... 129

20 CONTACTING OPENTTCN ...................................................................................................... 131

Page 6: OpenTTCN Tester User Guide

Page 6 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

1 Overview of OpenTTCN Tester 2012

OpenTTCN Tester 2012 is a TTCN-3 test development and execution package built

by integrating popular OpenTTCN Tester product and widely used Eclipse framework

providing an easy to use TTCN-3 editing, compilation, and execution environment.

OpenTTCN Tester 2012 includes seamless integration of OpenTTCN TTCN-3 just-

in-time compiler and virtual machine, and TTCN-3 editor. OpenTTCN Tester 2012

provides basic but easy to use support for integrating TTCN-3 test case editing,

TTCN-3 syntax and semantic checking, TTCN-3 compilation, starting TTCN-3

adapters on demand and execution of TTCN-3 test cases into one single integrated

development environment.

OpenTTCN Tester 2012 is compatible with OpenTTCN platform version 4.2. The

following OpenTTCN SDKs are included for programming TTCN-3 adapters:

OpenTTCN SDK for C1

OpenTTCN SDK for C++2

OpenTTCN SDK for C#3

OpenTTCN SDK for Java

OpenTTCN Tester 2012 is available for Windows and Linux platforms. The

Microsoft Windows 8 (after its release), Microsoft Windows 7, Microsoft Windows

Vista, and Microsoft Windows XP with Service Pack 3 operating systems are

supported. Latest Debian Linux is supported.

1 OpenTTCN SDK for C is compatible with Microsoft Visual Studio 2010 and Microsoft Visual Studio

2008 in Windows platform and with GCC4 in Linux platform.

2 OpenTTCN SDK for C++ is compatible with Microsoft Visual Studio 2010 and Microsoft Visual

Studio 2008 in Windows platform and with GCC4 in Linux platform.

3 OpenTTCN SDK for C# is compatible with Microsoft .NET Framework 3.5 / Mono and Microsoft

Visual Studio 2010, Microsoft Visual Studio 2008 and Mono / MonoDevelop.

Page 7: OpenTTCN Tester User Guide

Page 7 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

2 Release Highlights of OpenTTCN Tester 2012

OpenTTCN Tester 2012 is a new production version containing all changes from

previous beta releases of OpenTTCN Tester. The following list contains highlights of

new additions included in this version. See the Release Notes document for detailed

list of changes from previous versions of OpenTTCN Tester.

Six major new features of OpenTTCN Tester 2012 are:

Super fast TTCN-3 compiler,

TTCN-3 Edition 4 (version 4.3.1) improvements,

New adapters: Serial, UDP, TCP, and HTTP adapters,

XML Codec to complement XML Schema to TTCN-3 translator,

ASN.1 BER and DER Codec as C# codec component, and

new Enterprise Edition.

Highlights of other major features included:

A graphical user interface simplifying test development and test management

supporting:

TTCN-3 test case editing,

TTCN-3 syntax and semantic checking,

TTCN-3 compilation,

Test management - Execution of TTCN-3 test cases,

Instantly-ready native TTCN-3 debugger,

GFT (Graphical Presentation Format) log viewer, and

On-demand adapter startup.

XML Schema to TTCN-3 translator,

TTCN-3 TRI and TCI-CD interfaces for Java,

TTCN-3 TRI, TCI-CD, and TCI-TM interfaces for ANSI C and C++,

TTCN-3 TRI and TCI-CD interfaces for C#,

Command-line tools for scripting and advanced use are included, and

Unified installer architecture - All tools and SDKs in one package.

Page 8: OpenTTCN Tester User Guide

Page 8 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

3 Prerequisites for OpenTTCN Tester

OpenTTCN Tester 2012 is available for modern PC computers running Microsoft

Windows 8, Microsoft Windows 7, Microsoft Windows Vista, and Microsoft

Windows XP with Service Pack 4 or Debian operating systems.

OpenTTCN Tester 2012 is a standalone package integrating functionality of popular

OpenTTCN Tester product with an Eclipse-based TTCN-3 IDE.

OpenTTCN Tester 2012 uses Java for the Eclipse components as well as parsing

TTCN-3 and ASN.1 modules. For these reasons you need to have Java 6 Runtime

Environment or newer installed. OpenTTCN recommends using the latest version of

Java 6 JRE. Current version of OpenTTCN Tester requires 32 bit version of Java. If

you are developing adapters with the OpenTTCN Java SDK, you must install the Java

Development Kit (JDK).

You can download a Java Runtime Environment (JRE) or a Java Development Kit

(JDK) from: http://java.oracle.com.

Page 9: OpenTTCN Tester User Guide

Page 9 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

4 OpenTTCN Tester System Overview

OpenTTCN Tester consists of a Server, a User Interface, one or more SUT and

Platform Adapters, and one or more Coding and Decoding adapters. The Server is

used to execute test specification and it implements the TTCN-3 Executable (TE)

function described in the TTCN-3 architecture. The Graphical User Interface (GUI) is

used to perform test management operations and to control the testing. It implements

the Test Control (TC) and Test Logging (TL) interfaces described in the TTCN-3

architecture. The SUT and Platform adapters adapt the tester for certain application

domain that is specified by a test suite and implement the corresponding function

described in the TTCN-3 architecture. The Coding and Decoding provides translation

between abstract TTCN-3 data and transfer syntax used by the application on the

wire.

4.1 System Services

The server part of OpenTTCN Tester, also called the Server or System Services,

consists of one or more processes that implement necessary functionality to control,

store, and execute test specifications.

System services shall be running before other parts of the test system are started and

while the rest of the test system is running. They are started automatically by the

Graphical User Interface, but must be started by hand for command-line use.

4.2 User Interfaces

The user interface part of OpenTTCN Tester consists of alternative user interfaces

that implement necessary functionality to perform test management operations and to

control the testing. The graphical user interface is the normal method of operating the

test system. OpenTTCN command-line utilities are also described in this document,

but they are intended for advanced users only. Alternatively a custom user interface

implemented using TCI-TM interfaces can be used.

Page 10: OpenTTCN Tester User Guide

Page 10 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Division of OpenTTCN Tester to user interface and server parts allows separate

evolution of these parts, and integration of customer specific test management

software if desired.

For simple scenarios use of the OpenTTCN provided graphical user interface is

recommended.

4.3 SUT and Platform Adapters and Coding and Decoding

The domain specific part of the OpenTTCN Tester, here called "SUT and Platform

Adapters and Coding and Decoding", consists of one or more processes that

implement necessary functionality to specialize a generic tester to a certain

application domain and operating system platform.

SUT adapter is used to create a concrete link between the Tester and the

Implementation Under Test (IUT). Platform Adapter is used to extend the used testing

language with external operations, and in some case implementing a platform specific

timing mechanism. Coding and Decoding is used to encode all data sent and to

decode all data received. Coding and Decoding can be implemented as a single

separate server or implemented together with the SUT or Platform Adapter server.

After these servers have been created for a specific test suite, a complete test system,

"Means of Testing" (MOT) in ISO 9646 terms, has been created.

The necessary SUT and Platform Adapters and Coding and Decoding can be provided

by OpenTTCN Ltd, a value added reseller, integrator, or they could be created by the

end-user with the OpenTTCN SDKs.

These three classes of adapters, SUT Adapter, Platform Adapter, and Coding and

Decoding, are described in the following sections.

Page 11: OpenTTCN Tester User Guide

Page 11 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

4.3.1 SUT Adapter

The SUT Adapter consists of one or more processes that implement necessary

functionality to connect Implementation Under Test (IUT) to the Tester. Each of the

processes in turn may implement one or more TTCN-3 ports defined in the test

specification in abstract terms. Usually the implementation of the SUT Adapter

consists of message decoder and encoder, and code that sends and receives messages

to and from the used network hardware or connection.

The SUT Adapter shall be started and registered only after the Server is already

running. The SUT Adapter shall be unregistered and stopped before the Server is

stopped.

4.3.2 Platform Adapter

The Platform Adapter consists of one process that implements the TTCN-3 external

functions defined in the test specification in abstract terms. The TTCN-3 external

functions are an extension mechanism to add new operations to the testing language

that cannot be otherwise specified. The Platform Adapter can be implemented in a

separate process or it can be combined with one of the SUT Adapters. Usually, the

Platform Adapter is combined with the SUT Adapter, if the TTCN-3 external

functions are used to control the test system interface.

The Platform Adapter shall be started and registered only after the Server is already

running. The Platform Adapter shall be unregistered and stopped before the Server is

stopped.

Page 12: OpenTTCN Tester User Guide

Page 12 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

4.3.3 Coding and Decoding

The Coding and Decoding consists of one or more decoding functions and one or

more encoding functions that implement necessary functionality to convert abstract

TTCN-3 values to desired transfer syntax and vice versa.

The Coding and Decoding is normally implemented together with the TTCN-3 SUT

Adapter or Platform Adapter needing its services. Alternatively a single standalone

Coding and Decoding server can be registered that provides all encoding and

decoding services for the test system.

The standalone Coding and Decoding shall be started and registered only after the

Server is already running. The standalone Coding and Decoding shall be unregistered

and stopped before the Server is stopped.

Page 13: OpenTTCN Tester User Guide

Page 13 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5 Starting and Stopping OpenTTCN Tester

You can start OpenTTCN Tester from the Windows Start menu under OpenTTCN

Tester 2012. Your Windows desktop also has a new icon to start OpenTTCN Tester,

if you chose to install it.

On startup you will be prompted for your workspace location. The term workspace

means the directory where all OpenTTCN Tester TTCN-3 projects, configuration

settings and TTCN-3 files are stored. It is recommended to place the workspace in

your home directory under the "OpenTTCN Tester 2012" folder. After your start

OpenTTCN Tester, OpenTTCN Tester splash screen shown in the following

screenshot is displayed.

Figure 1: OpenTTCN Tester 2012 splash screen.

Page 14: OpenTTCN Tester User Guide

Page 14 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5.1 Selecting a Workspace

When you select to start OpenTTCN Tester, the following dialog will be shown. You

can now change the workspace directory by specifying a directory name that you

want to use as your OpenTTCN Tester workspace directory.

For example, you can place the workspace in your home directory under the

"OpenTTCN Tester 2012" folder. This is the default recommended setting. This

would be specified in the dialog as C:\Users\<your username>\OpenTTCN Tester

2012\workspace (in Windows 7). Alternatively you can place the directory to your

desired location by clicking on the Browse -button.

Figure 2: Workspace launcher dialog.

Every time OpenTTCN Tester starts, the application will ask you for the workspace

you want to use. If you want to use the same workspace always, you can tick the “Use

this as the default and do not ask again” check box.

Page 15: OpenTTCN Tester User Guide

Page 15 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5.2 Installing OpenTTCN License Key

When OpenTTCN Tester starts it checks if you have already installed OpenTTCN.lic

license key and asks if you want to install the license key. The OpenTTCN.lic license

key can be downloaded from https://www.openttcn.com/updates using the same

account information that you used to download the OpenTTCN Tester software itself.

If OpenTTCN.lic license key of OpenTTCN Tester is missing when you start

OpenTTCN Tester, the application will ask you if you wish to install the license key

using the following dialog. Please click Yes button to proceed installing the missing

license key. Note that OpenTTCN Tester will refuse to start until you install and

activate a valid license key.

Figure 3: License file installation dialog.

If you answer No to the license installation request, you will be returned to the

License Management screen where you can choose to try again or exit the program.

When you answer Yes, the following Select license file dialog is shown. Navigate to

the correct folder that contains the OpenTTCN.lic license key you downloaded. If you

have downloaded the key using Windows 7, the license may be found from

"C:\Users\<your username>\Downloads" directory by default.

Page 16: OpenTTCN Tester User Guide

Page 16 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 4: Select license file dialog.

5.3 Activating OpenTTCN License Key

Before the OpenTTCN license key can be used it needs to be activated. The activation

is performed using Internet connection with the OpenTTCN Activation server.

After you have installed OpenTTCN license key, OpenTTCN Tester checks if the

license key needs activation and asks you if you want to activate the license key to the

computer you are using. If you want to activate to the computer you are now using,

please click Yes button to proceed with the activation. If you do not activate your

license the software will not start and you will be returned to the License Management

screen where you can install another license or exit the program.

Note that activating the license key binds it to your computer and you cannot activate

it on another computer. If you want to activate the license key to another computer

instead, please click No button to cancel the activation.

Page 17: OpenTTCN Tester User Guide

Page 17 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 5: License activation request dialog.

If the activation is successful OpenTTCN Tester will start up. In the case of errors you

will be returned to the License Management screen to resolve the problem. If you

encounter internet connectivity problems and your network requires a proxy server,

please refer to chapter 5.4.

The License Manager looks like in the following screenshot. If you encounter

problems with setting up your license, please contact OpenTTCN support using the

[email protected] e-mail address. In your message please indicate your license

keys OT ID number, the error message shown in red as well as the exact error details

shown when you click the Details... button.

Page 18: OpenTTCN Tester User Guide

Page 18 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 6: OpenTTCN license management window.

Page 19: OpenTTCN Tester User Guide

Page 19 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5.4 Proxy configuration

If your network requires proxy settings, you might encounter problems when

activating your license or with Online License Validation. Proxy configuration can be

opened from the OpenTTCN License Management dialog. Later on you can access

the proxy settings via the Window -> Preferences... menu item. It is available in the

General -> Network Connections section.

The proxy configuration looks as in the following picture. Here you can select Direct

internet connectivity, Manual proxy configuration or use of the Native settings.

Figure 7: Proxy configuration in preferences.

Page 20: OpenTTCN Tester User Guide

Page 20 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

The simplest option is to select the active provider as Native so that the system

settings will be used. If this does not work, you must inquire the correct proxy settings

from your network administrator and configure the proxy with the Manual setting.

5.5 Online License Validation

If your license requires Online License Validation with the OpenTTCN license server

and there is a problem with your network connectivity, you might encounter the

following license error:

Possible causes and ways to resolve these problems are:

1) No internet connectivity. Please connect your computer to the internet.

2) Erroneous proxy configuration. For instructions on configuring your proxy

settings please refer to Chapter 5.4 Proxy configuration.

Figure 8: License validation error.

Page 21: OpenTTCN Tester User Guide

Page 21 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

3) Firewall configuration. You should configure your firewall to permit

network communication from OpenTTCN Tester to the activation server.

4) OpenTTCN license server is not available at this moment. You should try

again momentarily to see if the issue has been resolved. Should your problem

persist, please contact OpenTTCN support at [email protected] .

Page 22: OpenTTCN Tester User Guide

Page 22 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5.6 OpenTTCN Tester Running

After OpenTTCN Tester has started the welcome screen is displayed. From this

welcome screen you can select "Create example workspace" to import the TTCN-3

Demo3, DNS, and ASN.1 example projects. These examples are a helpful

introduction if you are new to TTCN-3, OpenTTCN and/or OpenTTCN Tester.

You can also choose to start with an empty workspace by selecting "Go to

workspace".

Figure 9: OpenTTCN welcome screen during first start-up.

If you wish to return to the welcome screen at a later date, you can find the

OpenTTCN Tester Welcome Screen option in the help menu:

Page 23: OpenTTCN Tester User Guide

Page 23 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 10: Re-launching OpenTTCN welcome screen from Help menu.

After the import is finished OpenTTCN Tester will be put in the default TTCN-3

perspective. The term perspective means the TTCN-3 views and editors associated to

certain tasks that are displayed.

If you chose to import the workspace that came with OpenTTCN Tester installation as

the workspace to use then OpenTTCN Tester should look like in the following

screenshot.

Figure 11: Automatic compilation after examples were added.

Page 24: OpenTTCN Tester User Guide

Page 24 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Starting OpenTTCN Tester also automatically starts seamlessly integrated

OpenTTCN virtual machine component which is responsible for running TTCN-3 test

cases.

Clicking the Go to workspace button after importing the examples lets you enter the

basic workbench for OpenTTCN Tester 2012. Here you can see the Navigator view

on the left, where you workspace projects are located. In the center is the TTCN-3

editor for editing test scripts and on the right is the Outline view that shows the high

level structure of the current module. At the bottom is visible the Console view where

Build Logs, Adapter Logs and Test Campaign Logs are stored and shown.

Figure 12: Default TTCN-3 view of OpenTTCN Tester.

In the tab folder with Console view is also Problems view, where compilation errors

and warnings are placed when compiling, in addition to being displayed in the Build

Log.

Page 25: OpenTTCN Tester User Guide

Page 25 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

5.7 Stopping OpenTTCN Tester

OpenTTCN Tester can be stopped by selecting Exit from the File menu. When you

exit OpenTTCN Tester the following dialog is displayed.

Figure 13: Exit confirmation dialog.

Every time OpenTTCN Tester stops, the application will ask you to confirm the exit.

If you want the application to exit without confirmation, you can tick the “Always exit

without prompt” check box in the Confirm exit dialog.

Closing the OpenTTCN Tester window also automatically asks whether to stop the

system services component.

Figure 14: OpenTTCN background services stop dialog.

Page 26: OpenTTCN Tester User Guide

Page 26 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

OpenTTCN System Services is a background component used by all OpenTTCN

tools. It is recommended to have it terminate with OpenTTCN Tester. If the system

services are left running, subsequent OpenTTCN Tester startups will be faster, but

some system resources will be consumed by the running services. NOTE: System

Services are shared between OpenTTCN Tester instances, and if using multiple

windows you should choose not to terminate them. System services are also required

if you wish to utilize the command-line tools without the graphical user interface (can

be also started separately with "ot start").

You can check "Remember my selection" to have your selection remembered and not

be prompted again. You can still change your preference from the menu Window ->

Preferences... and there navigate to OpenTTCN Tester -> Runtime tab shown in the

image below.

Figure 15: Runtime preferences.

Page 27: OpenTTCN Tester User Guide

Page 27 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

6 Trying OpenTTCN Tester with Demo3 Example

OpenTTCN Tester comes with four different examples to try:

Demo3 (TTCN-3 code demonstrating the use of many TTCN-3 keywords)

ASN1 (demonstrating the use of ASN.1 definitions from TTCN-3 code)

This chapter explains necessary steps to compile and to run the Demo3 example. The

other examples can be run in a similar fashion.

You can recompile all provided example TTCN-3 projects by selecting Project ->

Clean… -> Clean all projects and click OK button. This will clean all TTCN-3

projects causing automatic rebuilding of them by compiling all TTCN-3 files in these

projects. When you first create the examples from the welcome screen, they should be

automatically compiled.

Alternatively, you can just clean the Demo3 project by selecting Project -> Clean… -

> Clean projects selected below, selecting Demo3 project, and then clicking OK

button. This would have cleaned and automatically built the Demo3 project only.

Figure 16: Clean projects dialog.

Page 28: OpenTTCN Tester User Guide

Page 28 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

After you have clicked OK button, OpenTTCN Tester invokes the OpenTTCN

TTCN-3 just-in-time compiler. You can see the output of the compiler in the console

of the TTCN-3 perspective of OpenTTCN Tester.

After compiling the Demo3 project that came with OpenTTCN Tester you should get

the same result as shown in the following screenshot: “Demo3 – 0 error(s), 0

warning(s).”

Figure 17: Demo3 compilation results in build console view.

Page 29: OpenTTCN Tester User Guide

Page 29 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Now you are ready to run the examples. Let's run the test cases of Demo3 TTCN-3

project. There are total 205 test cases in the Demo3 example TTCN-3 project. You

can start the Demo3 test campaign, i.e. start execution of Demo3 test cases by

selecting Run -> Run configurations… and selecting Demo3 and clicking Run button.

When the test campaign to run Demo3 test cases starts, the OpenTTCN Tester

switches to a console that shows the produced detailed TTCN-3 test log. You can

follow the log in the console in real time as testing progresses as seen below.

Figure 18: Test log in text log view.

When the test campaign to run Demo3 test cases has finished, the OpenTTCN Tester

console shows you the end of the detailed TTCN-3 test log produced as shown in the

above screenshot. The test results should match those in the image: 209 Pass verdicts,

0 Fail verdicts, 0 Inconclusive verdicts, 0 None verdicts and 0 Error verdicts, totaling

test results for 209 test cases. For further information, see the next chapter.

Page 30: OpenTTCN Tester User Guide

Page 30 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

You can also switch to see the output of TTCN-3 adapter used in another console with

the "Display Selected Console" button. Below you can see the adapter log. The

"Display Selected Console" button is circled in red.

Figure 19: Adapter output in adapter output console view.

Page 31: OpenTTCN Tester User Guide

Page 31 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

6.1 Expected Results of Demo3 Test Campaign

The Demo3 example project demonstrates the use of TTCN-3 keywords.

The expected test results of the Demo3 test campaign are:

Pass Fail Inconc None Error Total Duration

211 0 0 0 0 211 00:00:28

There are 211 pass verdicts produced. The fail, inconc, none and error verdicts are not

shown in the examples, but you are encouraged to modify the examples to product

other test results as well. The Demo3 example is illustrating use of various TTCN-3

keywords.

The duration of the test campaign, here shown lasting thirty seconds, depends

partially on the speed of your computer. The above test results are achieved in

computer having one Intel Core 2 CPU 6700 @ 2.66GHz, 4GB RAM, and running

64-bit Windows 7 operating system.

6.2 Expected Results of ASN1 Test Campaign

The ASN1 example project demonstrates the use of ASN.1 definitions from TTCN-3

code.

The expected test results of the ASN1 test campaign are:

Pass Fail Inconc None Error Total Duration

1 0 0 0 0 1 00:00:01

Page 32: OpenTTCN Tester User Guide

Page 32 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7 Starting a New TTCN-3 Project

In the previous Chapter you have learned how to use and run pre-configured TTCN-3

examples that come with OpenTTCN Tester. In this chapter, you will learn various

tasks that are needed when creating and running your own TTCN-3 testing projects

and test campaigns.

The following chapters follow typical sequence how new testing project is set up.

7.1 Creating a TTCN-3 Project

If you want to work with a new set of TTCN-3 modules you need to create a TTCN-3

project for them first.

Create a new TTCN-3 project by selecting File -> New -> TTCN-3 Project.

Set project name4 to the name you want (here “Example”) and click “Finish” button.

You can see the created Example project in the Navigator View of OpenTTCN Tester.

4 The project name corresponds to the name of the testing session when the same information is used

from the command-line.

Page 33: OpenTTCN Tester User Guide

Page 33 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 20: New TTCN-3 project dialog.

You have now created a new TTCN-3 project under the currently used workspace.

The Location in the above New Project dialog shows you the file system directory

location of the new project. The name of the TTCN-3 project can contain all the

characters allowed for file and directory names for file system in the supported

operating system.

The newly created Example TTCN-3 project is shown in the end of the OpenTTCN

Tester workspace navigator in the left side of your workbench, as seen in the

screenshot at the bottom of this page.

You do not have any TTCN-3 files in the TTCN-3 project yet. We see how new

TTCN-3 files can be created in the Chapter 7.2. In Chapter 7.3 we learn how to

import existing TTCN-3 files to your TTCN-3 project.

Page 34: OpenTTCN Tester User Guide

Page 34 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 21: New “Example” project in navigator view.

Page 35: OpenTTCN Tester User Guide

Page 35 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7.2 Creating a TTCN-3 File

If you want to write a new TTCN-3 module you need to create a TTCN-3 file for that

TTCN-3 module first.

Create a new TTCN-3 file by right-clicking the name of the TTCN-3 project you want

the TTCN-3 file to be created in from the Navigator view and then select New ->

TTCN-3 File (shown circled below).

Figure 22: New TTCN-3 file pop-up menu.

Set module name to the name you want (we choose the default, “DemoModule”, here)

and click “Finish” button. Note that the name is the module name and not the file

name. The file will be named "ModuleName.ttcn" automatically. You can see the New

TTCN-3 File dialog below.

Page 36: OpenTTCN Tester User Guide

Page 36 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 23: New TTCN-3 file dialog.

The New TTCN-3 File dialog also shows the TTCN-3 Project (here “/Example”)

under which the new file will be created. You can also create template code with an

simple test case skeleton and an example TTCN-3 control part5. Do this by ticking the

“Create template code” check box in the New TTCN-3 File dialog.

You can only place one TTCN-3 module to one file. OpenTTCN recommends naming

both the TTCN-3 module and the file using the same name. For example

DemoModule TTCN-3 module would be placed to DemoModule.ttcn file.

OpenTTCN and ETSI recommends using .ttcn file suffix for TTCN-3 files.

OpenTTCN Tester 2012 automatically uses .ttcn suffix for newly created files.

5 Please note that there can be only one TTCN-3 control part in one complete TTCN-3 test suite

(collection of modules) and that the TTCN-3 control part must be the last top-level definition of the

module according to TTCN-3 standard.

Page 37: OpenTTCN Tester User Guide

Page 37 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7.3 Importing TTCN-3 File(s)

If you already have TTCN-3 file(s) that you want to use you can import these files

from some other location in the file system to the TTCN-3 project you are working

on.

Import existing TTCN-3 files by first selecting

the TTCN-3 project you want the files imported

to by clicking the project name in the Navigator

view of the OpenTTCN Tester and then

selecting Import… from the right-click context

menu.

Expand “General” and then select “File System”

or "Archive File" by clicking the icons. Then

click Next> button.

Figure 24: Import dialog.

Page 38: OpenTTCN Tester User Guide

Page 38 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Select the files to be imported by first clicking Browse button and browsing and

selecting the desired directory or archive file (here C:\temp\ttcn3) and clicking OK

button. Then select the directory for import by placing a tick mark to the check box

next to the directory name in the left pane of the Import from File system dialog.

Alternatively you can select the individual files by placing the tick mark to the check

box next to the file name in the right pane of the Import from File system dialog as

shown in the image below.

Figure 25: Import from file system dialog.

Click the Finish button to start importing of the selected directories and/or files to the

TTCN-3 project.

Page 39: OpenTTCN Tester User Guide

Page 39 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7.4 Module Parameterization

Most test suites define module parameters to specify test system specific setup and to

select optional features. The values of these parameters must be specified before

executing a test campaign, which is done by defining their values in a module

parameter value file with the ".par" extension, later .par file for short.

The module parameter values are usually specified using filled Protocol

Implementation Conformance Statement (PICS) and Protocol Implementation eXtra

Information for Testing (PIXIT) forms as guides.

The module parameter values can be given in one .par file or the module parameter

values can be split to multiple .par files according to structure defined by the user, for

example, splitting implementation specific PICS parameter values to one file and test

setup specific PIXIT parameter values to one file. For example, pics.par file can be

added to TTCN-3 project together with pixit.par file.

All module parameter value files (.par files) in a single TTCN-3 project are re-

compiled (re-parameterized) when even one .par is saved from TTCN-3 editor in

OpenTTCN IDE or the TTCN-3 project is cleaned. After this operation, so called

module parameter repository contains explicitly given module parameter values.

When a test case is executed, each module parameter either keeps its default value, or

gets a value given in .par file. The value given in .par file takes precedence over any

default value given in module parameter declaration in TTCN-3 module.

7.4.1 Creating a Parameter File

To create a new parameter file you should first compile the desired test suite in

OpenTTCN Tester. After this, you can right-click the target project and select New ->

New TTCN-3 Parameter File to access the parameter file creation wizard.

Page 40: OpenTTCN Tester User Guide

Page 40 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

The New TTCN-3 Parameter File wizard will automatically create a module

parameter file with the ".par" extension, and fill in information about all module

parameters defined by the test suite as currently compiled. You should go through the

generated file and set valid values for all parameters after this. In the wizard you can

specify the Module name (which will also become the filename). If you tick the

Uncomment default parameters and Uncomment undefined parameters options the

parameter definitions will be uncommented with the value set to a default value or

omit if no value is specified in the test suite.

Figure 26: Create new TTCN-3 parameter file dialog.

T

he generated parameter file contains documentation comments for the parameters

defined. The following table explains the meaning of the documentation comments:

@parameter Name of the parameter being defined.

@typeclass Base TTCN-3 type of the parameter.

@default Default value specified in the test suite.

@recordfield Lists fields of a record type. Each line specifies one field, with

field type first and field identifier second.

@unionvariant Lists union variants. Each line specifies one variant, with

Page 41: OpenTTCN Tester User Guide

Page 41 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

variant type first and identifier second.

@enumlabel Lists enumeration identifiers. Each line specifies one identifier.

7.5 Compiling TTCN-3 Code

OpenTTCN Tester automatically compiles TTCN-3 code when the TTCN-3 file is

saved, if compilation is not explicitly disabled for the select TTCN-3 file. By default

files with file suffix of .ttcn, .ttcn3 and .asn1 are compiled automatically when the

file is saved.

You can disable compilation for TTCN-3 files by clicking the file in the navigator,

pressing right mouse button, and selecting OpenTTCN Compiler -> Disable

Compilation from the displayed context menu. After selecting Disable Compilation

the icon of the TTCN-3 file is changed from OpenTTCN icon to include a small red

and white “no entry” traffic sign.

When you change a TTCN-3 file in the editor, the application compiles it

automatically when the file is saved. This feature is called Automatic compilation and

is enabled by default. The feature can be toggled from the Project menu by changing

the Build automatically option. If this option is disabled you can run a build of your

source code by selecting Project -> Build All.

OpenTTCN recommends keeping automatic compilation enabled, unless working on

very large and complex test suites where builds may take a significant amount of

time. This should not usually be an issue as only the changed files and their

dependencies are recompiled with automatic compilation.

A changed file that has not yet been saved is indicated by “*” before the file name in

the TTCN-3 editor panel title.

Page 42: OpenTTCN Tester User Guide

Page 42 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 27: Editing a new TTCN-3 module.

You can also select Project -> Clean... from menu bar and click OK button to clean

all projects. This causes a rebuild of all TTCN-3 projects that have some TTCN-3

files selected for compilation.

In the next page we write a small Hello world test case to be used in the examples

shown in the following Chapters.

Page 43: OpenTTCN Tester User Guide

Page 43 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

We write a small Hello world test case consisting of log statement to display “Hello

world” and setverdict statement to set the verdict of this test case to pass as an

example. This test case is shown in the following screenshot.

After you save the file, you should see the “Example – 0 error(s), 0 warning(s)”

message in the Console.

Figure 28: Compiling a new TTCN-3 module.

The TC_HelloWorld test case is now checked for syntax and semantic errors and

compiled into the System Services repository ready to be executed by OpenTTCN

virtual machine.

Page 44: OpenTTCN Tester User Guide

Page 44 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7.6 Setting TTCN-3 Adapter Configuration (External Tools

Configuration)

You can set up a new external tools configuration for running OpenTTCN Adapter

built with one of the OpenTTCN SDKs by creating a new launch configuration.

Select Run -> External Tools -> External Tools Configurations… and then click New

launch configuration icon button to create a new TTCN-3 test campaign launch

configuration.

Then you should set information correctly for the Name, Location, Working

Directory, and possible Arguments. In the screenshot below we use the robo adapter

included with the OpenTTCN Tester distribution which echoes all messages sent to it

back to the test system.

Page 45: OpenTTCN Tester User Guide

Page 45 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 29: External tools configuration dialog for configuring a new OpenTTCN adapter set-up.

Name: Change the “New configuration” to descriptive name of your adapter

configuration. Here: Example_Adapter

Location: Give the path name to the executable that you use as your TTCN-3 adapter.

Here: ${RoboBin}

Working Directory: Give the directory name that you want to use as working the

directory for your TTCN-3 adapter executable.

Here: ${workspace_loc:/Example}

Arguments: Give the possible command-line arguments for the TTCN-3 adapter

executable to be started. Here: -s ${OpenttcnAddress}:Example TRI TRI

Page 46: OpenTTCN Tester User Guide

Page 46 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

You could also use ${OpenttcnStartingSession} instead of "Example" above to

automatically fill in the starting session when the adapter is launched with a test

campaign.

7.7 Setting Up TTCN-3 Test Campaign (Run Configuration)

You can set up a new run configuration for running TTCN-3 test campaign by

creating a new launch configuration.

Select Run -> Run configurations… and then click New launch configuration icon

button to create a new TTCN-3 test campaign launch configuration.

Then you should set information correctly for at least the Name and for the Main, Test

Plan, and Adapters panels.

Page 47: OpenTTCN Tester User Guide

Page 47 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 30: Run configurations dialog for configuring a new test campaign.

Name: Change the “New configuration” to a descriptive name of your test campaign.

Here: Example_Campaign

Main: Select the Project to match the TTCN-3 Project you want to use for this

campaign. Here: Example

Test Plan: Select Run control part, Run all test cases, or Run selected test cases

depending on your needs.

Page 48: OpenTTCN Tester User Guide

Page 48 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Adapters: Select OpenTTCN TTCN-3 adapters you want to be automatically started

for this test campaign from the list. You can add new adapter configurations to the

displayed adapter list as explained in Chapter 7.6. After adding the adapter

configuration, complete your test campaign set-up by selecting the Adapters to start

up automatically for the test campaign. Here: Start the following adapters

automatically with Test Campaign and Example_Adapter selected from the Adapters

list.

Figure 31: Configuring start-up of adapters for a test campaign.

Please read the following wiki article explaining how to synchronize adapter startup

completion with the commencement of the test campaign:

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Synchronizi

ng_Adapter_Startup

Page 49: OpenTTCN Tester User Guide

Page 49 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Parameters (optional): Select parameter files that will be used to parameterize the test

campaign prior to commencement of the test run. By default, all parameter files in the

project not disabled for compilation will be used to parameterize a test run. Parameter

files explicitly selected through the Parameters tab of a Run configuration will be

taken into use even if they were disabled for compilation.

If you explicitly specify a set of applicable parameter files through the Parameters tab,

you may as well want to disable compilation of selected parameter files performed by

default as part of the Build project procedure to avoid identifier collision and error

reports caused by it. In the TTCN-3 Navigator tab right click on a parameter file or

folder containing parameter files for which disabling the compilation is desired, then

select OpenTTCN Tester | Disable compilation for TTCN-3 files (recursive).

Figure 32: Configuring parameters for a test campaign.

Page 50: OpenTTCN Tester User Guide

Page 50 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

7.8 Running TTCN-3 Test Cases

You can run one or multiple test cases by using the test campaign set-up you have

created in Chapter 7.7.

Select Run -> Run Configurations and then select one of the test campaigns (under

OpenTTCN Test Suite) and click Run button.

The detailed TTCN-3 test log will be displayed in the Console and you can scroll the

test to see the details. The Console in the next screenshot shows the TTCN-3 test log

produced by running the Hello world example TC_HelloWorld test case.

Figure 33: Viewing test log in test run console view

Page 51: OpenTTCN Tester User Guide

Page 51 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

8 Analyzing test results

This section explains tools OpenTTCN Tester provides to simplify analyzing test

results, whether they are passes or fails.

8.1 Stack trace view

A Stack trace is a snapshot of program execution showing the function call stack.

Stack traces are a useful debugging tool for complex test suites, where many levels of

functions are used. The OpenTTCN Tester stack trace view enables a test

management system to send the context in which a fail verdict occurred to the

graphical user interface, allowing a test suite writer or tester to quickly see where the

failure occurred.

The stack trace view requires communications from the test management application

to receive information about stack traces. Please refer to your test system vendors

manual to see if they support this feature.

Page 52: OpenTTCN Tester User Guide

Page 52 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

The screenshot shows a part of TTCN-3 code that set a fail verdict, a stack trace

visible in test log that was produced as a result of the verdict and the stack trace view

at the bottom. The user can quickly jump around in the source code by double-

clicking the items in the stack trace view.

Figure 34: Stack trace view.

Your stack traces are saved between sessions automatically. To delete a stack trace,

press the -button. To clear all stack traces press the -button.

Page 53: OpenTTCN Tester User Guide

Page 53 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

9 OpenTTCN GFT Log Viewer

OpenTTCN GFT Log Viewer provides the capability to store logs in XML format and

view them in graphical, structural, and text form. This chapter explains the basic

features of the GFT Log Viewer and provides examples of its use.

First, we demonstrate graphical log for a simple example test case involving message-

based communication and timers. Then we demonstrate graphical log for procedure-

based communication and parallel execution involving multiple parallel test

components.

9.1 Functionality of OpenTTCN GFT Log Viewer

OpenTTCN GFT Log Viewer allows viewing logs recorded during test campaign

execution in graphical format. TTCN-3 test campaigns are primarily supported.

Design of the graphical log output takes into account graphical presentation format

guidelines set forth by the ETSI ES 201 873-3 “TTCN-3 Graphical presentation

Format (GFT)” standard.

Logs suitable as a data source for graphical rendering performed by the Log Viewer

are stored in XML format in a persistent repository in the file system in the Eclipse

workspace. Persistent repository is implemented as a collection of plain folders and

files for easier processing and sharing of logs. Logs for individual test cases are stored

in XML format that complies with ETSI ES 201 873-6 standard XSD schema

definitions as defined in chapter “The TCI-TL interface” and annex “XML mapping

for TCI TL Provided” of the standard.

Graphical log and related structured log are displayed in the same collection of views

of the Log View Eclipse perspective. Correspondence between elements of graphical

log and structured log can be established by clicking on elements of the graphical log.

Detailed information about selected log event is displayed in the Log event view.

Page 54: OpenTTCN Tester User Guide

Page 54 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

The following graphical elements of the GFT log are implemented:

message-based communication: send and receive operations, enqueued

message indication;

timer operations: start timer, stop timer, timer timeout;

procedure-based communication: call, getcall, reply, getreply, raise, catch;

verdict operations: setverdict;

display of ports and elements of port arrays that are actually involved in

communication operations;

display of functional diagrams for individual test components.

9.2 Using Example Test Suite

We will be using the gft_example project included in the OpenTTCN Tester

distribution. To access the example, you must first import the TTCN-3 code into the

workspace. When first starting OpenTTCN Tester, the welcome screen contains the

option to "Create example workspace". Select this option to create the example

projects including the gft_example project. If you have an existing workspace, either

create a new workspace for experiments, or select Help -> OpenTTCN Tester

Welcome Screen to access the welcome screen again, and create the gft_example

project.

The gft_example project is a simple test suite consisting of one test module. You can

run test cases included in the project by selecting the gft_example project launch

configuration from the list of launch configurations. The test campaign should execute

and you should receive pass verdicts.

9.2.1 Obtaining Graphical Log for the Example Test Campaign

Prior to running test cases, we need to make sure that XML logging and log storing

is enabled for the gft_example project launch configuration. Logs are stored in the

log repository as a collection of directories in the file system. Log repository is used

Page 55: OpenTTCN Tester User Guide

Page 55 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

by the GFT Log Viewer as a data source for graphical rendering of diagrams and their

output.

Log storing can be enabled by opening launch configuration settings for the

gft_example as illustrated by Figure 35 and ticking the corresponding checkbox as

illustrated by Figure 36.

Enabling this option is necessary for obtaining graphical logs of test campaigns.

Figure 35: Opening launch configuration for gft_example.

Page 56: OpenTTCN Tester User Guide

Page 56 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 36: Enabling log storing in the log repository.

Now we are ready to launch. Since the gft_example comes with a ready-made launch

configuration, simply select the gft_example launch configuration from the list of

launch configurations and run it.

9.2.2 Description of Test Cases in the Example Test Suite

There are three test cases in the gft_example test suite:

TC_Simple demonstrating message-based communication and timer

operations;

TC_Procedural demonstrating procedure-based communication;

TC_Concurrent demonstrating parallel execution involving multiple test

components.

Page 57: OpenTTCN Tester User Guide

Page 57 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

In TC_Simple we:

start the T_GUARD timer (line 65);

activate the DefaultAltstep altstep to catch all kind of unexpected input

messages and unexpected timeout events (line 66);

perform mapping of main test component ports to test system interface ports

(lines 68-69);

send a couple of messages to ports of the loopback adapter (lines 71-73);

start the T_wait timer (line 75);

wait for receipt of a message on port p1 (lines 77-88);

wait for receipt of a message on port ps[1] (lines 90-101);

wait for the T_wait timer timeout event (line 103);

stop the T_GUARD timer (line 104).

Notice that message sent on line 72 to port ps[0] never comes back, because this port

is not mapped to a test system interface port.

In TC_Procedural, in addition to basic test case setup operations similar to those

described for TC_Simple, we:

perform a procedural call (line 125);

wait for a procedural call from the loopback adapter (lines 128-139).

In TC_Concurrent we:

create two test components (lines 167, 170);

connect ports of the main test component to ports of created parallel test

components (lines 168, 171);

start behaviour functions on created test components (lines 173-174);

send messages to started parallel test components from the main test

component (lines 176, 179);

wait for response from parallel test components (lines 177, 180);

wait for all parallel test components to terminate (line 182);

set the pass verdict (line 183).

Page 58: OpenTTCN Tester User Guide

Page 58 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

9.2.3 Opening Log View Perspective for the Example Test Campaign

To be able to see GFT graphical logs generated during test campaign run, we need to

switch to Log View perspective from TTCN-3 perspective in Eclipse. This switching

is illustrated by Figure 37.

Figure 37: Switching from TTCN-3 perspective to Log View perspective.

9.3 Viewing Example Logs

9.3.1 Message-based, Procedure-based, and Timers

After Log View perspective is selected, you can view campaign logs as illustrated by

Figure 38 and Figure 39.

Page 59: OpenTTCN Tester User Guide

Page 59 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 38: Graphical log: Message-based communication and timers.

Figure 39: Graphical log: Procedure-based communication.

Page 60: OpenTTCN Tester User Guide

Page 60 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Clicking on an event in the Graphical log panel selects corresponding event in the

Structured log panel and updates the Log event panel accordingly.

Elements of graphical log diagrams presented in Figure 38 and Figure 39 are shown in

detail in Figure 40.

(a) Main test component instance

(b) Port instance

(c) The start timer operation

(d) The send operation

(e) A message was received in port and enqueued to the end of an incoming input

queue of a port

Page 61: OpenTTCN Tester User Guide

Page 61 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

(f) The receive operation

(g) The setverdict operation

(h) The timeout operation

(i) The stop timer operation

(j) The call operation

(k) The getcall operation

Figure 40: Magnified view of elements of graphical log diagrams.

Page 62: OpenTTCN Tester User Guide

Page 62 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

9.3.2 Concurrent Execution Involving Parallel Test Components

To obtain a graphical log diagram for a particular test component in a test case run

involving multiple parallel test components, select the corresponding test case in the

Campaign browser panel, then expand the test case to show the list of test

components created during the test case execution, then select the test component in

question to show its graphical log representation as illustrated by Figure 41.

Figure 41: Obtaining graphical log diagram for a parallel test component.

Page 63: OpenTTCN Tester User Guide

Page 63 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

10 OpenTTCN TTCN-3 Debugger

OpenTTCN TTCN-3 Debugger component provides the capability to debug TTCN-3

code at runtime. In the following, we explain the basic features of the debugger and

provide examples of debugging basic errors found in test suites.

At first brief description of OpenTTCN TTCN-3 Debugger functionality is given.

Next we demonstrate use of the debugger with a simple example test suite. Then we

demonstrate finding specific kinds of bugs from a test suite, such as deadlocks.

10.1 Functionality of OpenTTCN Debugger

OpenTTCN TTCN-3 debugger allows running TTCN-3 code in debug mode without

special debug compilation. Therefore all TTCN-3 code can be then run in debug mode

during TTCN-3 test case development and test case validation, allowing use of

debugger features with ease whenever needed. User can proceed debugging without

extra delay. Debugging is done in separate Eclipse Debug perspective.

The debugger allows setting break- and tracepoints by double clicking next to the

source code line of interest. Breakpoints allow suspending TTCN-3 test case

execution in order to allow examination of parameter and variable values at any given

line. Tracepoints allow inspection of parameter and variable values without

suspending the test case execution. Execution can be suspended when breakpoint is

hit, or when a user breaks execution manually. When the execution has been

suspended with the debugger, the execution can be continued with step in, step over,

step out, and continue instructions.

Multiple test components can be debugged in sequence. Test component to be

debugged can be selected from the list of available test components. This can be done

after the test execution has been suspended. Under the selected test component, the

user can select of specific stack frame for display of parameters and variable values of

that context.

Page 64: OpenTTCN Tester User Guide

Page 64 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

10.2 Debugging the Example Test Suite

We will be using the Fibonacci example included with the OpenTTCN Tester

distribution. To access the example, you must first import the TTCN-3 code into the

workspace. When first starting OpenTTCN Tester, the welcome screen contains the

option to "Create example workspace". Select this option to create the example

projects including the Fibonacci project. If you have an existing workspace, either

create a new workspace for experiments, or select Help -> OpenTTCN Tester

Welcome Screen to access the welcome screen again, and create the Fibonacci

example.

The Fibonacci example is a simple one test suite consisting of one test case. It uses a

Parallel Test Component (PTC) as a Fibonacci calculating server that can be

requested to calculate the i'th number in the Fibonacci sequence (0,1,1,2,3,5,8,13 and

so forth, read more at http://en.wikipedia.org/wiki/Fibonacci_number). After the PTC

is started and synchronized, the MTC then sends it a request to calculate the 10th

number in the Fibonacci series, and the PTC complies, responding with 55.

You can run the test case by selecting its launch configuration from the list of launch

configurations. The test campaign should execute and you should receive one pass

verdict. Next let's look at how to run the test case in the debugger.

10.2.1 Executing test campaigns in the debugger

The debugger uses the same launch configurations as normal test campaign execution.

First we must however define a breakpoint at the location we wish to examine in the

debugger. Open the Fibonacci.ttcn file (under Fibonacci project) in the editor by

double-clicking it. Let us place a breakpoint at the point where the recursive

fibonacci_recursive() function is invoked by the PTC. Navigate to line 70 and double-

click the left margin to set a breakpoint. Alternatively you can right-click the margin

and select "Toggle Breakpoint".

Page 65: OpenTTCN Tester User Guide

Page 65 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

You can see to breakpoint set in Figure 42. The margin location you must double-

click to set the breakpoint is circled in red (Note that the line numbers are not visible

by default, you can turn them on by right-clicking in the text editing area, select

"Preferences..." and in the dialog tick "Show line numbers").

Figure 42: Set breakpoint on the highlighted line by double-clicking on the margin.

Now that we have our breakpoint set, let’s switch to the debug perspective: Click on

the icon near the top right corner of your workbench showing a table with a plus sign.

From the list of perspectives, select "Debug". You can see this illustrated in Figure

43.

Figure 43: Open the debug perspective by clicking the plus icon and selecting Debug.

Page 66: OpenTTCN Tester User Guide

Page 66 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Now we are ready to launch. Since the Fibonacci example comes with a ready-made

launch configuration, simply select the same launch configuration you used to execute

the test campaign normally from the list of debug configurations to start debugging.

The proper menu is shown in Figure 44.

Figure 44: Launch the Fibonacci launch configuration as a debug configuration from the debug

dropdown menu.

The test campaign should start and rapidly break at the breakpoint we set. In the next

chapter, we'll go over how the debug perspective looks after breaking on a breakpoint

and the operations you can perform there.

10.2.2 Debugging with the Debug Perspective

When a breakpoint is hit, the debug perspective automatically shows the line where

the break happened. In this case, it's the line where we set our only breakpoint. Figure

45 shows what the debug perspective looks like after hitting the breakpoint.

Page 67: OpenTTCN Tester User Guide

Page 67 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 45: Debug perspective after hitting breakpoint.

Let’s run over the views visible on the debug workbench: On the top left is the Debug

view showing the currently running items. The Fibonacci test campaign is visible,

with two running test component, mtc and ptc1. From the toolbar in the Debug view

you can control the execution by breaking, continuing, terminating and stepping over

code. We'll get back to this later. Clicking on a stack frame will select that frame as

the active stack frame. The Variables and code views will be updated to show the

active stack frame.

On the top right of the perspective is the Variables and Breakpoints views. The

Breakpoints view is hidden in Image 4 behind Variables. The Breakpoints view

shows a list of active breakpoints, and you can also easily disable and remove

breakpoints there. The Variables view shows the variables in the active stack frame.

In this case its showing that the Fibonacci value we will be calculating (i) is 10.

Page 68: OpenTTCN Tester User Guide

Page 68 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

In the middle is the code and outline views, that show the code for the current stack

frame. Modifications made here will not be reflected in the running code until the test

campaign is restarted. At the bottom is the test log for the test campaign.

10.2.3 Debugger Controls

You can control the execution of the test campaign with the debugger controls shown

in Figure 46, or by pressing the corresponding hotkeys. The following list refers to the

red numbers shown in the image 5:

1) Resume (F8): Resumes execution of the test campaign regardless of how it

was suspended.

2) Suspend: Suspends a running test campaign at the next opportune time. Mostly

used for debugging deadlock situations.

3) Terminate (Ctrl-F2): Terminates the test campaign.

4) Step In (F5): Steps the active stack frame one line at a time, entering into any

functions.

5) Step Over (F6): Steps the active stack frame one line at a time, skipping over

any function calls (moves directly to next line in current stack frame).

6) Step Out (F7): Steps out of current stack frame. Execution continues until

current stack frame returns to the previous level.

Figure 46: Control buttons in the Debug view.

Page 69: OpenTTCN Tester User Guide

Page 69 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Let's try these controls with our debugging session. We were suspended at the

breakpoint where the system is about to call fibonacci_recursive(10) for the first time.

Try stepping though the code to see how the Fibonacci calculation proceeds. Make

sure you have ptc1 as the active stack frame and press F5 once to enter the

fibonacci_recursive function. Now press F6 four times to skip over the input check,

the end condition check and the two recursive call to fibonacci_recursive(). You

should end up on the last line of the function with the return statement, as shown in

Figure 47.

Figure 47: View on screen after stepping through the fibonacci_recursive() function.

Here in the Variables view you can see the fibMinusOne variable contains the sum

34 from one branch of the recursion, while fibMinusTwo shows the sum 21 from the

other branch of recursion. 34+21 is 55, which is indeed the 10th number in the

Fibonacci series we are calculating (variable i). You can now press F8 to let the test

campaign continue execution till the end.

Page 70: OpenTTCN Tester User Guide

Page 70 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

10.2.4 Debugger Summary

This simple example showed you how to navigate code in the debugger. As a test of

your skills, you could now try removing the break points set previously (e.g. through

the Breakpoints view) and set a new breakpoint at the end condition of the recursion.

This is line 40 as visible in Image 6 on the previous page, with the return i;

statement. If you now launch the debug session again, the execution will stop with

many levels of recursive calls of fibonacci_recursive() visible. You can click on the

stack frames to see the path the recursion has taken and see in the variables and their

values in each level of the stack.

If you press F8, the execution will continue until the next recursion hits the end

condition. Here you can see why this recursive algorithm is inefficient, as it will

recurse to the end condition very many times while calculating the same intermediate

results over and over, before arriving at a final result. You can also choose to use Step

Out (F7) and Step Over (F6) to work your way out from the recursive call one level at

a time and see how the end result is put together through the Variables view.

Debugging recursive code may be complex at times. Rest assured that it is much

easier to debug normal functional code.

Page 71: OpenTTCN Tester User Guide

Page 71 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

10.3 Debugging Common Problem Scenarios

Here we go through debugging of common problem scenarios. A common problem in

debugging test system with any level of parallelism, whether from Parallel Test

Components (PTCs) or a non-synchronous System Under Test (SUT).

10.3.1 Debugging Test Case Deadlocks

Deadlocks can occur when dealing with Parallel Test Components (PTCs). Our

Fibonacci example conveniently uses a PTC for calculations, so let's introduce a

deadlock into the PTC and see how the debugger helps in solving it.

10.3.2 Introducing the Deadlock

Let us comment out the terminating condition for the PTC, causing it to ignore the

termination message from the MTC. Find the line containing the code terminate :=

true; in the PTC behavior function fibonacci(). This should be located on line 67 as

shown in Figure 48. Place two slash characters before the line to comment it out ("//")

and save the document to compile the changes.

Figure 48: Line commented out to introduce a deadlock into the test.

Make sure your test session isn't still running and that you don't have any breakpoints

set (delete all breakpoints if there are any).

Page 72: OpenTTCN Tester User Guide

Page 72 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

10.3.3 Debugging the Deadlock

After the setup in the previous chapter, you are ready to start debugging the deadlock

issue. Launch the debug session as previously. This time the test campaign will not

break, since we did not set any break points. It does not reach its natural end either. It

is deadlocked.

To start solving the problem, select the launch in the Debug view and press the

Suspend button (looks like a pause button, with two yellow vertical bars). The test

execution will suspend, showing you that there are two test components running. Let's

look at what they are doing to find where the deadlock is. Start by clicking on the

topmost stack frame in mtc. The code shows that it is waiting for a PTC to be done.

From the variables view we can see it has already calculated the Fibonacci number,

and from the comment on the previous line we know it has already sent a message to

the PTC to terminate.

Based on the previous, let's see what the PTC is doing. Select the topmost stack frame

of ptc1 in the Debug view. It is waiting to receive a message. Looking at the

variables, you can see that the previous received message was -2 which is the

termination message, but the variable terminate is still false.

This trail leads us right to the line we commented out, which was supposed to set the

terminate flag to true when the terminate message is received. Now that we've found

the problem, remove the comment sign in front of the terminate line to remove the

bug and press save to compile the changes. To terminate the still deadlocked test

campaign, you must press the red stop button in the Debug view. Finally, you can

launch the test campaign again in Debug mode to confirm that it indeed runs through

smoothly once again.

Page 73: OpenTTCN Tester User Guide

Page 73 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

11 OpenTTCN Adapter Library

OpenTTCN has packaged ready to use TTCN-3 adapters as OpenTTCN Adapter

Library so that OpenTTCN users can avoid writing commonly used adapters. By re-

using TTCN-3 adapters from OpenTTCN Adapter Library OpenTTCN users can

faster implement new test system from tested and proven components maintained by

OpenTTCN. These adapters implement TTCN-3 SUT adapter functionality to send

and receive messages using the interface or protocol. These adapters also include a

number of existing codec components that allow integration with complete adapters

without programming or with limited programming.

Now, commonly used interfaces of:

serial port,

UDP socket,

TCP socket, and

HTTP

can be taken into use without programming, simply by starting OpenTTCN Serial

(otserial.exe), UDP (otudp.exe), TCP (ottcp.exe), or HTTP (othttp.exe) adapter from

OpenTTCN IDE or from command-line both in Windows and in Linux. These

adapters are located in <install path>/bin directory. The interface of these adapters is

defined in <install path>/lib/ttcn/AdapterLib.ttcn TTCN-3 module.

In addition, users can easily write new TTCN-3 adapters by deriving and sub-classing

SerialPort, UdpPort, TcpPort, or HttpPort C# classes that represent the TTCN-3 ports

of Serial, UDP, TCP, and HTTP adapters of OpenTTCN Adapter Library

respectively. This allows creating new adapters that implement new TTCN-3 ports or

combine multiple TTCN-3 ports into one adapter.

Alternatively, users can use the full power of TTCN-3 Runtime Interface (TRI) and

program the adapter from scratch using OpenTTCN SDK for C#, C++, ANSI C, or

Java. Writing OpenTTCN SUT adapters is easy by following the “HOW TO” articles

of adapter programming published in http://wiki.openttcn.com.

Page 74: OpenTTCN Tester User Guide

Page 74 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

All four language mappings of TTCN-3 TRI interface (C#, C++, ANSI C, and Java)

are available with all OpenTTCN Tester editions without extra cost. This allows

implementing each adapter with the most suitable programming language. Adapters

written in different programming languages can be used in the same test system

without difficulty.

OpenTTCN also offers SIP Adapter (Session Initiation Protocol specified in IETF

RFC 3261) and CORBA Adapter as option for OpenTTCN Tester.

The adapters of OpenTTCN Adapter Library can be used with OpenTTCN provided

or user written codec component. The OpenTTCN provided codec components are

explained in the following chapter 12.

11.1 Overview

Adapters from OpenTTCN Adapter Library can be used by starting adapter

executables or by using the adapter C# port classes as starting point when

programming your own adapters. Starting existing adapters as executables allows use

of common transports (serial port, UDP, TCP, and HTTP) without programming.

Programming your own adapters allows greater flexibility for the adapters and better

productivity by re-using existing code.

You can use codec from OpenTTCN Codec Component Library with UDP, TCP, or

HTTP Adapter including:

Direct (Encoding) Codec,

XML Codec,

BER Codec, or

Custom codec.

In the following chapters, adapters in the OpenTTCN Adapter Library are described

in detail.

Page 75: OpenTTCN Tester User Guide

Page 75 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

11.2 Serial Adapter

Serial Adapter is OpenTTCN TTCN-3 Serial (USB or RS232) SUT adapter for

sending and receiving serial traffic. Serial Adapter was originally developed for

issuing AT commands for mobile phones during mobile phone testing. The adapter is

addressed using either COM ports or devices depending on the operating system.

Serial Adapter is taken into use in your own TTCN-3 module by the following import

statement:

import from AdapterLib { group Serial };

See <install path>/lib/ttcn3/AdapterLib.ttcn for the interface of the Serial Adapter.

In addition the following libraries need to be added into your TTCN-3 compilation:

-lAdapterLib –lUsefulTypes

Start otserial.exe without command-line options for help about the options needed to

start OpenTTCN Serial Adapter.

11.3 UDP Adapter

UDP Adapter is OpenTTCN TTCN-3 UDP SUT adapter for sending and receiving

UDP packets with remote hosts. The adapter can act as both UDP server and client

depending on the needed set-up. The adapter allows handling UDP packets up to 64K.

Both IPv4 and IPv6 addresses are supported when addressing remote hosts.

UDP Adapter is taken into use in your own TTCN-3 module by the following import

statement:

import from AdapterLib { group UDP };

See <install path>/lib/ttcn3/AdapterLib.ttcn for the interface of the UDP Adapter.

Page 76: OpenTTCN Tester User Guide

Page 76 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

In addition the following libraries need to be added into your TTCN-3 compilation:

-lAdapterLib –lUsefulTypes

Start otudp.exe without command-line options for help about the options needed to

start OpenTTCN UDP Adapter.

11.4 TCP Adapter

TCP Adapter is OpenTTCN TTCN-3 TCP SUT adapter for sending and receiving

traffic using TCP connections with remote hosts. The adapter can act as both TCP

server and client depending on the needed set-up. The adapter supports multiple

preconfigured modes for handling TCP connection establishment and release

including connection establishment when traffic is sent, or using user sent connection

control messages. The adapter also supports multiple operating modes including

packet, stream, and various operating modes required by HTTP protocol. In addition,

the user can easily program additional operating modes based on existing hook

methods. Both IPv4 and IPv6 addresses are supported when addressing remote hosts.

TCP Adapter is taken into use in your own TTCN-3 module by the following import

statement:

import from AdapterLib { group TCP };

See <install path>/lib/ttcn3/AdapterLib.ttcn for the interface of the TCP Adapter.

In addition the following libraries need to be added into your TTCN-3 compilation:

-lAdapterLib –lUsefulTypes

Start ottcp.exe without command-line options for help about the options needed to

start OpenTTCN TCP Adapter.

Page 77: OpenTTCN Tester User Guide

Page 77 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

11.5 HTTP Adapter

HTTP Adapter is OpenTTCN TTCN-3 HTTP SUT adapter for sending and receiving

HTTP requests and responses with remote hosts. The adapter can act as both web

server and browser (client) depending on the needed set-up. The adapter supports

multiple modes. Both IPv4 and IPv6 addresses are supported when addressing remote

hosts.

HTTP Adapter is taken into use in your own TTCN-3 module by the following import

statement:

import from AdapterLib { group HTTP };

See <install path>/lib/ttcn3/AdapterLib.ttcn for the interface of the HTTP Adapter.

In addition the following libraries need to be added into your TTCN-3 compilation:

-lAdapterLib –lUsefulTypes

Start othttp.exe without command-line options for help about the options needed to

start OpenTTCN HTTP Adapter.

11.6 Customizing Your Own Adapter

Sometimes the provided adapter executables are not providing some detail needed. In

these cases you can create new adapters by re-using the C# classes of the existing

serial, UDP, TCP, and HTTP adapters and customize their behavior using C# code.

The adapter implementation using adapter framework (C# classes implementing the

adapter library) is described in the following article:

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Creating_Ad

apters_with_Adapter_Framework

Page 78: OpenTTCN Tester User Guide

Page 78 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

12 OpenTTCN Codec Component Library

OpenTTCN has packaged ready to use TTCN-3 codecs (TTCN-3 coding and

decoding implementations) as OpenTTCN Codec Component Library so that

OpenTTCN users can avoid writing codec for commonly used transfer syntaxes. By

re-using TTCN-3 codecs from OpenTTCN Codec Component Library OpenTTCN

users can faster implement new test system from tested and proven components

maintained by OpenTTCN. These codecs implement TTCN-3 coding and decoding

functionality to encode and decode messages and parameter lists of procedures and

external functions.

Now, commonly used transfer syntaxes of:

Direct Encoding (transfer syntax used by ETSI for describing encoding of bit

protocols used in GSM and 3G protocols, etc. applicable also for Internet

Protocol messages defined using bit fields),

XML,

ASN.1 BER, and

ASN.1 PER

can be taken into use by instantiating a codec component from the adapter of

command-line or from C# / C++ source code, depending on the codec component.

Alternatively, users can use the full power of TTCN-3 Control Interface – Coding and

Decoding (TCI-CD) and program custom codec from scratch using OpenTTCN SDK

for C#, C++, ANSI C, or Java. Writing OpenTTCN codec is easy by following the

“HOW TO” articles of adapter programming published in http://wiki.openttcn.com.

All four language mappings of TTCN-3 TRI interface (C#, C++, ANSI C, and Java)

are available with all OpenTTCN Tester editions without extra cost. This allows

implementing each codec with the most suitable programming language. Codecs

written in different programming languages can be used in the same test system

without difficulty as long as the SUT adapter is written in the same programming

language also.

Page 79: OpenTTCN Tester User Guide

Page 79 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

OpenTTCN also offers SIP Adapter (Session Initiation Protocol specified in IETF

RFC 3261) and CORBA Adapter as option for OpenTTCN Tester. These adapters

contain special SIP codec and CORBA CDR codec handling the special encoding and

decoding needs of these protocols.

12.1 Overview

Codecs from OpenTTCN Codec Component Library can be used by starting adapter

executables or by instantiating the codec components from the adapter C# code when

programming your own adapters. Starting existing adapters as executables allows use

of common transfer syntaxes (Direct Encoding, XML, and BER) without

programming. Programming your own adapters allows greater flexibility for the

codecs and better productivity by re-using existing code.

You can use codec from OpenTTCN Codec Component Library with UDP, TCP, or

HTTP Adapter including:

Direct (Encoding) Codec,

XML Codec,

BER Codec, or

Custom codec.

In the following chapters, codecs in the OpenTTCN Codec Component Library are

described in detail.

12.2 Direct Codec for Direct Encoding of Bit Protocols

Direct Codec is OpenTTCN TTCN-3 Direct Encoding Coding and Decoding

providing Direct Encoding transfer syntax encoding and decoding as defined by ETSI

specifications such as LTE test documentation. Direct Encoding is based on guidance

given by encode attributes from standard TTCN-3 libraries such as ETSI UsefulTypes

Page 80: OpenTTCN Tester User Guide

Page 80 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

or ETSI CommonLib or from similar attributes used in the user's own type

definitions.

The Direct Codec has been successfully applied for writing codecs for multiple

protocols including: DNS, DHCP, ICMP, and IGMP.

Direct Codec Component is identified by the:

http://www.openttcn.com/Codecs/2012/Direct URI when it is instantiated.

You can find more information about the use of Direct Codec from the following

article:

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Direct_code

c_explained

Direct Codec is replacing Standard Codec in OpenTTCN Tester as the recommended

tool for encoding and decoding of bit protocol messages.

12.3 XML Codec

XML Codec is OpenTTCN TTCN-3 XML Coding and Decoding providing XML

transfer syntax encoding and decoding for structures generated by XML Schema to

TTCN-3 translator.

The XML Codec is successfully applied for writing codecs for multiple protocols

including: Netconf, TR069, and multiple customer specific protocols.

XML Codec Component is identified by the:

http://www.openttcn.com/Codecs/2011/XML URI when it is instantiated.

You can find more information about the use of XML Codec from the following

article:

Page 81: OpenTTCN Tester User Guide

Page 81 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Creating_NE

TCONF_Over_SOAP_XML_Codec

12.4 BER Codec

BER Codec is a dynamic TTCN-3 coding and decoding library provided as C# library

allowing user friendly encoding and decoding of ASN.1 data using Basic Encoding

Rule (BER) transfer syntax. No generated code. If ASN.1 definitions are changed,

only recompilation of ASN.1 definitions and restart of TTCN-3 adapter are necessary.

BER Codec is available in Professional Edition and Enterprise Edition.

The BER Codec is successfully applied for writing codecs for multiple protocols

including: CMPv2 (Certificate Management Protocol), SNMPv2 (Simple Network

Management Protocol), SNMPv3, and payment card related protocol based on EMV

standard.

BER Codec Component is identified by the:

http://www.openttcn.com/Codecs/2011/BER URI when it is instantiated.

You can find more information about the use of BER Codec from the following

article:

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Creating_SN

MP_BER_Codec

12.5 PER Codec

PER Codec is a dynamic TTCN-3 coding and decoding library provided as C++

library allowing user friendly encoding and decoding of ASN.1 data using Packet

Encoding Rule (PER) transfer syntax. No generated code. If ASN.1 definitions are

changed, only recompilation of ASN.1 definitions and restart of TTCN-3 adapter are

necessary. PER Codec is available in Professional Edition and Enterprise Edition.

Page 82: OpenTTCN Tester User Guide

Page 82 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Please note the PER codec currently supports the unaligned PER transfer syntax and

that it available for C/C++ code using ANSI C API.

The PER Codec is successfully applied for writing codecs for multiple protocols

including: DSRC (Digital Short Range Communication), and EFC (Electronic Fee

Collection) application.

PER Codec Component is identified by the:

http://www.openttcn.com/Codecs/2011/PER URI when it is instantiated.

Contact [email protected] for more information and example about the use of PER

codec.

12.6 Writing Your Own Codec Component

After you have implemented a regular TTCN-3 coding and decoding using C# or

C++, turning that codec to OpenTTCN codec component is easy task by

implementing a few extra codec component specific operations. The codec

component implementation is described in the following article:

http://wiki.openttcn.com/media/index.php/OpenTTCN/Knowledge_base/Writing_Cus

tom_Codec_Component

Page 83: OpenTTCN Tester User Guide

Page 83 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

13 Java adapter development using OpenTTCN Tester 2012 GUI

13.1 Overview

If you installed the complete package including SDK for Java, the OpenTTCN Tester

2012 GUI may be used for Java adapter development. This is done using the popular

Eclipse Java Development Tools, which are included in the package. This chapter

provides a tutorial to the Java development by going through the examples included

with the OpenTTCN Java Development Kit.

To begin with, let's assume that you have OpenTTCN Tester 2012 running and you

have created the example workspace from the welcome screen. In order to develop

TTCN-3 adapters using Java, we have a couple of steps to be performed:

1. Create a Java project or import an existing project to the workspace. In this

example we import existing projects.

2. Setup the build path to OpenTTCN SDK for Java library and corresponding

javadoc documentation.

3. Start writing Java code!

13.2 Importing a Java project

Because some of the OpenTTCN Java development kit examples are supplied as

Eclipse projects, they can be imported into the workspace as-is. From the main menu,

select File -> Import... and an import wizard will be launched. In this wizard, select

General -> Existing Projects Into Workspace as shown in the next figure.

Page 84: OpenTTCN Tester User Guide

Page 84 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 49: Import dialog.

After clicking Next in the import dialog, you will be presented with the Import

Projects window. There are three points of interest, illustrated in the subsequent

figure:

Root directory. Select the OpenTTCN Tester 2012 Installation

Path/sdk4java/examples.

Project selection. This list contains the Eclipse projects that were found inside

the root directory. Here we can see the hello example.

Copy projects into workspace. Checking this selection instructs eclipse to

create a local copy of all the data files. This is recommended in order to

prevent potential problems with file access permissions as well as to keep

things simple: all your data files are inside the workspace.

Page 85: OpenTTCN Tester User Guide

Page 85 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 50: Importing adapters projects to workspace.

Select the projects as shown in the figure and click Finish to proceed with the import.

13.3 Setting up Java compilation

After the import finishes, you will be taken back to the main workbench view. In this

case, the examples contain both TTCN-3 code and Java code. The example projects

have the OpenTTCN nature and compiler enabled by default, and therefore the

TTCN-3 code will be built straight after import. This can be seen in the build log. To

enable Java compilation, there are a couple of steps to be taken:

Page 86: OpenTTCN Tester User Guide

Page 86 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Switch to Java perspective

Setup path to OpenTTCN SDK libraries

To switch the perspective, click on the Open perspective button in the top-right

corner, as shown in the next figure.

Figure 51: Switch perspective button.

From the perspective list select Other... and then Java from the list. In the Java

perspective, you will notice an error icon at the freshly imported projects, as well as

several problems in the Problems tab. These are illustrated in the next figure.

Page 87: OpenTTCN Tester User Guide

Page 87 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 52: Problems tab for adapter compilation problems.

These problems are caused by not having the build path set to OpenTTCN SDK

libraries, and may be corrected by setting up the build path as follows:

1. Right-click on the project java_hello_example

2. Select OpenTTCN Tester -> Setup Java SDK build path

After this, the errors will disappear and the adapters will be built automatically. At

this point the IDE will compile either TTCN-3 or Java files, depending on the

perspective. To go back to editing TTCN-3, select the TTCN-3 perspective at the top

right corner. In order to run the examples entirely within the GUI, there is one more

step to be taken: Launch configurations. Chapters 7.6 and 7.7 describe the process of

creating the launch configurations, and the next section discusses the options specific

to Java adapters developed inside the OpenTTCN Tester 2012 GUI.

Page 88: OpenTTCN Tester User Guide

Page 88 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

13.4 Running Java adapters

First of all, it is important to note that the .bat script files inside the example projects

are not suitable for running the adapter, compiling the test suite or running the tests

from the GUI. The .bat files are only intended to be used from the command line.

Compared to other adapters, the Java adapters can be considered somewhat a special

case. There are two reasonable options for running them, each with their benefits and

downsides:

Option 1: OpenTTCN adapter launch configuration

Adapter launch configurations are described in chapter 7.6, and the same procedure

may be applied for Java adapters that are built within the GUI. Once set up, this

method allows convenient, automatic adapter startup during the test campaign startup.

However, the setup requires moderate amount of work, making it less ideal for a

quick test. On other hand, the option 2 described below is quick and convenient to set

up, but requires manual startup of the adapter before test execution.

In the first approach, the OpenTTCN adapter configuration must start java.exe (as

opposed to the typical adapter.exe) with appropriate arguments which will instruct the

JVM to start the adapter. This procedure is not really specific to OpenTTCN Tester,

and therefore is not covered here in detail, but the start_adapter.bat supplied with the

examples may be used as a starting point. Java.exe must be provided with path to the

OpenTTCN.SDK.jar, jacorb.jar, slf4j-api-1.5.6.jar, and slf4j-jdk14-1.5.6.jar as well as

to the javac output directory.

Option 2: Start as Java application

The second approach utilizes the built-in Eclipse Java Development environment

tools to launch the application. To begin, click the arrow at the Run as.." toolbar

Page 89: OpenTTCN Tester User Guide

Page 89 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

button to open the launch configurations and select the Run Configurations.." menu

item. This is illustrated in the following figure.

Figure 53: Run configuration for Java adapter.

In the Run Configurations window, right-click the Java Application and select New.

Fill the relevant fields, particularly in the Main tab. This adapter requires no

arguments, and therefore we only need to fill the main tab, as shown below.

Page 90: OpenTTCN Tester User Guide

Page 90 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Figure 54: Setting up a run configuration for Java adapter.

Once the adapter run configuration is set up, we may proceed to actually executing

the example. Following the instructions in chapter 7.7, set up also a run configuration

(OpenTTCN Test Suite) for the java_hello_example project. Only the project has to

be selected, all other default values are fine. It is also recommended to select the

"Display in favorites menu" option on the Common tab.

Finally, go back to the TTCN-3 perspective and then launch first the adapter and then

the test execution from the Run as... dropdown menu on the toolbar. If everything was

configured correctly, the adapter will start in one of the windows inside the Console

view (as described in chapter 6), and the test execution log is shown in another

console view. The test will fail with a timeout if no SUT is running. Please refer to

README.txt and start_sut.bat found in the SDK installation hello example directory

for instructions on starting the SUT used in this example.

Page 91: OpenTTCN Tester User Guide

Page 91 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

14 Command-line Tools Quick Reference

The next two pages give short “how-to” instructions for people who want a quick start

into the command-line tools of OpenTTCN Tester. You are recommended to use the

graphical user interface for normal operation, the command-line is provided for the

convenience of advanced users.

14.1 Controlling System Services

Multiple test campaigns can be run while the testing server is running. In Linux

platform the testing server can be started on the operating system start-up, and kept

running until rebooted. The graphical user interface automatically starts the system

services, and requires them to be running during operation.

Start a testing server for a single session: ot start

Stop a testing server: ot stop

Finding out OT ID that identifies your license key: ot id

14.2 Session Management

Sessions correspond to the project name in the graphical user interface. Test

scripts are automatically imported to a session with the name of the project when

compiled. You should select a session name that does not conflict with OpenTTCN

Tester GUI project names for command-line use.

Create a testing session: session create SessionName3

List available testing sessions: session list

Delete a testing session: session delete SessionName3

14.3 Loading modules

Loading a TTCN-3 module: importer3 load SessionName3 ModuleName.ttcn

Loading an ASN.1 module: importer3 load SessionName3 ModuleName.asn1

Page 92: OpenTTCN Tester User Guide

Page 92 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

14.4 Running test cases

Running all test cases of a module: tester run SessionName3 @all

Running TTCN-3 control part: tester run SessionName3 @control

Running a test case: tester run SessionName3 TC_while

Running a list of test cases: tester run SessionName3 TC_if TC_for TC_while

14.5 Loading values of module parameters

Loading of values of module parameters needs to be done only if values differing

from the default values of module parameters are used.

Loading TTCN-3

module parameters: importer3 param SessionName3 ParameterFile.par

14.6 Handling errors

Stopping a test case/tester: Press Control-C

(For example if a test case hangs)

Page 93: OpenTTCN Tester User Guide

Page 93 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

14.7 Typical Commands Sequences

The testing server shall be running before issuing any of the following commands.

Instructions how to start a testing server are given in section 14.1, above.

1. Commands given to start a SUT Adapter and register the adapter to a testing

session

depends on the SUT Adapters used6, for example: startif

a testing session name to where the adapter is registered is specified in the

above start-up script, after this registration the tester and the SUT Adapter

can communicate; the tester can issue a “map” operation to SUT Adapter,

and communication using “send”, “receive”, and procedure-based

communication operations is possible

2. importer3 load SessionName3 ModuleName.ttcn

a test suite in a file ModuleName.ttcn is loaded to SessionName3 session

3. tester run SessionName3 @all

all test cases in the test suite loaded to SessionName3 session are executed

6 By OpenTTCN Ltd convention, the test system interface start-up command is put to a file that is

called in Linux “start_adapter.sh” or “startif.sh”, and in Windows

“start_adapter.bat” or “startif.bat”.

Page 94: OpenTTCN Tester User Guide

Page 94 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15 Testing Using OpenTTCN Tester command-line

Testing using OpenTTCN Tester command-line utilities follows seven steps:

1. Starting a Test System (if it is not running already),

2. Selecting a Testing Session,

3. Setting Up a Tester for Testing New Implementation,

4. Checking Feasibility of Starting Full Testing,

5. Running All Tests,

Stopping a Test Campaign

6. Reviewing Tests Results,

7. Stopping a Test System (if no further tests are to be run).

This chapter describes how to accomplish these steps.

15.1 Starting Test System

A complete OpenTTCN Tester based test system consists of the server part of

OpenTTCN Tester, and SUT and Platform Adapters.

To start an OpenTTCN test system you need to perform the following operations in

sequence:

1. Start the server part of OpenTTCN Tester,

2. Start SUT and Platform Adapters, and optionally standalone Coding and

Decoding.

Page 95: OpenTTCN Tester User Guide

Page 95 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.1.1 Starting the Server Part of OpenTTCN Tester

Starting the server part of an OpenTTCN Tester is the first step to start an OpenTTCN

test system.

Instructions:

Issuing “ot start” command starts the server part of an OpenTTCN Tester.

During the start-up of the server part of the OpenTTCN Tester, the “ot start”

command launches an “openttcnd” daemon process in the background and returns

silently if no errors occurred.

15.1.2 Starting SUT and Platform Adapters and Coding and Decoding

Starting the SUT and Platform Adapters and standalone Coding and Decoding is the

last step to start an OpenTTCN test system.

The start-up instructions for the SUT and Platform Adapters and standalone Coding

and Decoding depend on the specific adapters. Please consult the end-user

documentation of the adapters for instructions how to start them. Coding and

decoding co-located in another adapter is started together with the adapter in question.

Generic start-up instructions for SUT and Platform Adapters and Coding and

Decoding usually include starting the executable(s) that implements the SUT Adapter,

the Platform Adapter, and the Coding and Decoding, and the adapters register

themselves directly to a specific testing session.

Page 96: OpenTTCN Tester User Guide

Page 96 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.2 Selecting Testing Session

If the OpenTTCN Tester you are using is a part of a complete test system coming

from integrator or value added reseller, the test system usually comes with a number

of pre-configured testing sessions and you can select the testing session you want to

use by specifying the testing session name for the commands that you issue. The first

step you can do is to find out a list of available testing sessions.

Instructions to list available testing sessions:

Issuing “session list” command displays a list of available testing sessions.

When you have found out the name of the test session, this testing session name is

specified as the second parameter for each command, i.e. “importer3 load Demo3

demo3.ttcn”, “tester run Demo3 @all”, etc.

A user of OpenTTCN Command-Line Utilities may work with multiple currently

active testing sessions at a time. A user can create and delete sessions, and ask a

current status of a session. A testing session holds information about used modules,

values of module parameters, and addresses of SUT and Platform Adapters and it can

be referred by a testing session name.

Sessions correspond to projects in the graphical user interface. Any changes to the

session from the command line will also change the session in the graphical user

interface.

Instructions to create a testing session:

Issuing “session create Demo3” command creates a new testing session with a name

“Demo3”.

Page 97: OpenTTCN Tester User Guide

Page 97 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Instructions to ask a current status of a testing session:

Issuing “session status Demo3” command shows the current status of an existing

testing session with a name “Demo3”.

Instructions to delete a testing session:

Issuing “session delete Demo3” command deletes an existing testing session with a

name “Demo3”.

15.3 Compiling TTCN-3 and ASN.1 Modules

New test suites including TTCN-3 and ASN.1 modules needs to be compiled and

loaded to OpenTTCN test suite repository before testing can be performed. The

loading process includes syntax check, semantic checks, and compilation of the

source code to intermediate OpenTTCN FS format that can be used by test

components implementing OpenTTCN virtual machine. When the test case is started

the final just in time type of compilation is performed by the test component from the

intermediate OpenTTCN FS format taken from the test suite repository.

The test suites and TTCN-3 and ASN.1 modules are held in the OpenTTCN test suite

repository until they or the test session they are held is erased.

Loading a TTCN-3 module: importer3 load SessionName3 ModuleName.ttcn7

Loading an ASN.1 module: importer3 load SessionName1 ModuleName.asn1

Instructions to load a new TTCN-3 module:

Loading a new TTCN-3 module is a simple one step process, loading a module to a

test suite repository that is associated to a testing session. Instructions to perform this

are in the following.

7 ETSI recommends “.ttcn” file prefix to be used for files storing TTCN-3 modules written in TTCN-3

Core Language.

Page 98: OpenTTCN Tester User Guide

Page 98 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Issuing “importer3 load Demo3 demo3.ttcn” command loads a module using

TTCN-3 core notation format from a file “demo3.ttcn” to a testing session with a

name “Demo3”.

Instructions to load multiple TTCN-3 modules to the same testing session:

Multiple TTCN-3, modules can be loaded to the same testing session. Multiple

modules can be loaded by placing all loaded modules to same list and invoking a

single “importer3 load” command. In this case all dependencies are automatically

resolved between the modules based on correct TTCN-3 import statements included

in the modules.

Example: Loading multiple modules at once:

importer3 load ModuleDemo mod1.ttcn mod2.ttcn mod3.ttcn

Multiple modules can be loaded by invoking separate “importer3 load” commands for

each TTCN-3 module. In this case, the user needs to make sure that the modules are

loaded in such order that all dependencies can be resolved between the modules. This

means that a module can be loaded only if you have already loaded modules that this

new module is dependent on.

Example: Loading multiple modules in sequence:

importer3 load ModuleDemo mod1.ttcn

importer3 load ModuleDemo mod2.ttcn

importer3 load ModuleDemo mod3.ttcn

The above example assumes that mod1.ttcn is totally independent of other two

modules, the mod2.ttcn can depend on mod1.ttcn, and the mod3.ttcn can depend on

mod1.ttcn and mod2.ttcn.

Instructions to load a new ASN.1 module:

Page 99: OpenTTCN Tester User Guide

Page 99 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Loading a new ASN.1 module is a simple one step process, loading a module to a test

suite repository that is associated to a testing session. Instructions to perform this are

in the following.

Issuing “importer3 load asn1 DemoTypes.asn1” command loads a module using

ASN.1 syntax format from a file “DemoTypes.asn1” to a testing session with a name

“asn1”.

Multiple ASN.1 modules can be loaded to the same testing session. The ASN.1

modules need to be loaded before any TTCN-3 modules that are depended on the

ASN.1 definitions.

15.4 Test Parameterization

When a new Implementation Under Test (IUT) is tested using OpenTTCN Tester

command-line tools, you need to inform the OpenTTCN Tester about the special

implementation options and implementation specific values this new implementation

is using in order to specialize the used test suite for testing this particular

implementation.

This process of information the tester about which optional features are implemented

and which specific values are used when a range of values are allowed by the standard

is called Test Parameterization.

In the Test Parameterization, the claimed implemented optional capabilities and

specific values used in the Implementation Under Test are first recorded in the

Protocol Implementation Conformance Statement (PICS) document that is then used

to give correct values to module parameters. The module parameters are then used to

parameterize the used Abstract Test Suite (ATS) so that it can be used for testing.

Similarly, some extra information needed for testing is first recorded in the Protocol

Extra Information for Testing (PIXIT) document that is then used to give correct

Page 100: OpenTTCN Tester User Guide

Page 100 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

values to some module parameters. This extra information may include addresses and

description of some capabilities of the test system.

Preparations:

1. Fill in a PICS Proforma document producing a PICS document

2. Fill in a PIXIT Proforma document producing a PIXIT document

3. Extract values of module parameters from the filled PICS and PIXIT

documents to a module parameters file. The module parameters file is in

TTCN-3 Core Language format and gives a list of values of module

parameters with their name, type, and value. The values used shall describe

properties of the Implementation Under Test or the test system.

Instructions to load values of TTCN-3 module parameters:

Loading a new set of values of TTCN-3 module parameters is a simple one step

process, loading a set of values of module parameters to a parameter repository that is

associated to a testing session. Instructions to perform this are in the following.

Issuing “importer3 parameterize Demo3 parameters.par” command loads a new

set of values of module parameters from a file “parameters.par” to a testing session

with a name “Demo3”.

If no syntax errors are found in the parameters, the values of the module parameters

are loaded to testing session. Otherwise, the command will display an error message

to show the error details.

15.4.1 Using Multiple Par Files

Normally, it is simplest to keep module parameter values in a single value as

described in the previous chapter. In some cases, it is necessary or feasible to split

module parameter values to multiple module parameter value (.par) files. Using

Page 101: OpenTTCN Tester User Guide

Page 101 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

multiple .par files requires special attention when using “importer3 parameterize”

command.

Instructions to load values of TTCN-3 module parameters from multiple files:

Loading a new set of values of TTCN-3 module parameters can be accomplished

during one step process or by invoking multiple commands with special append

option.

One step process to load module parameter values from multiple files:

Issuing “importer3 parameterize DemoX parameters1.par parameters2.par

parameters3.par” command loads a new set of values of module parameters from

three module parameter value files “parameters1.par”, “parameters2.par”, and

“parameters3.par” to a testing session with a name “DemoX”.

Multi-command process to load module parameter values from multiple files:

Issuing the following three commands loads a new set of values of module parameters

from three module parameter value files “parameters1.par”, “parameters2.par”, and

“parameters3.par” to a testing session with a name “DemoX”. Please note that the

first command is without and the last two commands are invoked with (-a) append

option.

“importer3 parameterize DemoX parameters1.par“

“importer3 parameterize -a DemoX parameters3.par“

“importer3 parameterize -a DemoX parameters3.par“

Page 102: OpenTTCN Tester User Guide

Page 102 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.5 Checking Feasibility of Starting Full Testing

Before starting a full Test Campaign, it is better to check if this is feasible. This can

be simply done by selecting a couple of test cases with simple test purposes that any

stable Implementation Under Test should handle. These test cases are called Basic

Interconnection Tests (BIT) which are simple tests selected from the whole set for this

purpose. If the most simple test cases found errors or there is a test system set-up

problem that is detected, there is no use continue testing further, before these

problems are first corrected.

Instructions:

First, start those test cases with “tester run” command that you want to run as Basic

Interconnection Tests. Look for the list of these test cases in the end-user

documentation of your test system.

For example, issuing “tester run Demo3 TC_1 TC_2” command starts testing using

information in “Demo3” testing session, and starts a list of test cases as specified in

the end of the command, here two test cases, “TC_1”, and “TC_2” are started.

If all of these simple test cases show “pass” verdict, you are more ready to run the

remaining test cases. Any “fail” verdicts usually indicate problems in the

Implementation Under Test. Any “inconc” verdicts usually indicate problems in the

test system set-up.

15.6 Running All Tests

In the conformance testing of a protocol, it is customary to run all possible test cases

as the testing can be automated.

Instructions to run all TTCN-3 test cases:

Issuing “tester run Demo3 @all” command starts testing using information in

“Demo3” testing session, and starts all test cases in the test suite associated with the

Page 103: OpenTTCN Tester User Guide

Page 103 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

used testing session. This form of running all tests can be used for TTCN-3 test cases.

When TTCN-3 test cases are executed from command-line, the TTCN-3 test cases

shall not have parameter lists.

Instructions to run a TTCN-3 control part:

Issuing “tester run Demo3 @control” command starts testing using information in

“Demo3” testing session, and starts all test cases in the test suite associated with the

used testing session under the control of TTCN-3 control part. This form of running

all possible tests can be used for TTCN-3 test cases only, because only TTCN-3 test

suite contains a control part used by this command. If TTCN-3 test cases are

executed, the TTCN-3 test cases may have parameter lists.

The execution of all test cases may take seconds or hours depending on the number

and the type of the test cases used.

The following chapter discusses how the test results are reviewed.

15.6.1 Stopping Test Campaign

You can prematurely terminate a running test campaign by pressing Control-C where

the tester command is executing, and the issuing “tester terminate” command in the

same window to stop the testing server.

Instructions to stop a test campaign:

Issuing “tester terminate Demo3” command stops test campaign currently running

using information in “Demo3” testing session.

Page 104: OpenTTCN Tester User Guide

Page 104 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.7 Reviewing Tests Results

Test results can be reviewed in two phases. First by getting an overview of the test

results of the last test campaign, and then if necessary, review the conformance log of

an individual test case.

15.7.1 Reviewing Test Result Summary

After a test campaign with one or more test cases has been executed, a summary of

the test results is displayed. This allows the user to see a summary of the execution

results of the most recent test campaign.

Example:

tester run Demo3 @all : : a few to thousands of log lines later : ************************************************************ *** TEST EXECUTION SUMMARY Pass Fail Inconc None Error Total Duration 211 0 0 0 0 211 00:00:28

Page 105: OpenTTCN Tester User Guide

Page 105 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Instructions:

In the end of log produced by “tester run” command, you can see a summary of the

test results of the previous Test Campaign. Get an overview of the test result and

proceed accordingly. The following list gives instructions how to proceed in different

situations.

Symptoms Action

Any “error” verdict Problem in the test system or the test system is used

incorrectly; determine the cause of this with the technical

support of your test system.

Many “inconc” verdicts. Problem in the test system set-up, check that you have installed

and configured the test system correctly and that you are using

right testing project and correct set of module parameters. Re-

run the test cases that produced “inconc” verdicts to see if the

problem persists.

Many “fail” verdicts. Problem in the Implementation Under Test; determine the

cause for this many “fail” verdicts before you continue.

Many “pass” verdicts, some “fail”

verdicts, few “inconc” verdicts.

Problem in the Implementation Under Test; typical situation in

the first round of testing. First check that you are using the

right testing project and correct set of module parameters. Re-

run the test cases that produced “fail” and “inconc” verdicts to

see if the problem persists.

All “pass” verdicts. No indications of non-conformance has been found in the

Implementation Under Test.

Table 1: Possible actions after different types of test results

The summary information displayed in the Reports tab consists of the following:

Pass: shows the number of test cases that produced a “pass” verdict. The

“pass” verdicts shows that no indication of non-conformance has been found

from the IUT,

Fail: shows the number of test cases that produced a “fail” verdict. The “fail”

verdict shows that indication of non-conformance has been found from the

IUT,

Inconc: shows the number of test cases that produced an “inconc”

(inconclusive) verdict. The “inconc” verdict shows that it cannot be concluded

Page 106: OpenTTCN Tester User Guide

Page 106 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

weather the IUT shows indication of non-conformance or the IUT shows no

indication of non-conformance,

Error: shows the number of test cases that produced an “error” verdict. The

“error” verdict shows possible problem in the test system,

None: shows the number of test cases that has not produced any verdict,

Total: shows the total number of test cases in the test suite. The total number

of test cases should be the same as the number of test cases in Pass, Fail,

Inconc, Error, and None columns added together, and

Duration: shows the duration of the test campaign execution.

15.7.2 Reviewing Assigned Verdicts

The conformance logs should be viewed to see the details how a test case was

executed and to review the assigned verdicts. These logs need to be created by re-

directing the tester command output to a file, so that the created conformance logs can

be later inspected.

Instructions to save conformance log:

Issuing “tester run Demo3 @all > Demo3.log” command starts testing using

information in “Demo3” testing session, starts all test cases in the test suite associated

with the used testing session, and saves the conformance log to a log file named

“Demo3.log” in the current directory.

Alternative instructions to save conformance log in Linux:

Issuing “tester run Demo3 @all | tee Demo3.log” command in Linux command

prompt starts testing using information in “Demo3” testing session, starts all test cases

in the test suite associated with the used testing session, and both displays the

conformance log to the display and saves it to a log file named “Demo3.log” in the

current directory.

The next chapters will explain actions necessary for different verdicts.

Page 107: OpenTTCN Tester User Guide

Page 107 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.7.2.1 Reviewing Test Case with PASS Verdict

A test case with a “pass” verdict shows that no indication of non-conformance has

been found. No manual review of test logs in this case is needed, unless you want to

see an example how successful test case execution is recorded to a conformance log

or you want to double check the log.

15.7.2.2 Reviewing Test Case with FAIL Verdict

A test case with “fail” verdict shows that an indication of non-conformance has been

found.

When a “fail” verdict is given for a test case, this has a side effect from the fact that

an error may have occurred in the IUT. After a test case execution produces a “fail”

verdict, the test results of the test campaign following this test case cannot be trusted.

The Test Campaign may be run to completion, but the results of the test cases after

the one that produced the first “fail” verdict may be invalid. If a “fail” verdict is

found, the whole test campaign shall be executed after the error has been correct to

produce accurate results for those test cases that that were executed after the one that

produced a “fail” verdict. This property results from the principles used in ISO/IEC

9646 testing standards.

15.7.2.3 Reviewing Test Case with INCONC Verdict

A test case with “inconc” (inconclusive) verdict shows that it cannot be concluded

weather the IUT shows indication of non-conformance or the IUT shows no

indication of non-conformance.

A detailed inspection of test log and regressions testing is needed to determine the

reason of this verdict. The cause of “inconc” verdict can be a set-up or configuration

problem of the test system.

Page 108: OpenTTCN Tester User Guide

Page 108 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

15.7.2.4 Reviewing Test Case with ERROR Verdict

A test case with “error” verdict shows a problem in the test system.

As the complete test system consists of OpenTTCN Tester, SUT and Platform

Adapters, the test suite used, and the values of module parameters, the cause of

“error” verdict can be in any of these parts. Contact your first level technical support

to determine the cause of this verdict. The occurrence of this type of verdict should be

rare, but it also shows the correct behavior of the test system, as internal errors are

shall be detected and recorded.

15.8 Stopping Test System

This chapter gives instructions how to stop a complete OpenTTCN test system that

consists of the server part of OpenTTCN Tester, and SUT and Platform Adapters.

To stop OpenTTCN test system, perform the following operations in sequence:

1. Stop SUT and Platform Adapters and Coding and Decoding,

2. Stop Server Part of OpenTTCN Tester.

The following chapters give instructions for the above operations.

15.8.1 Stopping SUT and Platform Adapters and Coding and Decoding

Stopping the SUT and Platform Adapters and standalone Coding and Decoding is the

first step to stop an OpenTTCN test system.

The stopping instructions for the SUT and Platform Adapters and standalone Coding

and Decoding depend on the specific adapters. Please consult the end-user

documentation of your test system how to stop these adapters.

Page 109: OpenTTCN Tester User Guide

Page 109 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Generic stopping instructions for the SUT and Platform Adapters and standalone

Coding and Decoding usually include un-registering the Platform Adapter address,

the SUT Adapter address, and the Coding and Decoding address from the OpenTTCN

Tester, and after that, stopping the executable(s) that implement the SUT and Platform

Adapters and the Coding and Decoding.

Instructions to un-register SUT and Platform Adapter addresses:

Issuing “session unregister Demo3 TRI” command un-registers a combined SUT

and Platform Adapter from an existing testing session with a name “Demo3”.

Instructions to un-register standalone Coding and Decoding address:

Issuing “session unregister Demo3 TCI_CD” command un-registers a standalone

Coding and Decoding adapter from an existing testing session with a name “Demo3”.

Instructions to stop SUT and Platform Adapters:

Issuing “session stop Demo3 TRI” command stops a combined SUT and Platform

Adapter from an existing testing session with a name “Demo3”.

Instructions to stop standalone Coding and Decoding adapter:

Issuing “session stop Demo3 TCI_CD” command stops a standalone Coding and

Decoding from an existing testing session with a name “Demo3”.

15.8.2 Stopping the Server Part of OpenTTCN Tester

Stopping the server part of an OpenTTCN Tester is the last step to stop an

OpenTTCN test system. The graphical user interface will perform this automatically.

Instructions:

Issuing “ot stop” command stops the server part of an OpenTTCN Tester.

Page 110: OpenTTCN Tester User Guide

Page 110 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16 OpenTTCN Command-line Reference

The OpenTTCN command-line utilities consist of set of commands for test control:

“ot”, “session”, “tester”, “importer3”, and “importer2”. These commands control

the test execution of the server part of OpenTTCN Tester.

16.1 The “ot” Server Start-Up Utility

The ot server start-up utility controls OpenTTCN Testing Server, i.e. the server part of

OpenTTCN.

The command options of “ot” are:

start,

stop,

status,

id

help.

Each command option is described in the following sections.

16.1.1 Start a Testing Server

The “ot start” starts an OpenTTCN Testing Server. If there are no errors in the start-

up, the command returns silently. When the tester has been started, other test control

commands, i.e. “session”, “tester”, “importer3”, and “importer2” can be issued.

Multiple testing sessions can share the testing server.

Command Syntax and Example:

ot start

Page 111: OpenTTCN Tester User Guide

Page 111 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.1.2 Stop a Testing Server

The “ot stop” stops a running OpenTTCN Testing Server. The command performs a

safe testing server termination including saving testing session data to be used when

the tester is started next time. If there are no errors in the stopping of testing server,

the command returns silently.

Command Syntax and Example:

ot stop

16.1.3 Inquiry of a Testing Server Status

The “ot status” prints the status of an OpenTTCN Testing Server.

Command Syntax:

ot status

Example 1 – OpenTTCN server is running normally:

ot status

OpenTTCN server is running.

Example 2 – OpenTTCN server is not started; or it is already stopped or terminated:

ot status

OpenTTCN server is not running.

Page 112: OpenTTCN Tester User Guide

Page 112 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.1.4 Print License Key OpenTTCN Identification

The “ot id” command prints a license key OpenTTCN identification (OT ID) number

uniquely identifying your license key. The format is xxx-xxx, where x is digit from

range 0-9.

Command Syntax and Example:

ot id

16.1.5 Print Command-Line Help

The “ot help” command or “ot” command without any arguments prints a list of

available commands of this tool and allowed arguments.

Command Syntax and Example:

ot help

16.2 Session Utility

Session utility controls information about current testing session, i.e. information that

is used to execute a test campaign.

The command options of session tool are:

create

delete,

register,

unregister,

stop,

status,

list,

version

help.

Each command option is described in the following sections.

Page 113: OpenTTCN Tester User Guide

Page 113 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.2.1 Create a Session

The “session create” command creates a new testing session with the specified name

to be used to store various pieces of information used during a following test

campaigns and separate this information from the information used in different test

campaigns that can be executed in sequence or in parallel by the same test system.

A testing session can be created explicitly by the “session create” command or

implicitly by the “importer3 load” or “importer2 load” command.

The session stores the following pieces of information:

test suite (consisting of TTCN-3 and ASN.1 modules),

optionally values for module parameters8,

address of the Platform Adapter9, and

address of the SUT Adapter10

.

Command Syntax:

session create session_name

Example:

session create Demo3

8 Module parameter is a term used in association with TTCN-3.

9 Platform adapter is a term used in TTCN-3 architecture about an entity which implements TTCN-3

external functions.

10 SUT adapter is a term used in TTCN-3 architecture about an entity which implements TTCN-3 test

system interface and ports.

Page 114: OpenTTCN Tester User Guide

Page 114 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.2.2 Delete a Session

The “session delete” command deletes the testing session and deletes or releases all

information associated to it such as the test suite, values of module parameters, and

addresses of SUT and Platform Adapters.

Command Syntax:

session delete session_name

Example:

session delete Demo3

16.2.3 List Sessions

The “session list” command lists all available test sessions.

Command Syntax and Example:

session list

Page 115: OpenTTCN Tester User Guide

Page 115 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.2.4 Show a Session Status

The “session status” command gives a report of the specified testing session. The

“session status” command will tell the status of:

parameter repository: if a parameter repository is registered or not,

main test component: if a main test component is registered or not,

adapters: registered SUT and Platform Adapters, interface server(s), and

operation server,

suites and modules: list of loaded TTCN-3 and ASN.1 modules.

Command Syntax:

session status session_name

Example:

session status Demo3

16.2.5 Unregister a Test System Interface

A SUT or Platform Adapter can be programmed to register the address of the adapter

to a named testing session. After the execution of the program implementing a SUT

Adapter finishes the registration of the adapter in the testing session needs to be un-

registered.

The un-registration of a testing session needs to be done in order to avoid conflicts

due to having the save adapter address registered to multiple testing sessions or

having an invalid adapter address still registered to a testing session after the

execution an adapter has been already terminated.

The use of “TRI” as the identifier of the test system interface designates to the tester

that all sub-interfaces of the TRI (i.e. both triCommunication (for SA) and triPlatform

(for PA)) maybe found by using this identifier. The use of “TRI_SA” as the identifier

of the test system interface designates to the tester that only the triCommunication

Page 116: OpenTTCN Tester User Guide

Page 116 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

(for SA) sub-interface is found by using this identifier. For more detailed explanation

of the use of the identifier of the test system interface, refer to the Table 2, below.

TRI TRI_SA TRI_PA Semantics

- - - Both SA and PA are undefined.

- - “TRI” defines both SA and PA.

- - “TRI_SA” defines SA, PA is undefined.

- “TRI_SA” defines SA, “TRI” defines PA.

- - “TRI_PA” defines PA, SA is undefined.

- “TRI_PA” defines PA, “TRI” defines SA.

- “TRI_SA” defines SA, “TRI_PA” defines PA.

“TRI_SA” defines SA, “TRI_PA” defines PA,

“TRI” not used.

Table 2 Semantics of registering SUT and platform adapters using predefined “TRI”, “TRI_SA”,

and “TRI_PA” test system interface identifiers from the perspective of a test component

Un-registering the address of the SUT adapter in the testing session is done by

invoking the “session unregister“ command.

The “session unregister” command removes a registration of a test system interface

from the specified testing session.

The argument “pco_name“ is the identifier of the test system interface used. The

“TRI” identifier is used for the TTCN-3 test system interface.

Command Syntax:

session unregister session_name pco_name

The parameters of the command are the name of the testing session (e.g.

“UdpSession”), and the identifier of the test system interface (“TRI_SA” or “TRI”).

Page 117: OpenTTCN Tester User Guide

Page 117 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Example:

Command to un-register the address of the SUT adapter in the testing session

session unregister UdpSession TRI_SA

More examples:

session unregister Demo3 TRI

session unregister Demo3 TRI_PA

16.2.6 Print Version Information

The “session version” command prints the version number of this tool.

Command Syntax and Example:

session version

16.2.7 Print Command-Line Help

The “session help” command or “session” command without any arguments prints a

list of available commands of this tool and allowed arguments.

Command Syntax and Example:

session help

Page 118: OpenTTCN Tester User Guide

Page 118 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.3 Tester Utility

Tester utility controls the execution of the test cases.

The command options of tester tool are:

run

terminate

version

help

Each command option is described in the following sections.

16.3.1 Run Tests

The “tester run” command starts a test campaign and runs the requested test cases

and produces a detailed conformance log to standard output. The command can be

give one test case name or a list of test case names. The command also understands

special “@all” and “@control”11

options.

The “@all” option causes all the test cases in the associated test suite to be run.

The “@control” option causes test cases in the associated test suite to be run under

the control of TTCN-3 control part.

The “tester run” command initializes the tester automatically by invoking an

initialization command that previously was issued separately. This initializes the

tester from the information in the session at the time of initialization. The information

supplied to the testing session prior to the initialization is used, and changes to the

testing session does not take effect until the next tester initialization except the new

11 The “@control” option is available only for TTCN-3 test suites.

Page 119: OpenTTCN Tester User Guide

Page 119 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

registrations of test system interface. The tester reads the current test system interface

address information from the test session before each test case is executed.

Command Syntax:

tester run session_name testcase_name+

tester run session_name @all

tester run session_name @control

Examples:

tester run Demo3 TC_while

tester run Demo3 TC_while TC_if TC_for

tester run Demo3 @all

tester run Demo3 @control

The “tester run” command accepts various options between the “tester run” and the

name of the session. A current list of these options and detailed information how they

are used can be found by invoking “tester help” command.

16.3.2 Print Version Information

The “tester version” command prints the version number of this tool.

Command Syntax and Example:

tester version

16.3.3 Print Command-Line Help

The “tester help” command or “tester” command without any arguments prints a list

of available commands of this tool and allowed arguments.

Command Syntax and Example:

tester help

Page 120: OpenTTCN Tester User Guide

Page 120 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.4 Importer3 Utility

The importer3 utility controls the use of TTCN-3 and ASN.1 modules. The importer3

utility is used to load TTCN-3 and ASN.1 modules and values of TTCN-3 module

parameters into a repository from which the tester accesses parameterized test cases

just before tests are run. Other modules can share information from the loaded

modules using the TTCN-3 import statement.

The command options of importer utility are:

load

parameterize

help.

Each command option is described in the following sections.

16.4.1 Load Test Suite

The “importer3 load” command loads a TTCN-3 test suite or other TTCN-3 or

ASN.1 modules into a repository. Each module is loaded to specified testing session,

or if the session does not exist, it is created automatically. If the session exists but

there is another module already loaded using the same module identifier, the

command replaces the old module with the new one.

A module is expected to be in ASN.1 format, if the file suffix is “asn” or “asn1”12

,

otherwise TTCN-3 Core Language format is expected instead.

When a module that requires definitions from other modules is loaded, all modules

that are referenced by TTCN-3 import statement by this module need to be already

loaded to the same testing session or they need to be specified in the same command

line when invoking a “importer3 load” command.

12 Also “ASN” and “ASN1” file suffixes denote ASN.1 files.

Page 121: OpenTTCN Tester User Guide

Page 121 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Command Syntax:

importer3 load session_name module_name+

Examples:

importer3 load Demo3 demo3.ttcn

importer3 load Demo3 demo3.ttcn module1.ttcn module2.ttcn

16.4.2 Analyse a Test Suite

The “importer3 load” command performs a syntax and semantic analysis for the

specified TTCN-3 test suite or TTCN-3 or ASN.1 module. The semantic analysis is

invoked only if the syntax analysis does not find any syntax errors.

16.4.3 Suite Using TTCN-3 Module Parameters

The “importer3 parameterize” command loads values of TTCN-3 module

parameters from file in TTCN-3 Core Language format13

into a repository. The

values of module parameters loaded to specified testing session, or if the session does

not exist, it is created automatically. If the session exists but there are other parameter

values already loaded using the same parameter names, the command replaces the old

parameters values with the new ones.

Command Syntax:

importer3 parameterize session_name parameter_file_name

importer3 param session_name parameter_file_name

Example:

importer3 param Demo3 parameters.par

13 Only one “module” section can exist in that file, in addition to optional “group” sections.

Page 122: OpenTTCN Tester User Guide

Page 122 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

16.4.4 Print Command-Line Help

The “importer3” command without any arguments prints a list of available

commands of this tool and allowed arguments.

Command Syntax and Example:

importer3

Page 123: OpenTTCN Tester User Guide

Page 123 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

17 Using TTCN-2 Compiler Option with OpenTTCN Tester

OpenTTCN Tester 2012 offers TTCN-2 compiler as a separate option. This option is

enabled by updating the license key a new license having this option enabled.

Compliance: TTCN-2 compiler option supports TTCN-2 language standardized by

ISO 9646-3:1998 and ITU-T X.292:1998 standards as described in OpenTTCN Tester

2012 release notes.

TTCN-2 compiler features:

compilers TTCN-2 test suites,

accepts .MP (machine processable) files for compilation,

supports TTCN-2 (Tree and Tabular Combined Notation) testing language,

supports ASN.1 language both embedded to TTCN-2 test suites and as

separate modules,

compiler users TTCN-3 adapters (SUT adapter, platform adapter, and coding

and decoding) when communicating with System Under Test (SUT), and

translates TTCN-2 types, PDUs, and ASPs to TTCN-3 type definitions to

facilitate programming the necessary adapters.

TTCN-2 .MP files can be compiled using command-line tools or using OpenTTCN

IDE. In the following command-line instructions are given. If you want to use

OpenTTCN IDE, please first create a TTCN-3 project, and then drag-and-drop or

import the TTCN-2 .MP file to the TTCN-3 project by following the instructions

given in this user guide.

Compiling TTCN-2 test suite:

ot start

importer2 load <session name> <.MP file name>.mp

e.g. importer2 load MAC MAC_OBU.mp

Page 124: OpenTTCN Tester User Guide

Page 124 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Compiling ASN.1 modules and TTCN-2 test suite:

ot start

importer3 load <session name> <ASN.1 file name>.asn1

importer2 load <session name> <.MP file name>.mp

e.g.:

importer3 load MAC *.asn *.asn1

importer2 load MAC MAC_OBU.mp

If there are no errors in the TTCN-2 compilation, you can proceed to program the

TTCN-3 adapters (SUT adapter, platform adapter, and coding and decoding) needed.

These adapters are programmed using the TRI and TCI-CD interfaces described in the

ETSI ES 201 873-5 (TRI) and ES 201 873-6 (TCI-CD) standards. If needed,

OpenTTCN provides adapter programming training or turn-key adapter projects.

Please note adapter projects range from a couple of days projects to multi-year

projects.

TTCN-3 SUT adapter is used to implement TTCN-2 SEND and RECEIVE

communication through TTCN-2 PCO with real System Under Test.

TTCN-3 platform adapter is used to implement TTCN-3 test suite operations.

TTCN-3 coding and decoding is used to implement encoding and decoding of needed

transfer syntax.

After you have compiled TTCN-2 test suite successfully, you can translate TTCN-2

types, PDUs, and ASPs to TTCN-3 type definitions to facilitate programming the

necessary adapters.

Page 125: OpenTTCN Tester User Guide

Page 125 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Translating TTCN-2 types, PDUs, and ASPs to TTCN-3 type definitions:

mkdir <new directory>

cd <new directory>

exporter3 export <session name>

e.g. exporter3 export MAC

The new directory now contains TTCN-3 files that shows the type definitions

needed for programming the adapters.

Page 126: OpenTTCN Tester User Guide

Page 126 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

18 OpenTTCN Tester Configuration File

OpenTTCN Tester uses OpenTTCN.ini for configuring options used by different

OpenTTCN tools. By default the OpenTTCN.ini configuration file is located in

C:\ProgramFiles\OpenTTCN\Tester2012\etc (32-bit Windows) or C:\Program Files

(x64)\OpenTTCN\Tester2012\etc (64-bit Windows).

The default configuration file created during the installation contains the following

lines.

################### # OpenTTCN config # ################### # OpenTTCN Tester configuration file. ######################### # network configuration host = 127.0.0.1 port = 5500 ######### # paths install-path = C:\Program Files (x86)\OpenTTCN\Tester2012 # Path for variable data. Same as install-path by default. #instance-path = # java.exe (on linux just java) is a special name that causes searching the # system path to find the binary #java-runtime = java.exe ########### # features # Configure debug logging for tracking errors. # Valid values are between 0 and 40, higher being more verbose. #debug-level = 0 # Proxy configuration for internet connectivity. #proxy-address = ip_address:port # Supported proxy types are: HTTP, SOCKS4, SOCKS5 #proxy-type = HTTP #proxy-login = user:password # By default proxy settings are read from Internet Explorer settings. # Uncomment the line below to disable the use of proxy. #disable-proxy = yes

Page 127: OpenTTCN Tester User Guide

Page 127 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

18.1 Changing configuration settings

To change a configuration setting:

1. stop OpenTTCN server, by closing the graphical user interface or by

typing: ot stop

2. change configuration setting from configuration file using a text editor

3. start OpenTTCN Tester

18.2 Commonly used configuration settings

Configuration Setting Description

host OpenTTCN server IP address. Default: 127.0.0.1. If you run

TTCN-3 adapters in different computer, this setting shall be

set to the real IP address of the computer.

port OpenTTCN server TCP and UDP port number. Default: 5500.

If the default port is reserved by some other application you

may need to change this setting to other available port.

install-path Directory where OpenTTCN Tester is installed and set by the

installer. Defaults: C:\Program Files\OpenTTCN\Tester2012

(32 bit Windows) and C:\Program Files

(x64)\OpenTTCN\Tester2012 (64 bit Windows)

instance-path Directory for variable data, such as system repository. Placed

in your home directory by default.

Table 3: Common configuration settings in the configuration file.

18.3 Java related configuration settings

Configuration Setting Description

java-runtime Java runtime executable program name. In Windows, the

system path is search for Java runtime, if java-runtime setting

is specified as java.exe. Default: java.exe (Windows)

Table 4: Java related configuration settings in the configuration file.

Page 128: OpenTTCN Tester User Guide

Page 128 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

18.4 System configuration settings

Configuration Setting Description

debug-level Selects if OpenTTCN produces extra debugging information.

By default extra debugging information is not produced.

Default: 0

proxy-address Address of proxy to use for internet connection in

“ip_address:port” format.

proxy-type Type of proxy server. Supported values: HTTP, SOCKS4,

SOCKS5

proxy-login User and password for the proxy server in “user:password”

format.

disable-proxy By default the proxy may be autoconfigured from Internet

Explorer settings. Enabling this option will disable the use of

the autoconfigured proxy.

Table 5: System configuration settings in the configuration file.

The proxy configuration is automatically updated by OpenTTCN Tester during

startup of the graphical user interface, and it is recommended to edit the information

from the License Management dialog of OpenTTCN Tester.

Page 129: OpenTTCN Tester User Guide

Page 129 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

19 Files Created by OpenTTCN

OpenTTCN Tester creates and/or appends data to the following kind of files during its

operation.

Test log files

OpenTTCN IDE saves text and graphical test log data to <workspace>\.metadata\

.plugins\com.openttcn.reprise.repository\data directory if user has selected Run > Run

Configurations… > Store log to log repository option. User can delete these files in

Log View perspective using Campaign browser by clicking Delete data of selected

campaigns (indicated by red X mark) button.

Compiler intermediate files

OpenTTCN Tester saves intermediate files with .fs file suffix resulting from

compilation of TTCN-3, etc. modules to var directory located in the instance

directory. User can delete these files while OpenTTCN Tester is not running, if user is

prepared to compile the necessary modules again.

Test case error list

OpenTTCN Tester appends test case error records to messages file in the logs

directory located in the instance directory. User can delete this file.

IDE problem log

If OpenTTCN IDE has problems it may append error information to

<workspace>/.metadata/.log file.

OpenTTCN recommends user to send this file to OpenTTCN together with version

information to facilitate debugging of IDE problems. User can delete this file.

Page 130: OpenTTCN Tester User Guide

Page 130 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

Tester problem dump files

If OpenTTCN Tester command-line binary terminates abnormally in Windows, it

may create Windows process dump files to %temp% directory (use “cd %temp%”

command to get there) with name <name of command>_<timestamp>_<process

id>.dmp and <name of command>_<timestamp>_<process id>_full.dmp.

If OpenTTCN Tester command-line binary terminates abnormally in Linux, it may

create core files to current working directory. Usually user needs to allow creation of

core files for this to happen.

OpenTTCN recommends user to send these files to OpenTTCN together with version

information to facilitate debugging of tester problems. User can delete these files.

Page 131: OpenTTCN Tester User Guide

Page 131 of 131

OpenTTCN Tester 2012 User Guide

© 2012 OpenTTCN Ltd. All rights reserved.

20 Contacting OpenTTCN

Please give us your feedback about OpenTTCN Tester 2012 and send your questions

using [email protected] e-mail address.

Latest user guides and training course materials can be found from:

http://www.openttcn.com/support/user-guides

Tutorials and articles about OpenTTCN use and programming can be found from:

http://wiki.openttcn.com

You can contact OpenTTCN sales by [email protected] e-mail.

OpenTTCN wishes you a good time using OpenTTCN Tester 2012!