Title: TTCN-3 Users Conference
1TTCN-3 Users Conference
- Practical integration of TTCN-3 with Robot test
automation framework and Jenkins continuous
integration tool.
- Rajesh Kumar Bathina,
- Technical Leader, Wipro Technologies
2Candidate Details
Photo
Name Rajesh Kumar Bathina
Organization Wipro Technologies
E-Mail ID kumar.rajesh_at_wipro.com
Phone number 49 151 4350 5388
Date of Presentation 13th June 2012
3 4- TTCN-3 provides us various flavours of testing
techniques and varied advantages. - I will focus on one such implementation which
integrates TTCN-3 with Robot test automation
framework and Jenkins continuous integration
system to provide End-to-End automation. - We have practically achieved the interworking of
TTCN-3, Robot test automation framework and
Jenkins CI system for one of our vendors. - I have considered a requirement in which TTCN-3
should interacting with SUT and at the same time
the test case requires to perform some GUI
validations (NMS/EMS) or external interface
notifications. - In such scenarios using TTCN-3 alone might not
provided complete automation and so we might use
some thirdparty freeware tools to interwork with
our automation framework to make it complete. - Subsequent slides will provide the details of our
approach to address above issues.
5- TTCN-3 integration with Robot
Above picture shows a practical integration of
TTCN-3 with other free ware tools Robot test
automation framework.
6TTCN-3 integration with Robot cont..
- Robot and its advantages
- Robot is a keyword driven generic test automation
framework built using python widely used for
acceptance testing. - Robot's testing capabilities can be extended by
test libraries implemented either with Python or
Java - Users can define new keywords from existing ones
to implement a wider functionality. - The Robot framework includes an external test
library named selenium used for web testing as
well Java GUI testing. - Integration with TTCN-3 server
- In our implementation, the Robot was made to
trigger the TTCN-3 test case execution always and
then it gives control to TTCN-3 thus the test
case execution continues. - Above point is achieved by making the Robot login
to the TTCN-3 Linux server and trigger the test
case. - Robot has the luxury to run preamble before the
test cases execution at TTCN starts and then
releases the control to TTCN server for further
execution. - Once the control is sent to TTCN-3, the actual
execution will take place between the components
and the SUT.
7Web /GUI client
External Synchronization control send (A)
TTCN-3 Tester
Robot PC
Network Element
External Synchronization control receive (B)
- One of the PTC will have an external sync port
which has connectivity to the Robot PC and using
this port the TTCN-3 will send control to Robot.
Refer to A in above diagram. - 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 TTCN-3 PTC will be on wait mode till the
external validation or notification is completed
by Robot. - Soon after the required task is completed by
Robot, the control will then be released to PTC
for the rest of the test case execution. Refer to
B in above diagram. - Finally Robot gets the control after the TTCN-3
execution completion which will perform postamble
operation.
8- Jenkins integration with Robot and TTCN-3
- Jenkins is an application which monitors
executions of repeated jobs, such as building a
software project or jobs run by cron jobs. - 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
JENKINS PC
TTCN-3 Tester
Robot Case-1
Robot Case-2
Robot Case-3
Robot Case-4
Robot Case-n
Detailed reporting of Test Case execution and
pass percentage
Web /GUI client
Note Jenkins can be configured on either Linux
or Windows environment
9Jenkins integration with Robot and TTCN-3 cont..
- Jenkins provides the luxury of configuring
e-mails to get real-time notifications on
failures at the end of the regression suite
execution. - We can achieve following advantages by
integrating TTCN-3 with Robot and Jenkins - Man Machine Language commands required to be
sent to the Network Element during the test case
execution or as preamble/postamble. - NMS/EMS or GUI validation during the TTCN-3 test
case execution - Configuration changes on far end Network elements
during execution. -
10- Achieve end-to-end automation which includes GUI
validation during the TTCN-3 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 - 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
- This approach is in use in our project to manage
nightly regression execution and reporting via
emails.
11- Robot Test Automation Framework
- http//code.google.com/p/robotframework/
- Jenkins Continuous Integration tool
- http//jenkins-ci.org/
12Thank You
- Rajesh Kumar Bathina
- Wipro Technologies