This document proposes a presentation on integrating the TTCN-3 testing framework with the Robot test automation framework and Jenkins continuous integration tool to provide end-to-end test automation. The integration allows TTCN-3 test cases to trigger Robot tests for GUI or web validations, with Robot notifying TTCN-3 when validations are complete. Jenkins is used to schedule and monitor repeated executions of Robot test cases across multiple environments. The approach provides benefits like GUI validation during TTCN-3 tests, configuration changes on remote systems during testing, and end-to-end test automation.
1. TTCN-3 User Conference 2012 Presentation Proposal
June 11-14, 2012, Bangalore, INDIA page 1 of 3
Name of Authors: Rajesh Kumar Bathina
Name of Presenter: Rajesh Kumar Bathina / Jayakishor Bhanja
E-mail of Contact Person: Kumar.rajesh@wipro.com
Telephone Number: +49 151 4350 5388
Contact Address: Telefonica O2 Germany GmbH,
Room No C116, Georg Brauchle Ring, 23-25
80992 München
Presentation Title: Practical integration of TTCN3 with Robot test automation framework and
Jenkins continuous integration tool.
Intended Audience: TTCN3 users
Summary of Presentation
TTCN3 provides us various flavours of testing techniques and varied advantages. I will focus on one
such suggestion which integrates TTCN3 with Robot test automation framework and Jenkins
continuous integration system to provide End-to-End automation.
Let us consider a scenario in which TTCN3 is interacting with SUT and at the same time the test case
requires to perform some sort of GUI validations (NMS/EMS) or external interface notifications. In
such cases using TTCN3 alone might not provided complete automation. To address the above said
issue, we used a practical integration of TTCN3 with other free ware tools like Robot test automation
framework and Jenkins.
Robot is a keyword driven generic test automation framework built using python widely used for
acceptance testing. Its testing capabilities can be extended by test libraries implemented either with
Python or Java, and users can create new keywords from existing ones using the same syntax that is
used for creating test cases (http://code.google.com/p/robotframework/). The Robot framework has an
external test library named selenium used for web testing as well Java GUI testing.
In our implementation, the Robot will trigger the TTCN3 test case execution and then gives control to
TTCN3 thus the test case can be executed. One of the PTC will have an external sync port which has
connectivity to the Robot PC and using this port the TTCN3 will send control to Robot (explained as
‘A’ in the above picture). On receiving the control Robot can perform any intended GUI/Web validation
like checking for alarms in NMS, setting some parameters in GUI. Thus the TTCN3 PTC will be on
wait mode till the external validation or notification is completed by Robot.
As soon as the required task is completed by Robot, the control is now released back to PTC for the
rest of the test case execution (explained as ‘B’ in the above picture).
2. TTCN-3 User Conference 2012 Presentation Proposal
page 2 of 3
Jenkins is an application which monitors executions of repeated jobs, such as building a software
project or jobs run by cron (http://jenkins-ci.org/). We can integrate Jenkins to build a batch of Robot
cases to be executed in parallel on multiple network setups and to monitor the execution.
We can create jobs in Jenkins to include multiple test cases and this can be executed as nightly
regression batches. We can also configure e-mail to get real-time notifications on failures at the end
of the regression suite execution.
We can achieve following advantages by integrating TTCN3 with Robot and Jenkins:
Man Machine Language commands required to be sent to the Network Element during the testcase
execution or as preamble/postamble.
NMS/EMS or GUI validation during the TTCN3 testcase execution
Configuration changes on far end Network elements during execution.
3. TTCN-3 User Conference 2012 Presentation Proposal
page 3 of 3
Evaluation Criteria
1. Which categories of your presentation are covered according to the Call for Papers?
(practical experiences, design/test process, training/education, future of TTCN-3, etc.)
Practical Experience and Test process improvement
2. What is the novelty in your presentation?
This approach is in use in our project to manage nightly batch execution and reporting. Also execute
MML commands on the near and far-end NE during the case execution.
3. What are the benefits of your chosen approach or method over existing ones?
Main advantage of this approach is to achieve end-to-end automation which includes GUI
validation during the TTCN3 case execution
Interop testing which requires configuration modifications on far end network element is
possible by using this approach where any configuration changes needed during the execution
that affects the behaviour of SUT can be achieved.
4. How can the approach or method be re-used by other organizations?
The defined message structure is re-usable in various testing scenarios. Most of our network
testing and system testing will require us to perform some GUI validation or web based
application checking during the case exection
This can be integrated with existing suites.
Further Details (optional)