SGSN Automation Testing Using TTCN3Authors: Jyothi GavaraNikhil Rahul Ekka
Why Automation Testing Its Fast Less manual labour Less Bandwidth on the Testing tools Can be run over night to save the system bandwidth to use the available resources effectively. Can be scheduled with Timer. Reduces Cost
Automation Testing with TTCN3 • SGSN Automation Testing with TTCN3 can be achieved by combined Implementation of ROBOT Framework and Jenkins Integration set up with TTCN3
SGSN Interfaces & Protocol Stacks HLR SCP LIC SMS-GMSC MAP BSSAP + MAP CAP TCAP TCAP TCAP SCCP SCCP SCCP M 3 UA SCCP M 3 UA SCTP M 3 UA M 3 UA LIP v1 SCTP IP SCTP SCTP TCP IP IP IP IP Gd Ge Gf Gr BSC Li Q3 RFC1006 TCP CG Iu-PS CP (over IP) IP GMM / SM RANAP Iu-PS UP (over IP) Ga SCCP GTP M 3 UA UDP SCTP IP EIR SGSN BSC IP Gs MAP TCAP Gn/Gp Gn/Gp Gb (over IP) Gb (over FR) SCCP SGSN M3UA MSC/MSS GMM / SM GMM / SM SCTP GTP GTP’ GTP BSSGP BSSGP IP UDP UDP UDP GGSN LLC LLC IP IP IP BSSGP BSSGP UDP NS Control IP FrameRelay L1 NMS RNC SUT
Process of SGSN testing using TTCN3 Components that are simulated with the help of TTCN3 • RNC (Iu) • HLR(Gr) • GGSN(Gn) • SGW(S4) • MME(S3) • BSC (Gb) Etc.. The messages which are coming from TTCN3 to and from are encoded and decoded by the TTCN3 suite adapter respectively.
TTCN3 Complete Process for Automation TTCN3 and ROBOT Check-in Linux Server Code Check out Subversion control system (SVN) Engineer SystemSGSN Controlling of Execution Updating through mails Exchange of Reports, logs and Results jenkins server with ROBOT Framework Installed Engineer System
Parts of Automation Testing with TTCN3 • Robot Framework Its is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It uses keyword-driven testing approach which are written in python. • Jenkins Jenkins is an open source continuous integration tool written in Java. It provides continuous integration services for software development • TTCN3 Test cases TTCN3 Test case contains all normal functional test case which are coded in TTCN3 language.
Robot Framework It’s a Generic Automation framework for Automation Testing which is an open source software. It Contains Libraries and keywords which can be implemented in Python or Java and are open source. Keywords and library can be edited or added in the framework to enhance the testing capabilities. The keywords represents the configuration setup needed for a particular TTCN3 Test case . For each TTCN3 test case there is one ROBOT case which defines all the environment and configuration setup scripted in the form of keywords.
Jenkins • Jenkins is a server based software which controls the ROBOT execution of the Test cases ,generate logs and decides each build status. • It supports schedule Timer and can triggers the execution when new build comes up. • Supports 300+ plugins in various kinds of software development. • Supports SCM tools including CVS , Subversion, Git,,Mercurial, Perforce, and Clear case
ROBOT FrameWork TTCN3 Test Case The Complete Flow
Positive Aspects of using TTCN-3 in our project • Speed (Improved Efficiency) • Reliability • Easy Troubleshooting. • Eases re-targeting of test suite execution in different testing environments • Allows reduction of test environment complexity, maintenance, and number of tools used • Scalable (Additional test components can be added to existing test cases to test new interfaces of a SUT) • Increases testing productivity and enables more test cycles • Re-writing of existing test cases (automation requirements, different structure to support new test objects) • Wider scope Testing. ~80% of the effort is saved compare to the previous efforts.
Questions Thank you