The employment of TTCN-3 for testing the Application Server in the IMS network.
Damian Zolich, TTCN-3 User Conference 2011Ericpol Telecom Sp. z o.o. 7 – 9 June 2011 - Bled, Slovenia [email protected].: +48 663 426 716
ericpol.com
Agenda
IntroductionStep 1 Without TTCN-3Step 2 New test environment with TTCN-3Step 3 Make testing easyStep 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
Callee
Traffic Generator
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
Caller
Application
Server
Callee
Traffic Generator
SIP
MRFP
Traffic Generator
H.248
Second protocol
ericpol.com
Test team problems
1. Preparation for the test execution 2. Exchanging information between traffic
generators3. No flexibility4. Poor matching mechanism 5. Code reuse6. Message synchronisation7. Verification of correct message sequence8. 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
Ro (online charging)
Rf (offline charging)
IMS AS
MGW
P-CSCF
S-CSCF
I-CSCF
HSS
MGCF
CSCF
PSTN/PLMN
other SIPnetworkCSCF
SIP
SIP
SIP
Charging
Diameter
MRFP
H.248
Provisioning
LDAP
Voice &Video mail
SIPCx
CM,PM
Muta
ISC
LDAP
Mp
Audio & VideoAnnouncementsAudio & Video Conference
SBG
SIP
SIP NNIor H.323
Sh
Diameter/TCP
SLF
DhDiameter/TCP
CAI3G/XCAP
Dx
Px App
Px
MRFC
Mr SIP
ericpol.com
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
Sh
(Diameter)
Rf
(Diameter)
MP
(H.248)
CCF
OperatorCM
MRFPMRFP1
SLF
Dh
(Diameter)
MTAS
ISC(SIP)
OperatorPM
Ro
(Diameter)
ECF
S-CSCF
HSS
HSS
TTCN-3
CAI3G/Ut (XCAP)
Muta
(LDAP)
S-CSCF
PIPETestport
OperatorPM
Provisioning
MRFPMRFP2
IMS AS
ericpol.com
Basic call setup vs. Test simulation
OriginatingCSCF
OriginatingIMS AS
Primary CCF
SIP: INVITE
SIP: INVITE
SIP: 180 Ringing
SIP: 180 Ringing
SIP: 200 OK
SIP: 200 OK
Alice
SIP: INVITE
SIP: 180 Ringing
SIP: 200 OK
SIP: ACKSIP: ACK
SIP: ACK
TerminatingCSCF
Terminating network
SIP: INVITE
SIP: 180 Ringing
SIP: 200 OK
SIP: ACK
DIAMETER: Accounting-Request Start
DIAMETER: Accounting-Answer Start
ericpol.com
New test team problems
1. Testing is time consuming2. Development of test cases difficult to learn3. Lots of code to write for one test case4. 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
Sh/Dh Rf Ro Mp MrMa Isc
Test Object – Service I Test Object – Service II
Test module
Private functions
Test module
Private functions
Test module
…
Framework
ScriptsDIAMETER H248DNS SIP Test automation
ericpol.com
Messages exchange on ports between the SUT and the Framework components (defaults used)
Outgoing IMS AS
PortIMS AS Incoming IMS AS
Port
5060 ISC1
SIP_DISPATCHER_CT 5061ISC2
ISC_SESSION_CTISC1
ISC_SESSION_CTISC2
1 .Invite
2 .Invite
3 .Invite
4 .Invite
5 .200 OK
6 .200 OK7 .200 OK
8 .200 OK
ericpol.com
CSCF
(SIP dispatcher)
Framework component overview
IMS AS
Caller (ISC Session)
CCF dispatcher
Non-SessionDispatchersuses list of keys todifferientiate sessions
Non session related data
Rf Session 1
HSS dispatcher
Non-Session
Sh session X
Sh session 1
Rf Session XCallee (ISC Session)
Sip caller and callee are together a SIP session
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
Damian Zolich, TTCN-3 User Conference 2011Ericpol Telecom Sp. z o.o. 7 – 9 June 2011 - Bled, Slovenia [email protected].: +48 663 426 716
Thank you