The employment of TTCN-3 for testing the Application Server in the IMS network. Damian Zolich, Ericpol Telecom Sp. z o.o. damian.zolich@ericpol.com Tel.: +48 663 426 716 TTCN-3 User Conference 2011 7 – 9 June 2011 - Bled, Slovenia Agenda Introduction Step 1 Without TTCN-3 Step 2 New test environment with TTCN-3 Step 3 Make testing easy Step 4 Our future ericpol.com Our environment in numbers • • • • • • • About 7000 test cases Up to 80 components in one test case About 45 users 930 files 1,5 million code lines Support for 7 different protocols 11 interfaces ericpol.com Step 1 Without TTCN-3 • • • • Only one protocol (SIP) Very basic scenarios Simple environment Simple matching mechanism ericpol.com Simple environment Caller Application Server Traffic Generator Callee ericpol.com New challenges • • • • New traffic generator (H.248) More and more complex scenarios New protocols in the near future More and more pressure on matching mechanism ericpol.com Second protocol Traffic Generator H.248 Caller Application MRFP Server Traffic Generator SIP Callee ericpol.com Test team problems 1. Preparation for the test execution 2. Exchanging information between traffic generators 3. No flexibility 4. Poor matching mechanism 5. Code reuse 6. Message synchronisation 7. Verification of correct message sequence 8. Timers ericpol.com ericpol.com Solution We need something completely different. So let’s try TTCN-3 ericpol.com Step 2 New test environment with TTCN-3 Charging SLF Px App Px Ro (online charging) Rf (offline charging) Dh Muta Diameter Provisioning LDAP CAI3G/XCAP CM,PM IMS AS Mp H.248 Mr LDAP SIP Sh ISC SIP Cx S-CSCF Dx I-CSCF MRFP MRFC Audio & Video Announcements Audio & Video Conference Voice & Video mail SIP HSS SIP SIP P-CSCF MGW MGCF PSTN/PLMN CSCF other SIP network SIP CSCF SBG ericpol.com SIP NNI or H.323 New challenges Test environment which enables: • Simulation of nodes around the Application Server • Support of all required interfaces • Support of all required protocols • Support of advance matching mechanism • Coordination between interfaces ericpol.com Function Test Environment CCF ECF HSS Rf (Diameter) HSS SLF Ro (Diameter) Operator Operator PM PM Sh (Diameter) Muta (LDAP) Dh (Diameter) MTAS IMS AS S-CSCF S-CSCF ISC (SIP) CAI3G/ Ut (XCAP) MP (H.248) Provisioning TTCN-3 MRFP MRFP1 ericpol.com Operator CM MRFP MRFP2 PIPE Testport Basic call setup vs. Test simulation Alice Originating CSCF Originating IMS AS Terminating CSCF Primary CCF SIP: INVITE Terminating network SIP: INVITE SIP: INVITE SIP: INVITE SIP: 180 Ringing SIP: 180 Ringing SIP: 180 Ringing SIP: 180 Ringing SIP: 200 OK SIP: 200 OK SIP: 200 OK SIP: 200 OK SIP: ACK SIP: ACK DIAMETER: Accounting-Request Start DIAMETER: Accounting-Answer Start SIP: ACK SIP: ACK ericpol.com New test team problems 1. Testing is time consuming 2. Development of test cases difficult to learn 3. Lots of code to write for one test case 4. Test execution quite complex ericpol.com Solution We need a good test Framework and Automation ericpol.com ericpol.com Step 3 Make testing easy TTCN-3 function library & API • Creation and initialization of test components, routing of messages and verification of message content Test automation scripts • Run before and after the TC call flow. • Ensures test environment integrity and checks for problems caused by TC execution. ericpol.com Directory Structure Test Object – Service I Test module … Test module Test Object – Service II Private functions Test module Private functions Framework DIAMETER Sh/Dh ericpol.com Rf DNS Ro H248 Mp Scripts SIP Ma Isc Mr Test automation Messages exchange on ports between the SUT and the Framework components (defaults used) Outgoing IMS AS Incoming IMS AS Port IMS AS Port 3. Invite 7. 200 OK 6. 200 OK 2. Invite SIP_DISPATCHER_CT 5060 ISC1 5061 ISC2 4. Invite 1. Invite 8. 200 OK ISC_SESSION_CT ISC1 ericpol.com 5. 200 OK ISC_SESSION_CT ISC2 Framework component overview Non-Session Caller (ISC Session) Sh session 1 IMS AS HSS dispatcher Sh session X CSCF (SIP dispatcher) Rf Session 1 Callee (ISC Session) Sip caller and callee are together a SIP session Dispatchers uses list of keys to differientiate sessions CCF dispatcher Rf Session X Non-Session Non session related data ericpol.com Framework benefits • Higher abstraction level for writing TCs • More readable/understandable test cases written in a consistent style • Complex and extensive common verification details are handled transparently and automatically • Simplifies TC maintenance and development • New checks can be added automatically to existing TCs via the framework ericpol.com Framework benefits • • • • Majority of TC’s automated Full automated regression test Flexibility in test case creation User friendly ericpol.com Examples of automated test activities Pre execution activity: • cleaning environment • checking environment • run external applications (e.g. wireshark) Post execution activity • collecting all logs into one archive file • monitor for hanging processes, memory leaks & system crashes ericpol.com ericpol.com Step 4 Our future • Environment very flexible to test new features required by customers • Smart way of regression testing • More testing in shorter time ericpol.com ericpol.com Thank you Damian Zolich, Ericpol Telecom Sp. z o.o. damian.zolich@ericpol.com Tel.: +48 663 426 716 TTCN-3 User Conference 2011 7 – 9 June 2011 - Bled, Slovenia