Sei sulla pagina 1di 102

1 Nokia Siemens Networks Presentation and Training / 08.08.

2007
For internal use
!$
TOOL ENVIRONMENT
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Overview
ntroduction
PSL Workflow
PSL The Language
Modification of Messages
PS Graphical User nterface
PS nternal Architecture
nter Script Communication
Simulator Extensions
Statistics
Remote Testing
Debugging test cases
NAP/MAP Simulation
HTTP Simulation
SOAP Simulation
SP Simulation
Test Automation
Multiple P addresses
Organizational matters
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Introduction
Why is IPSL independent?
IPSL- Independent ProtocoI SimuIator Language
INAP BSSAP HTTP SIP RADIUS MAP MEGACO
CAP CORBA LDAP SNMP DIAMETER ISUP
IPS
Independent ProtocoI
SimuIator
K1297
(Iegacy)
ISTS
(Iegacy)
(more...)
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Introduction
Components overview
IPSL
TooI Environment
Creation of test cases
Simscript (incIuding integrated debugger)
Script compiIer IPSLC
Execution of test cases
ProtocoI simuIator IPS
Mediation appIications (OGW, TGW)
SimuIator extensions (IPSLTiu, IPSLDB,
Handy)
EvaIuation of test cases
Message decoder MSG
Statistic tooIs
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Introduction
IPSL - Who is using it?
Munich
Beijing
Athens
Vienna
Kranj
San Jose
HerentaIs
Lannion
Boca Raton
CheImsford
BerIin
Lake Mary
Corritiba
Den Haag
Nanjing
HeIsinki & Espoo
BangaIore
WrocIaw
Budapest
Amadora
Midrand
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL WorkfIow
From the message fIow to the script
Message Flow
(simple free phone service)
Simscript
PSL Script
(freephone.scr)
PS SUT
lps|vers|or 2.0;
3cr|pl Freeprore;
Acl|valed Loca||y;
8eg|r3cr|pl
Pul(Vod|ly(Poo|(|0P, V30_Corporerl))
8erv|ceKey := 42; // Freeprore
ErdVod|ly);
3erd;
3larlT|rer(lwa|l,1000);
wa|lFor Vessage(86|);
wa|lFor Vessage(F6|);
wa|lFor Vessage(60N);
Erd3cr|pl;
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL WorkfIow
Simscript editor with integrated script debugger
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL WorkfIow
CompiIation step

IPS

Simulator 1 Simulator n
Parser
Coder 1 Coder n
Script editor
Simscript
to create a test case
The protocol specific
files are provided by the
tooling and known to the
tester.
User
Control file Scripts
Tooling
Hardware
execution of the script on
the specific hardware
compiled script for the
used simulator type
C-Preprocessor

PSL Compiler
Msg-
Pool
Macros
Msg-
format
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL WorkfIow
Running the test case
lps|vers|or 2.0;
3|ru|alorCorlro|F||e;
Tesl8|oc|
Resources = 0..12Z;
ld|eT|re = 3000;
0r wa|eupT|rer
3larl Freeprore;
ErdTesl8|oc|;
[3lVuLATl0N|
CTL_F||e=l|oW1.|ls
Layers=3lNAP,TCP
[3lNAP|
Vor|lor=2
[TCP|
L|r|0=R_lP=scp,R_P0RT=001
Control file
Config file
10 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL WorkfIow
Test case evaIuation
3 Corporerl Porl|or
3.1 lrvo|e
3.1.1 lrvo|e l0
12 00000001 lrvo|e l0 va|ue : 1 (0x01)
3.1.2 Loca| 0peral|or
15 00000000 0peral|or Code : lr|l|a|0P
3.1.3 lr|l|a|0PArg
3.1.3.1 3erv|ceKey
50 3erv|ceKey : 12 (0x2A)
3.1.3.2 Ca||edParlyNuroer
53 0------- 0dd/Ever lrd|calor : ever ruroer
-0000011 Nalure ol Addr. lrd|calor : ral|ora| ruroer
51 0------- lrlerra| NelW.No. lrd|c. : roul.2 |rlerra| relW.a||.
-001---- Nuroer|rg P|ar lrd|calor : l30N ruroer|rg p|ar
----0000 3pare : spare
55 c|d.ply.ro. Address 3|gra| : 9901
-------------- BEGIN of statistic 1 (A)
Statistic on A-side; Seiz/Fail
----------------------------------------
A001=4711 1000
B001=9901 194
----------------------------------------
NUMBER JF CALLS : 1000
NUMBER JF FAILED CALLS : 194
FAILURE RATE : 19.400%
NUMBER JF PENDING CALLS : 0
MAX SIMULTANEJUS CALLS : 64
IPSL INTERPRETER (error) 6 : 108
IPSL CANCEL (error) 7 : 86
AnsTim count min max aver Quant
Setup 892 100 1006 553 970
-------------- END of statistic 1
Message decoder MSG Statistics
11 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Design guideIines
The test case should be recognizable from the script.
Short scripts (approx. 1 page)
Default procedures are handled by the simulator
Message templates
Flexible combination of test cases
Call- and load mix
Regression tests
Test evaluation is part of the script
Examination of message parameters
Time measurement
12 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Script and ControI fiIes
Script
defines the message sequence for the whole dialog
contains the modification of messages for sending and
evaluation of received messages
can be executed in parallel depending on the number of
resources
Control file
contains the loop invoking scripts
TestBlock
Test blocks can expire by time ranges (TimeRange) or by
reaching a certain number of loop passes (Loop), default is
eternal
nvocation of scripts by timer (WakeupTimer), message or key
Combination of resources for parallel script execution
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Terms
Protocol version
name of protocol, e.g. Sinap7 Germany with a unique abbreviation scheme:
[Protocol group][Version][Subversion or Country] e.g. N07DEU
Message building system (MBS)
formal description of all messages for a specific protocol version
provides read/write access to message parameters and information elements
Message pool
set of message templates, at least one template per message type
each template is identified with a specific name
message templates are the origin for modifications by the script
Resource
execution environment for an instance of a script
stores local variables, instruction pointer and state information
allows to handle multiple dialogs in parallel
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
FIow controI

nstructions
Wait for event A
nstructions
Event A
Eventhandler
for
event B
unexpected
event D
Wait for event C
nstructions
Event C
Because there is no event
handler for event D
the script is canceled with
an error
continue waiting
asynchronous event B
End
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Data types
Integer
value range depends on the used machine, actual
bit signed
String
maximum length 2
1
, ASC 0 is possible
Messages
messages are stored as strings
first character contains the 'message level'
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Instructions used in scripts
1 IpslVerson 2.0;
1 Script Freephone(sk : Integer);
1 Activated Locally;
1 Const
1 Var
6 dra : String;
1 BeginScript
1 EndScript;
2 Put(Modify(Pool(IDP, MSG_Component))
2 ServiceKey := sk;
2 EndModify);
2 Send;
5 StartTimer(tWaitAnswer, 1000);
5 StopTimer(tWaitAnswer);
3 WaitFor Message(CJN)
4 LocalEventHandler
4 HandleEvent Message(FCI)
4 EndHandleEvent;
4 EndLocalEventHandler;
6 dra := GetPar(ADDR_CalledPartyNumber);
7 If dra < 4711 Then
8 Cancel(ERRJR, Reset);
7 EndIf;
9 HandleEvent Message(SCI)
9 EndHandleEvent;
1. Script skeleton
2. Modifying and sending messages
. Receiving messages
. Local event handler
. Timer supervision
. Access to received parameters
7. Branch
8. Script cancellation
. Global event handler
IPSL Instructions
17 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - The Language
Instructions used in ControI FiIes
1 IpslVerson 2.0;
1 SimulatorControlFile;
1 Const
4 sk_freeph1 = 41;
1. Control file skeleton
2. Test block
. Trigger by timer
. Starting a script
. Loop
. Timerange
7. Distribution
8. Test block triggered by key event
. Start options
IPSL Instructions
7 sk_freeph2 = 42;
7 sk_freeph3 = 43;
2 TestBlock
2 Resources = 1..127;
6 TimeRange = Relative 00:01:00 For 02:00:00;
5 Loop = 100;
3 On WakeupTimer
7 Distribution
7 By 20
4 Start Freephone(sk_freeph1);
7 By 30
7 Start Freephone(sk_freeph2);
7 By 50
7 Start Freephone(sk_freeph3);
7 EndDistribution;
2 EndTestBlock;
8 TestBlock
8 Resources = 0;
8 On Key(s)
8 Start Statist(STAT_ALL, 10)
3 IdleTime = 100;
9 With Options NoTickets + NoStatistic;
8 EndTestBlock;
18 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Modification of messages
Modification operations
PSL provides a direct access to each part of a message
Parameters consist of one or more nformation Elements (E's)
E's allow typed access (e.g. BCD strings)
Parameters can be accessed hexadecimal
nsert and Delete operations depend on the used pool message
template
Modification commands automatically adjust all affected length
fields
Message pool
Modify
Const
Put
Send buffer
Receive buffer
GetPar
Value
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Modification of messages
Addressing parameters by occurrence
MessageArg
ListOfElements
ParameterA (optional)
ListElement
ParameterA
ListElement
ParameterA
ParameterB (optional)
nsert c_P_MessageArg.c_P_ListOfElements;
The first ListElement is just present
Mandatory parameters are just present
ParameterA := x;
Add a second ListElement
nsert c_P_ListOfElements.c_P_ListElement;
ParameterA(2) := y;
Optional parameters must be inserted
before assignment
nsert c_P_ListElement(2).c_P_ParameterB;
ParameterB := m;
ParameterA in another structure
nsert c_P_MessageArg.c_P_ParameterA;
ParameterA(3) := z;
20 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - GraphicaI User Interface
Main Window
Features:
Standard Windows
Application
Separate state
viewer for each
layer
Trace viewer
showing messages
for each protocol
layer
permanent view to
the main
simulation state
(actual count, load
and errors)
ntegrated
HTML help
21 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - GraphicaI User Interface
Menu structure
22 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - GraphicaI User Interface
InternaI Message AnaIyzer
Features:
Online decoding of
sent or received
messages
Decoding of
messages on different
protocol layers
Discovering of wrongly
structured messages
Colored view for an
easy orientation
Uses the same
decoding functions as
the post processing
tool msg.exe
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
nteractive usage
of the PSL tools
by the context
menu within the
windows explorer
(script editor,
compiler, trace
decoder)
Recommended
directory
structure:
a separate
directory for each
test case with
scripts, control file
and configuration
file
IPS - GraphicaI User Interface
SheII Integration overview
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - GraphicaI User Interface
SheII Integration
Desktop
new PSL Script Creates a new script with Simscript
new PSL Control file Creates a new control file with Simscript
.SCR
[filename] Starts Simscript with the actual protocol
compile Starts the script compiler PSLC.EXE
configure context menus Configures the context menu with REGPSL
.CTL
[filename] Starts Simscript with the actual protocol
compile Starts the script compiler PSLC.EXE
configure context menus Configures the context menu with REGPSL
.CFG
[filename] Starts the simulator PS2.EXE
edit Starts notepad with the CFG file
configure context menus Configures the context menu with REGPSL
.TRC
[filename] Decodes the trace file with MSG.EXE
decode call tickets Decodes the call tickets with T_PRNT.EXE
summarize call tickets Decodes the call tickets with T_SUM.EXE
configure context menus Configures the context menu with REGPSL
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
How to setup the shell integration
Tools are installed using the PSLTool.exe nstallShield
package:
n this case the install program installs the shell integration too
The tools are installed on a network drive:
set the environment variable TOOLPATH to the tools directory
add this directory to the PATH variable
execute the program regipsl.exe
For the first time you may need administrator permissions.
IPS - GraphicaI User Interface
SheII Integration Setup
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - InternaI Architecture
Layer modeI
PSL Script/Control file
Simulation Layer
[n] Lower Layer
PS
Definition of Message flows (Script)
Combination of resources and time control
(Control file)
nterpreting execution of script statements
Message modification (Modify/GetPar)
Message distribution to dialogs (Scripts)
Adds and removes envelope
Ensures protocol integrity at end of script
Connection establishment
Sending and receiving of messages
Handling of connection errors
receive send
PSL-nterpreter
Links
Resources
27 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - InternaI Architecture
ScheduIer
Resource 0
n PSL-Statements
...
WaitFor(<Event>)
...
Returns
control
Get control
Cooperative, event driven Multitasking
Synchronization points: WaitFor,
end of On-clause, end of Eventhandler
n PSL-Statements n PSL-Statements
Event priority
Messages
Timer
nternal Messages
nternal Messages
from external
channel
Key-events
Variables
(VarHasChanged)
Resource 1
n PSL-Statements
...
WaitFor(<Event>)
...
n PSL-Statements n PSL-Statements
Resource n
n PSL-Statements
...
WaitFor(<Event>)
...
n PSL-Statements n PSL-Statements
28 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPS - InternaI Architecture
Resource mapping
mapping
Range of resources
assignable in the
control file is 0..127
Number of resources of
the PS is unlimited
0 127 ... ...
Control file resources
0 127 ... ... ... 128 11
Simulator resources
... 12 2 ... 2 1
...
... ... ... ... ...
Resources 0..:
should be used for individual task
Resources ..127:
should be used for bandwidth tasks due to implicit
multiplication
scalable by NumberOfResources in PS configuration
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Inter Script Communication
Basics
Synchronization of different
message flows
Data exchange between
scripts
Messages are exchanged
locally or via external channel
with other simulators or
applications
Scripts can be "connected for
automatic cancellation in case
an error occurs
Ring architecture, each
simulator is identified by a
unique DeviceD
nvokeData
undirected initial message
identified by the pattern
receiving resource waiting for
that pattern is sought in this
order:
local simulator
external channel
Data
subsequent messages will be
addressed to the originator of a
previous internal message
0 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Inter Script Communication
Communication via ExternaI ChanneI
PC1: IP = x
nvokeData:
MyPattern
nvokeData:
MyPattern
Data:
ello
Configuration Syntax:
[3lVuLATl0N|
Exlerra|Crarre|=TCP,|oca|Porl,desllP,deslPorl
IPS 2
ExternalChannel=TCP,b,y,c
IPS 1
ExternalChannel=TCP,a,localhost,b
3erdlrlerra|Vessage(lrvo|e0ala, 'VyPallerr', '');
wa|lFor lrlerra|Vessage(0ala);
PC2: IP = y
IPS 3
ExternalChannel=TCP,c,x,a
wa|lFor lrlerra|Vessage(lrvo|e0ala, 'VyPallerr');
3erdlrlerra|Vessage(0ala, lrlerra|Vessage0r|g|ral|or(), 'le||o');
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SimuIator Extensions
Tone Interface Unit (IPSLTiu)
provides speech
channel functions
to the PS
supports RTP
endpoints or PCM
bearer channels
based on NMS
CG000 card
1kHz tone
generation
DTMF generation
and detection
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SimuIator Extensions
Database (IPSLDB)
Querying and
sending values
from a CSV-
database
Database values
are sent back to
the invoking PSL
script
Supports access to
multiple databases
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SimuIator Extensions
MobiIe Phone (Handy)
For interactive testing or
Product demonstration
Uses predefined internal
messages via TCP/P to
invoke specific actions on a
signaling interface
Dialed digits are sent to the
simulator
Any text messages can be
displayed
Supports picture phone
book
Support of WAV-files
playback
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Statistics
Main statistic functions:
number of locally or remotely initiated calls and current load
number of errors and error rate
errors counted separately by event type, script name and line number
measurement of up to 2 different response times with minimum, maximum,
average and quantil calculation
Various types of statistic output:
permanent view to the PS status line
online statistic tables printed to the trace file (via menu or script)
offline statistic tables based on post processing of call tickets
Script reIated tasks:
special statistic functions (response times, counters or info) are controlled from
the script by placing the function Statistic(CT_xxx, xy)
scripts can be excluded from being recorded in statistics (option NoStatistic) and
from writing call tickets (option NoTickets)
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Statistics
OnIine Counter
Part of the IPS GUI
AIso accessibIe by simuIator variabIes:
OutSeizure/ncSeizure
OutError/ncError
OutLoad/ncLoad
OutErrorRate/ncErrorRate
OutActive/ncActive
Reset vaIues from the IPS GUI or by statistic function
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
BEGIN of statistic 1 (A)
Statistic on Aside; Seiz/Fail

A001=4712 1000
B001=4711 194

NUMBER OF CALLS : 1000


NUMBER OF FAILED CALLS : 194
FAILURE RATE : 19.400%
NUMBER OF PENDING CALLS : 0
MAX SIMULTANEOUS CALLS : 64
IPSL INTERPRETER (error) 6 : 108
IPSL CANCEL (error) 7 : 86
AnsTim count min max aver Quant
Setup 892 100 1006 553 970
END of statistic 1
BEGIN of statistic 2 (B)
Statistic on Bside; Seiz/Fail

A001=4712 1000
B001=4711 0

NUMBER OF CALLS : 1000


NUMBER OF FAILED CALLS : 0
FAILURE RATE : 0.000%
NUMBER OF PENDING CALLS : 0
MAX SIMULTANEOUS CALLS : 64
END of statistic 2
BEGIN of statistic 3 (F)
FLOWSSP1(26):Tim:tWaitCON : 108
FLOWSSP1(35):Can(1) : 86
MyCounter : 892
END of statistic 3
Statistics
OnIine statistic tabIes
A-Side
B-Side
Failure/Counter
Response times
Error details:
Script name
Script line number
Event type
Event name
Count
Number of calls,
errors and error rate
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Statistics
OffIine statistic tabIes
Statistical information for post processing evaluation
Tabular representation of all ticket contents
Excel compatible HTML output option
Usage e.g. for comparison with charging tickets
Call evaluation:
T_PRNT.EXE
tabular representation of all calls
setup time with MN/MAX/AVARAGE/QUANTL
Evaluation Summary:
T_SUM.EXE
summarized by equal CldPA and ClgPA
setup time with MN/MAX/AVARAGE/QUANTL
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
ITS/IPS CallTicket
,099 ,142 ,168 ,117 ,238 ,239
Count Head Sq Clg Party Number Cld Party Number Script Info E/Cls ErrNb Line
=========================================================================================
806 A 0 4712 4711 FLOWSSP1|DRA=0815 ~/ ~~ ~~~~ ~~~~~
86 A 0 4712 4711 FLOWSSP1|DRA=0816 ~/ ~~ ~~~~ ~~~~~
108 Aerr 0 4712 4711 FLOWSSP1|Tim:tWaitCON 1/ 1 6 26
86 Aerr 1 4712 4711 FLOWSSP1|Can(1) 1/ 2 7 35
1000 B 0 4712 4711 FLOWSCP1 ~/ ~~ ~~~~ ~~~~~
======
2086
Summary:

A ok A err B ok B err Destroyed

806 194 1000 0 0

A side AnswTime |Nb of Values|Base| Minim | Maxim |Average| Quantil

Setup | 892|msec| 100| 1006| 553| 960 (95.00%)

B side AnswTime |Nb of Values|Base| Minim | Maxim |Average| Quantil

Statistics
OffIine statistic output
Decoding Calltickets:
Context menu > Decode Calltickets / Summarize Calltickets
it_print.exe / it_sum.exe <tracefile> > <outfile>
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Statistics
ExampIe of statistic usage
pslVersion 2.0;
Script FLOWSSP1;
Activated Locally;
Var
tStart : nteger;
Const
CldPA = "4711";
ClgPA = "4712";
BeginScript
Statistic(T_ldPA CldPA);
Statistic(T_lgPA ClgPA);
tStart := Time();
Put(Modify(Pool("DP" MSG_Component))
ADDR_CalledPartyNumber := CldPA;
ADDR_CallingPartyNumber := ClgPA;
EndModify);
Send;
WaitFor Message(CON);
Statistic(T_SetupTime Time()-tStart);
Statistic(T_ounter "MyCounter");
Statistic(T_Info "DRA=" &
GetPar(ADDR_DRACalledPartyNumber));
f dra <> "0815" Then
Cancel(ERROR Reset);
Endf;
EndScript;
CT_AnswerTime(n), <nteger>
Measuring of up to 2 (n=0..1) answer
times
CT_Counter, <String>
Counter for general purposes, addressed
by their name
CT_CldPA, <String>
CT_ClgPA, <String>
Called and calling number. Used to create
pairs evaluated individually by number of
calls and errors
CT_nfo, <String>
nfo string for general purposes listed in
offline statistic output
CT_AnnD, <nteger>
CT_Usernput, <String>
Special values for user interaction dialogs,
listed in offline statistic output
0 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Remote Testing
mplementation Under Test
connected locally to PS
Control of one or more remote PS
applications:
using the traffic saving PS remote
control interface
using standard software (e.g. VNC)
ntranet
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Remote Testing
Remote controI Interface
Low network traffic
Any Telnet client can be used
Main PS control commands
Special Clients are available
Command Set:
Header
Counter
Statistics
Resource state
Link state
Run mode
Load control
Send key
SimVar
Exit
Quit
Help
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Remote Testing
IPSCommander
Features:
GU based, very
similar to PS
Control of one
or more remote
PS applications
Complete
mapping of
Telnet based
commands to
graphical
dialogs
Common and
individual trace
files
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Remote Testing
IPS Remote controI simuIation
Complete mapping of remote control
commands to Remo Messages
Control sequences are written in PSL
Control of one or more
PS applications
All PSL features for
test automatization
are available
PS -
Sim 1
PS -
Sim 2
PS -
Sim n
PS -
Remo
SUT
Protocol n
Protocol 1
Protocol 2
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
During test case development
Prevent errors by using simscript
Most common problem is how to modify a message
Checking message modifications
Test PS against PS
During test against SUT
Understanding the GU of the PS
Reading trace files
(Problems with .h files)
Monitoring
,PRNT" debugger
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
Modification of messages
F8 step through modify
F run until end of modify
F run to cursor
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
Modification of messages
Let's try this!
Try to create this
message from the
"CR
Protocol is N07mp
Walk step by step
through your modify
commands and watch
how the message
changes
Invoke
1 Invoke ID
4 00001011 Invoke ID value : 11 (0x0B)
2 Local Jperation
7 00101100 Jperation Code : CallInformationReport INV
3 CallInformationReportArg
3.1 RequestedInformationList
3.1.1 RequestedInformation
3.1.1.1 RequestedInformationType
16 00011110 RequestedInformationType : ReleaseCause
3.1.1.2 RequestedInformationValue
3.1.1.2.1 ReleaseCauseValue
21 1------- Extension Indication 1 : last octet
-00----- Coding Standard : CCITT standard
---0---- Spare : spare
----0010 Location : public netw. serv.local user
22 1------- Extension Indication 2 : last octet
-1010100 Cause Value : call identity in use
3.1.2 RequestedInformation
3.1.2.1 RequestedInformationType
27 00000000 RequestedInformationType : CallAttemptElapsedTime
3.1.2.2 RequestedInformationValue
3.1.2.2.1 CallAttemptElapsedTimeValue
32 00001101 CallAttemptElapsedTimeValue: 13 (0x0D)
3.1.3 RequestedInformation
3.1.3.1 RequestedInformationType
37 00000001 RequestedInformationType : CallStopTime
3.1.3.2 RequestedInformationValue
3.1.3.2.1 CallStopTimeValue
42 CallStopTimeValue : 29.03.06 - 14:42:15
3.1.4 RequestedInformation
3.1.4.1 RequestedInformationType
52 00000010 RequestedInformationType : CallConnectedElapsedTime
3.1.4.2 RequestedInformationValue
3.1.4.2.1 CallConnectedElapsedTimeValue
57 00111101 CallConnectedElapsedTimeValue: 61 (0x3D)
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
SeIftest
PS can usually simulate both sides of a communication
Write a (simple) counterpart for your test case
Run PS against PS with monitoring on the check the
messages
Connect the two PS
Via TCP/UDP and localhost
Use a control file with script for both sides and use LOOP lower
layer
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
Reading trace fiIes
W IPS version
MAIN : Independent Protocol Simulator (IPS) 14 14:44:21.57
: IPS32, Build: 13.02.2006 (dh)
: File time: 2006.02.13_15:14:40
W Loaded config files
MAIN : Reading IPS-Config: 14 14:44:21.57
: "D:\test\moditest\ips.cfg": JK
: "x:\tools.pre\ips.cfg": JK
W Configured Layer
SCN -0 -0 : MAP Scenario, D.Hanisch, %in_scn % 14 14:44:21.57
TIM -0 -0 : LoadCtrl: St=3000 Qu=1 Du=0 14 14:44:21.57
NULL : Null-Lower-Layer D.Hanisch %null_ll % 14 14:44:21.57
W Used scripts and control files
MAIN -0 -0 : +------------------------------------------+ 14 14:44:21.61
MAIN -0 -0 : | IPSL-Interpreter V 2.0 01.03.1999 | 14 14:44:21.61
MAIN -0 -0 : +------------------------------------------+ 14 14:44:21.61
MAIN -0 -0 : | Simulator: | 14 14:44:21.61
MAIN -0 -0 : | ips32.exe 06.02.13_15:14:40 | 14 14:44:21.61
MAIN -0 -0 : | Control file: | 14 14:44:21.61
MAIN -0 -0 : | tst(map03hlr) | 14 14:44:21.61
MAIN -0 -0 : | 06.03.14_14:44:10 06.03.14_14:44:12 | 14 14:44:21.61
MAIN -0 -0 : | Scripts: | 14 14:44:21.61
MAIN -0 -0 : | TST(map03hlr) | 14 14:44:21.61
MAIN -0 -0 : | 06.03.14_14:43:16 06.03.14_14:44:12 | 14 14:44:21.61
MAIN -0 -0 : +------------------------------------------+ 14 14:44:21.61
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
Reading trace fiIes
W Resource 1 is ASide and sends a message to network
R000001-0 -1 : usr: |--BEGIN----------| | 14 14:44:21.67
W Resource 97 is BSide and receives a message from network
R000097-3 -1 : net: | |--BEGIN----------| 27 10:12:06.07
W Monitoring on a lower layer (UDP)
UDP -0 -0 : Send data: sock=212 len=296 28 14:35:09.44
: L=0.0.0.0(.):1664
: R=127.0.0.1(.):5080
: 0 - 49 4E 56 49 54 45 20 73 69 70 - INVITE sip
: 10 - 3A 62 65 72 6E 68 61 72 64 40 - :bernhard@
W Call Ticket, call on resource 0 ended
R000000-0 -0 : $&cJ<.F7 28 14:38:23.83
Print from Script running on resource 7
R000007-0 -7 : CSeq=1 22 08:59:25.39
W Error on resource 1: Script=Client, Line=25, Error=Cancel(1)
R000001-0 -1 : ERR=7 (Client(25):Can(1)) 28 14:35:10.45
W Error message from scenario
SIP : No resource for this message: 200 JK, mt=200 28 14:38:24.84
: , link=0
0 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Debugging test cases
Reading trace fiIes
Script error messages (most important):
External cancel - The link the script used went down (not counted as error)
llegal instr. - Maybe a version problem
nvalid arg - The value "nvalid was passed to a command
Put failed - Problem in Put, the reason should be found before this in trace
Send failed - Same for Send
Modi:ll Cmd - Maybe a version problem
Modi:ll.MV-Ptr - Problem with Mandatory-Variable-Pointer in SUP message
Modi:OptPar mis - The optional parameter to be modified is not present
Modi:OptPar dup - The optional parameter to be inserted is already present
Modi:OptPar ill - The optional parameter is not allowed for this message
Modi:Par mis - The parameter to be modified is not present
Modi:E mis - The E to be modified or read is not present
Modi:ll BCDStr - Wrong value for this E
Modi:ll BitStr
Modi:ll OD
Modi:ll USSD
Modi:ll UTF-8
Modi:ll UCS-2
Modi:ll PAddr
Modi:ll fix ln - E has fix length and the new value has wrong length
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
The PS supports a lot of NAP an MAP versions:
NAP to in numerous country specific versions
MAP v1, v2, v .. Release 7
The PS is the same for all, the specifics are in the user part
packages (protocol versions). This means the PS provides
the TCAP layer, the NAP/MAP layer is in the scripts.
The scripts care about:
Prepare dialog portion (only for TC-BEGN)
Prepare components
Sending the messages
Wait for components
Evaluate and check parameters
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
Script example for MAP (RoutingnfoForLCS)
IpslVersion 2.0;
Script hlrForLP(MSISDN : String) ;
Activated By Message(SRIL); /* |< SRIL | */
BeginScript
/* modify the predefined message with own parameter */
Put(Modify(Pool("R_SRIL", MSG_Component)) /* | R_SRIL | */
/* imsi */
ADDR_Imsi := MSISDN;
/* MSC Number */
EXT_Msc_2Dh_Number := 1;
NADI_Msc_2Dh_Number := 1;
NPL_Msc_2Dh_Number := 1;
ADDR_Msc_2Dh_Number := "49179423";
EndModify);
/* send the message */
Send;
EndScript;
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
The NAP/MAP simulation layer provides a lot of automatic features for the
script writer. The goal is to keep the scripts simple, clear and safe:
Chooses the TCAP message type: the first message is sent as BEGN all
following as CONTNUE
Manages the transaction and operations
Answers dialog requests: per default sends a DialogAccept with the same
ApplicationContextName as reaction on a DialogRequest
This means: Outgoing scripts setup the DialogRequest, in terms of
incoming DialogRequests scripts don't have to do anything.
Adds a DialogAbort to a UserAbortnfo from the script if the dialog was
created with DialogRequest
Aborts the TCAP transaction on script failure
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
There are ways to overcome the automatics, e.g. for robustness tests:
Choose a different TCAP message type:
TC_MessageType :=
TC_BEGN | TC_CONT | TC_END | TC_ABORT
To use specific transaction D's or invoke D's,
there are simulator variables to set the values:
nvokeD, OTD, DTD
Special DialogPortion handling:
Send a special ACN: Put a DialogPortion of your choice
Send no DialogResponse, though a DialogRequest was received:
Put(MSG_DialogPortion_CHAR);
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
SimuIation via OMNI-Gateway (ogw)
SIMULATION]
Layers=MAP,TCP
TCP]
Link0=R_IP=ip,R_PORT=p
Tester
ogw arguments: ogw -o x -s y -p p
PS config file:
System under Test
OMN
ogw
Port=p
SSN=x
Application
to be tested
SSN=y
SPC=spc, PAddr=ip
TCP/P
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
SimuIation via TX4000 card
SIMULATION]
Layers=MAP,TX3000
TX3000]
Link0=spc
Tester
PS config file:
System under Test
OMN
Application
to be tested
SPC=spc
PC with
TX000 card
E1 connection
TX4000 card:
Product of NMS
Communications
www.nmss.com
Features:
E1 interfaces
2 Links
MTP 1- on board
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
SimuIation via TX card gateway (tgw)
SIMULATION]
Layers=MAP,TCP
TCP]
Link0=R_IP=ip,R_PORT=p
Tester
PS config file:
System under Test
OMN
Application
to be tested
E1 connection
tgw PC
TX000 card
PAddr=ip
tgw Application
Port=p
TCP/P
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
Comparison of the three variants
ogw TX000 tgw
muIti user
capabIe
yes no yes
high Ioad capabIe yes yes no
bIack box test (no
impact on the
system under
test)
no yes yes
The used method has no impact on the test cases
themselves, only the PS cfg has to be changed to
switch from one method to another
When use what
ogw and tgw for
functional tests
ogw and TX000
for load tests
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
INAP/MAP SimuIation
TX3220/TX4000
PS with TX-boards is an adequate and powerful SS7 simulator for load,
stress and feature tests
PS can directly run on the PC, where the TX-board is built in (TX-host).
Recommended for load tests
For sharing the TX-board for a group of remote working testers the PS
can be connected by TCP/P to the TX-host via the TGW (TX-Board
Gateway)
Dual/Quad T1 (1.Mbps)
or E1 (2.08Mbps) interface
Up to 1/2 SS7 links per
board
PC bus, driver available for
WinNT, Win2000 and XP
0 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
PS can simulate HTTP/1.0 and HTTP/1.1
t can simulate HTTP client and server
Requests and Responses are sent or received by the script
For easy modifying and reading of parameters the message
are delivered in an ASN.1 form
The message consists of three main parts:
The request / status line
The HTTP headers
The body
The body may be plain binary data, a HTML page extract, a
filled in form or a file name
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
Sample of a ASN.1 HTTP request message:
Request
1 RequestLine
1.1 Method
6 ******** Method : POST
1.2 RequestURI
12 ******** RequestURI : http://158.226.200.63:9210
1.3 HTTPVersion
40 ******** HTTPVersion : HTTP/1.1
2 GeneralHeader
2.1 Connection
52 ******** Connection : keepalive
3 RequestHeader
3.1 AcceptCharset
66 ******** AcceptCharset : iso88591,*,utf8
3.2 Host
86 ******** Host : 158.226.200.63:9210
4 RequestFilename
107 ******** RequestFilename : rt1.xml
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
Sample of a ASN.1 HTTP response message:
Response
1 StatusLine
1.1 HTTPVersion
6 ******** HTTPVersion : HTTP/1.1
1.2 StatusCode
16 ******** StatusCode : 200
1.3 ReasonPhrase
21 ******** ReasonPhrase : OK
2 GeneralHeader
2.1 Connection
27 ******** Connection : KeepAlive
3 EntityHeader
3.1 ContentLength
41 ******** ContentLength : 547
3.2 ContentType
46 ******** ContentType : text/xml; charset=UTF8
4 CookieNo
71 ******** CookieNo : 0 (0x00)
5 HtmlPageExtract
5.1 HtmlTitle
5.2 HtmlHrefNo
78 ******** HtmlHrefNo : 0 (0x00)
5.3 HtmlImgNo
81 ******** HtmlImgNo : 0 (0x00)
5.4 HtmlFormNo
84 ******** HtmlFormNo : 0 (0x00)
5.5 HtmlFrameNo
87 ******** HtmlFrameNo : 0 (0x00)
5.6 HtmlAreaHrefNo
90 ******** HtmlAreaHrefNo : 0 (0x00)
5.7 HtmlLinkHrefNo
93 ******** HtmlLinkHrefNo : 0 (0x00)
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
n HTTP normally resources and links are related 1:1
The scenario opens the TCP connection if a request is to
be sent and closes it after the response has been received
NEW: A connection may be reused. The HTTP header
"keep-alive is obeyed
SOON: A connection may be used by many resources to
have parallel requests on one link
The scenario converts the ASN.1 messages from the script
to HTTP and stores them in the send buffer
Received messages are converted to ASN.1 and sent to
the script
The received messages may be examined via the ASN.1
message the script receives
For the body, there are some help functions to access it in
the send or receive buffer
Sent and received
message are written
to the trace file
depending on the
value "Monitor in the
cfg file:
0 = no monitoring
1 = only arrow
2 = HTTP message
= ASN.1 message
= HTTP and
ASN.1 message
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
Functions to replace values in the send buffer:
HTTP defines to patch messages - sending (only to use between: Put and Send )
-----------------------------------------------------------------------------
MJDIFY_MSG_PART(str_beg,str_val,str_end)
str_beg input,: fix string to search (begin)
str_val input,: fix new string between 'str_beg' and 'str_end'
str_end input,: fix string to search (end)
REPLACE_MSG_PART1(beg,end,occ,val)
beg input,: fix string to search (begin)
end input,: fix string to search (end)
occ input,: occurence from 'beg'
val input,: fix new string between 'beg' and 'end'
REPLACE_MSG_PART2(old,new)
old input,: fix string to replace (patch)
new input,: fix new string
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
HTTP SimuIation
Functions to read values from the receive buffer:
HTTP defines to check messages (only to use after: WaitFor Message(Response); )
-------------------------------------------------------------------------------
CHECK_MSG(x,y,z,ml) - old macro (please use: CHECK_MSG_PART)
CHECK_MSG_PART(str_beg,str_val,str_end,monitor_level)
str_beg input,: fix string to search (begin)
str_val input,: string to check between 'str_beg' and 'str_end'
str_end input,: fix string to search (end)
m._levelinput,: if check faild and 'monitor_level' 0 monitor received message
EXIST_MSG_PART(str,monitor_level)
str input,: string to check (exist 'str' in received message)
m._levelinput,: if check faild and 'monitor_level' 0 monitor received message
GET_MSG_PART(str_beg,str_val,str_end)
str_beg input, : fix string to search (begin)
str_val output,: val string (result) between 'str_beg' and 'str_end'
str_end input, : fix string to search (end)
GET_MSG_PART1(beg,end,occ)
simulator function with return value (string; between 'beg' and 'end')
beg input, : fix string to search (begin)
end input, : fix string to search (end)
occ input, : occurence from 'beg'
GET_RESP_TAG_ATTRIB_VAL(rest,attrib,value)
rest input, : fix string (response tag) to search
attrib input, : fix string (attribute name) to search
value output,: val string (attribute value) to return (result)
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
XML over HTTP SimuIation
The HTTP simulation layer has some built-in features to support XML over
HTTP.
The body of a HTTP request or response is a XML structure.
The XML to be sent is stored in a file, the request ASN.1 message
contains the name of this file
The simulator reads the file and adds it as body to the HTTP message.
For load test, the files are cached
Files may be stored in a central location, path is given in the cfg file:
[TTP]
FPath=<path>
The body may be modified in the send buffer before being sent
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
XML over HTTP SimuIation
Example of a XML over HTTP test case
IpslVersion 2.0;
Script httpSSR (msIsdn : String; xmlFile: String; varMachine : String);
Activated Locally;
Var
res : String;
BeginScript
Put(Modify(Pool("Request2", MSG_UNI_POOL)) /* | Request | */
Method := "POST";
RequestURI := "http://" & varMachine ;
HTTPVersion := "HTTP/1.1";
Host := varMachine;
Insert c_P_Request.c_P_GeneralHeader;
Insert c_P_GeneralHeader.c_P_Connection;
Connection := "keepalive";
Insert c_P_RequestHeader.c_P_AcceptCharset;
AcceptCharset := "iso88591,*,utf8";
Delete c_P_RequestForm;
Insert c_P_Request.c_P_RequestFilename;
RequestFilename := xmlFile;
EndModify);
REPLACE_MSG_PART2($MSID$, msIsdn);
Send;
StartTimer(Timer_Response, 20*SEC);
WaitFor Message(Response,GetPar(ReasonPhrase)="OK"); /* |< Response | */
StopTimer(Timer_Response);
res := GET_MSG_PART1("<result", "</result", 1);
If res < OK Then
Cancel(1, NoReset);
EndIf;
EndScript;
<?xml version="1.0" encoding="UTF8"?
<!DOCTYPE ELIR SYSTEM "MLP_ELIR.DTD"
<ELIR ver="1.0"
<CLIENT
<IDOtto</ID
<PWDtopSecret</PWD
</CLIENT
<MSIDS
<MSID$MSID$</MSID
</MSIDS
<LOC_TYPE loc_type_type="CURRENT_OR_LAST"/
</ELIR
SIMULATION]
CTL_File=...
Title=LP API1 Client
Scenario=HTTP
LowLayer=TCP
TCP]
Link0=158.226.200.63, 0, 9210
HTTP]
Monitor=4
FPath=..\xml
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SOAP SimuIation
The SOAP simulation is an extension of the HTTP
simulation
t inherits nearly all features of HTTP
But the interface to the script is completely different, now
SOAP messages are sent and received
HTTP + TCP is the transport
For easy modifying and reading of parameters the message
are delivered again in an ASN.1 form
There are some fields in each message to control the HTTP
envelope
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SOAP SimuIation
The SOAP simulation is generic
For each interface a protocol version is need
Protocol version is provided by PSL development and built
from WSDL description of the interface
Naming convention for SOAP protocol versions is
wsxxxxnn, eg. wstis01 (ws = web service)
SOAP simulation layer codes and decodes SOAP evelopes
in HTTP body
Special "NotASoapMessage message for HTTP messages
without SOAP envelope (e.g. 02 Redirect)
70 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SOAP SimuIation
General form of message
from/to script
<wsdl:message name="ExecuteCommandRequest"
<wsdl:documentationTBD</wsdl:documentation
<wsdl:part name="request" element="xsd1:CommandRequestData" /
</wsdl:message
<wsdl:message name="ExecuteCommandResponse"
<wsdl:documentationTBD</wsdl:documentation
<wsdl:part name="response" element="xsd1:CommandResponseData" /
</wsdl:message
<wsdl:portType name="TisInterface"
<wsdl:operation name="ExecuteCommand"
<wsdl:documentationTBD</wsdl:documentation
<wsdl:input message="tns:ExecuteCommandRequest" /
<wsdl:output message="tns:ExecuteCommandResponse" /
<wsdl:fault name="fault" message="tns:TisException" /
</wsdl:operation
</wsdl:portType
HHttpRequestInformation ::= SEQUENCE {
method 0] IA5String OPTIONAL,
uRI 1] IA5String
}
ttpResponseInformation ::= SEQUENCE {
statusCode 0] IA5String OPTIONAL,
statusPhrase 1] IA5String OPTIONAL,
location 2] IA5String OPTIONAL
}
HttpHeader ::= IA5String
AdditionalHttpHeader ::= SEQUENCE OF HttpHeader
SoapHeader ::= CHOICE {
soapHeaderText 0] IA5String,
soapHeaderFile 1] IA5String
}
ExecuteCommand ::= 5] SEQUENCE {
httpReqInfo 0] HttpRequestInformation,
additionalHttpHeader 1] AdditionalHttpHeader OPTIONAL,
soapHeader 2] SoapHeader OPTIONAL,
executeCommandParameters 3] SEQUENCE {
commandRequestData 0] Anonymous15
}
}
ExecuteCommandResponse ::= 6] SEQUENCE {
httpRspInfo 0] HttpResponseInformation OPTIONAL,
additionalHttpHeader 1] AdditionalHttpHeader OPTIONAL,
soapHeader 2] SoapHeader OPTIONAL,
executeCommandResponseParameters 3] SEQUENCE {
commandResponseData 0] Anonymous16
}
}
71 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SOAP SimuIation
Example of a SOAP message to/from the script
ExecuteCommand
1 HttpReqInfo
1.1 URI
6 ******** URI : /sample/
2 ExecuteCommandParameters
2.1 CommandRequestData
2.1.1 Environment
2.1.1.1 EnvironmentParameter
2.1.1.1.1 NameValuePair_Name
24 ******** NameValuePair_Name : env1
2.1.1.1.2 NameValuePair_Value
30 ******** NameValuePair_Value : test
2.1.2 Command
2.1.2.1 Operation
2.1.2.1.1 Operation_Name
40 ******** Operation_Name : op1
2.1.2.1.2 ParameterList
2.1.2.1.2.1 BooleanParameter
2.1.2.1.2.1.1 BooleanParameter_Name
49 ******** BooleanParameter_Name : par1
2.1.2.1.2.1.2 BooleanParameter_Value
55 00000001 BooleanParameter_Value : TRUE
2.1.2.1.2.2 ByteParameter
2.1.2.1.2.2.1 ByteParameter_Name
60 ******** ByteParameter_Name : par2
2.1.2.1.2.2.2 ByteParameter_Value
66 00001100 ByteParameter_Value : 12 (0x0C)
2.1.2.1.2.3 ShortParameter
2.1.2.1.2.3.1 ShortParameter_Name
71 ******** ShortParameter_Name : par3
2.1.2.1.2.3.2 ShortParameter_Value
77 01111011 ShortParameter_Value : 123 (0x7B)
2.1.2.1.2.4 DurationParameter
2.1.2.1.2.4.1 DurationParameter_Namespace
82 ******** DurationParameter_Namespace: KVF
2.1.2.1.2.4.2 DurationParameter_Name
87 ******** DurationParameter_Name : dur1
2.1.2.1.2.4.3 DurationParameter_Value
93 ******** DurationParameter_Value : 10000
72 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SOAP SimuIation
Example of a SOAP test case
IpslVersion 2.0;
Script business;
Activated Locally;
Var
login : String;
BeginScript
Put(Modify(Pool("ExecuteLogin", MSG_UNI_POOL)) /* | ExecuteLogin | */
URI := "/TisService";
Insert c_P_LoginRequestData.c_P_UserDomain;
UserDomain := domain";
UserName := user";
Password := pwd";
EndModify);
Send;
WaitFor Message(NotASoapMessage); /* |< NotASoapMessage | */
uri := GetPar(Location);
Put(Modify(Pool("ExecuteLogin", MSG_UNI_POOL)) /* | ExecuteLogin | */
URI := uri;
...
EndModify);
Send;
WaitFor Message(ExecuteLoginResponse); /* |< ExecuteLoginResponse | */
Put(Modify(Pool("ExecuteCommand", MSG_UNI_POOL)) /* | ExecuteCommand | */
URI := uri;
...
EndModify);
Send;
WaitFor Message(ExecuteCommandResponse); /* |< ExecuteCommandResponse | */
EndScript;
SIMULATION]
CTL_File=...
Title=LP API1 Client
Layers=SOAP,TCP
HTTP]
Monitor=4
TCP]
Link0 = R_IP=158.226.200.63, R_Port=9210
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
The SP basic RFC and a lot of extensions are
supported
RFC 27 - NFO method
RFC 22 - rel100 (PRACK method)
RFC 2 - Specific Event Notification
RFC - GPP private header
DRAFT - Diversion header
RFC 2 - Asserted-dentity headers
RFC 2 - Privacy Mechanism
RFC 1 - REFER Method
DRAFT - Referred-By Mechanism
RFC 11 - UPDATE Method
RFC 81 - Replaces Header
RFC 28 - MESSAGE Method
DRAFT - PUBLSH Method
DRAFT - Session Timer
RFC 81 - Caller Preferences
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
The SP scenario handles most header values that are
required by the protocol, e.g.:
Calld
Provided by the scenario and used to route messages to
resources
CSeq
Provided for requests and mirrored in responses. There is a stack
of two open request for mirroring CSeq, e.g. NVTE and PRACK
or NVTE and CANCEL
Route / Record-Route
Record-Route mirrored in response. Route built up from Record-
Route on client and server
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
To/From + their tags
Provide by scenario, tag added if needed
Via
Calculated from data from lower layer. Automatically knows about TLS
and SigComp.
100rel
Add RSeq and RAck to response or PRACK
Authentication
Calculate and add authentication data. Available Schemes: HMAC,
Digest, Kerberos
All functionality is described in the online help
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Error handling
The scenario will send error responses for receives requests if the
script does not, e.g. due to an error
The scenario will send ACK for received responses on NVTE if the
script does not
Protocol test
All automatics by the scenario may be overridden
Header provided by the script are taken as they are
Provide empty header to suppress the header in the message
Free header may be send through the TransparentHeader
Short header are supported
77 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Support for SIP User
One SP User (e.g. a SP telephone) needs several
independent transactions or dialogs, e.g. REGSTER,
SUBSCRBE, NVTE
Moreover it is e.g. necessary to reREGSTER even during a
running NVTE
To achieve this in PSL these action run on different
resources
The PS keeps the context for each:
Calld, CSeq, Route, ...
On the other hand these actions need to be syncronized, e.g.
first REGSTER then NVTE
Data needs to be shared, e.g. a state value or the
authorization data. This is normally not possible in PSL
because every resource "works on its own
78 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Support for SIP User
As a solution for this PS support a feature that defines some
resources to form a SP user
These resources then share at the moment:
a UserName (string)
a UserState (integer)
the authorization data
Feature is switch on in config file
ResourcesPerUser = 2 | | 8
Then 2, or 8 resources share the data mentioned above
and by this form a SP user
There is index for the UserName to quickly find the resource
for an incoming NVTE by the user name in the To header
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Support for SIP User
What resources are the resources of a SP user?
magine one line in the resource state viewer
Divide it into "ResourcesPerUser blocks
The resources with the same index in those blocks form a SP user
Formal
RpU (ResourcesPerUser) may have values 1, 2, , 8
Then the resources that represent the same
SP user U are:
R(U, n) = * (U div UpL) + (n * UpL) + (U mod UpL)
with
UpL = UserPerLine = div RPU : | 2 | 1 | 8
U = SP user number : 0..
n = n-th resource of SP user U : 0..RpU-1
Practical
The PS provides SimVar SP_UserNumber
80 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Support for SIP User
Graphical version of resource SP user relation
keep in mind the resource state viewer and the assignment of test
blocks to resources above 127
Example for ResourcesPerUser = (UserPerLine = 1)
normally resources from on are used for simulation
all n-th resources of all SP user may use the same TestBlock, this
makes the control file simple
81 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Some usefuI intermediate Iayer
Sec
Add security, i.e. TLS
SigComp
Add signal compression according to RFC 20
ReTr
Add retransmission feature for SP over UDP
RS
Use the sockets of a Linux system for simulation via the RSS
(Remote socket server)
82 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
SIP SimuIation
Counter in Retransmission Layer
Automatic generated statistic counter
ReTr: CliTrns key exists, dis.
ReTr: Response repeated
ReTr: Rcvd Req discarded
ReTr: SrvTrns key exists, discarded
ReTr: Req retransmitted %d/%d
ReTr: Limit reached
ReTr: Purge CliTransaction
ReTr(user): discard response
ReTr(user): request
RETR_WasRetransmit
May be cleared from script ( := 0)
After response is received contains the number of retransmission of
the request
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
PSL is designed to have the same test case scripts for
functional, load and regression tests
Test cases may be combined in control files
All tools may run from command line without user interaction:
ipslc p <profile> -c its <scripts and control files>
ips <config file>
msg (see msg /? for options)
msg /its /tcap /nw /up=map0hlr <trace> > <output>
msg /its /tcap /nw /up=http <trace> > <output>
Hint: the command line is always echoed when a tool is run
from the context menu
There is a special tool to run a number of test cases in batch
and check the success of each test case. t is called Test
Suite Manager (TSM)
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
Organization of test cases
Test suites often contain data which is equal for all test
cases. PSL supports include mechanisms to maintain
common data at a central location:
in control files, scripts uses the C preprocessor:
include <filename>
to use scripts from a directory different from the directory of the
control file:
pragma SCRIPTLIB=<path>
to include data from another file in a PS cfg file:
[include]
<filename>
All paths and filenames are relative to the actual file
BUT PLEASE CONSDER
this violates the idea, that test cases are executable as single
units
if files from other directories are included it is more
complicated to reuse the case or give it to other users
Example of a
test suite
structure
include
Note: changes in
the common files
affect many test
cases and may
make them not
work any longer.
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
Organization of Test Cases
Scripts and control files
are usually located in the same directory
scripts can be located in another directory
(library) when using the SCRPTLB pragma
in the control file, e.g.
#pragma SCRPTLB=c:\test\scr_lib
c:\test
scr_lib (*.scr)
config (*.cfg)
test1 (.ctl, .cfg)
test2 (.ctl, .cfg)
test (.ctl, .cfg)
Split configuration files
Complex configuration may be split into
several files
configuration files may be passed as
command line arguments for ips2.exe, e.g.
ips2.exe test1.cfg c:\test\config\common.cfg
config files may be nested by using the
include section, e.g.
[NCLUDE]
%%..\config\common.cfg
Accessing configuration defines
config file may contain a defines section, e.g.
[DEFNES]
host=1.2..101
port=00
accessing within config file, e.g.
[TCP]
Link0=R_P=%host%,R_PORT=%port%
accessing during runtime in scripts, e.g.
host := GetCfgDefine("host");
port := GetCfgDefine("port");
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
Support by IPS
For test automation it is important to terminate the PS from the script or
control file. This terminates the PS:
IPS_RunMode := 2;
By default the PS has 0 sec to end all open calls and will then terminate.
This time may be changed in the cfg:
[Simulation]
ShutDownWaitTime=<time in ms>
ShutdownIfIdle=1
n case of an error the PS will wait for a user reaction. This may be
changed by:
[Simulation]
ExitOnError=1
Other useful value for regression test:
[Simulation]
ShowTopmost=0
InServiceTimeout=0
87 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
EvaIuating the test
For a regression test the execution status (success, fail)
of each test must be recorded
Usually the test script writes the result to the trace file. A
post process then checks for this result
Note: in general it is not possible to write a negative result
to the trace!
A secure way is to write a "TestOK" message at the end
of the script. The absence of this means the test has
failed.
...
StartTimer(Timer_Response, 20*SEC); // never catch supervision timer to cancel the script
WaitFor Message(Response,GetPar(ReasonPhrase)="OK"); // if different message or other event Error, no OK message
StopTimer(Timer_Response);
res := GET_MSG_PART1("<result", "</result", 1);
If res < OK Then
Cancel(1, NoReset); // if result < ok Error, no OK message
EndIf;
PRINT(http01: TESTCASE OK); // we have reached EndScript OK
EndScript;
"Don't try to
catch all errors
and write a
negative result.
This will always
be incomplete.
Let the simulator
do this for you.
88 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation
EvaIuating the test
Another way is to pass ResourceVar as a Var argument to
the script. At the beginning set it to 0, at the end of the script
to 1.
Script Test(Var TCres : Integer, ...);
BeginScript
TCres := 0;
...
TCres := 1; // we have reached EndScript OK
EndScript;
ResourceVar
res : Integer;
...
On WakeupTimer
Start Test(res, ...);
If res = 1 Then
Print(TEST OK);
EndIf;
A new method is to use the function ErrorLevel() to
check the result of the last script.
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation - EvaIuating the test
You may also evaluate the statistic of the PS
to learn if all calls were OK
PORT7 0 0 : BEGIN of statistic 1 (A) 19 16:47:59.52
PORT7 0 0 : Statistic on Aside; A=...Seiz/B=...Fail 19 16:47:59.52
PORT7 0 0 : S...= IN 1s IN 2s IN 5s ACG 19 16:47:59.52
PORT7 0 0 : 19 16:47:59.52
PORT7 0 0 : A001=~ 1 19 16:47:59.52
PORT7 0 0 : B001=~ 0 19 16:47:59.52
PORT7 0 0 : S001= 0 0 0 0 19 16:47:59.52
PORT7 0 0 : 19 16:47:59.52
PORT7 0 0 : FAILURE RATE : 0.00 % 19 16:47:59.52
PORT7 0 0 : NUMBER OF NOT FAILED CALLS: 1 19 16:47:59.52
PORT7 0 0 : NUMBER OF FAILED CALLS : 0 19 16:47:59.52
PORT7 0 0 : NUMBER OF CALLS OUT. STAT.: 0 19 16:47:59.52
PORT7 0 0 : NUMBER OF PENDING CALLS : 0 19 16:47:59.52
PORT7 0 0 : END of statistic 1 19 16:47:59.52
PORT7 0 0 : BEGIN of statistic 2 (B) 19 16:47:59.52
PORT7 0 0 : Statistic on Bside; A=...Seiz/B=...Fail 19 16:47:59.52
PORT7 0 0 : 19 16:47:59.52
PORT7 0 0 : 19 16:47:59.52
PORT7 0 0 : FAILURE RATE : 0.00 % 19 16:47:59.52
PORT7 0 0 : NUMBER OF NOT FAILED CALLS: 0 19 16:47:59.52
PORT7 0 0 : NUMBER OF FAILED CALLS : 0 19 16:47:59.52
PORT7 0 0 : NUMBER OF CALLS OUT. STAT.: 0 19 16:47:59.52
PORT7 0 0 : NUMBER OF PENDING CALLS : 0 19 16:47:59.52
PORT7 0 0 : END of statistic 2 19 16:47:59.52
PORT7 0 0 : SEZ:00000000001 ERR:00000000000 0.000% 19 16:47:59.52
PORT7 0 0 : O :00000000001 ERR:00000000000 0.000% 19 16:47:59.52
PORT7 0 0 : I :00000000000 ERR:00000000000 0.000% 19 16:47:59.52
PORT7 0 0 : BEGIN of statistic (T) 19 16:47:59.52
PORT7 0 0 : Link D Bytes Msg's Bytes/s Msg's/s 19 16:47:59.52
PORT7 0 0 : 0 O 413 1 0 0 19 16:47:59.52
PORT7 0 0 : 0 I 650 1 0 0 19 16:47:59.52
PORT7 0 0 : END of statistic (T) 19 16:47:59.52
For this method
no prints in the
script are
necessary, so it
may be applied
for load tests
Total number of calls = 1
Number of failed calls = 0
0 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test automation - EvaIuating the test
The latest method is a way to define the conditions for a
successful test in the cfg file. The PS will then set the error
level accordingly.
SIMULATION]
ExitCode=
+ UserExitCode, ; set by SimVar IPS_UserExitCode
+ OutSeizure < 1 1, ; less than one 1 call
+ OutErrorRate 12000 10, ; more than 12.000% failed calls
+ Counter:\"Hello World\" <= 4 20 ; less than 5 times CT_Counter(Hello World)
ITP : ++ 23 17:16:54.50
MAIN : ExitCode set to 10 due to condition: 23 17:16:54.50
: OutErrorRate 12000 10
MAIN : Shutdown complete! 23 17:16:54.50
MAIN : ITPMem: +7408, 7408 23 17:16:54.52
MAIN : STATMem: +90440, 90440 23 17:16:54.52
TRC : Trace closed: 2008.01.23_17:16:54 23 17:16:54.52
Conditions:
UserExitCode
Counter:<name>
OutSeizure
ncSeizure
OutError
ncError
OutErrorRate
ncErrorRate
1 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test Suite Manager
The Test Suite Manager (TSM) is java based application to
run a lot of test cases in a sequence
t does not depend on PSL, may also be used for different
automatization tasks
The test suite and the results are stored in a XML file
The test cases itself are not part of that XML file but are
stored elsewhere in the file system
A test case in TSM consists of
a number of execution steps: parallel or in sequence
a number of evaluation steps: presence of files and check if files
contain or don't contain certain strings
The development of the TSM is still in work
increase usability
increase parallel execution to decrease total execution time for a test
suite
2 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test Suite Manager
ExampIe test
suite in TSM
First step here is
the PS compiler
"ipslc.
t is followed by
the PS
execution,
decoding of the
trace files and
the evaluation of
the decoded
trace files.
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Test Suite Manager
Exercise
Use SP01 as protocol version
Write a simple Register script (REGSTER/200OK)
Write the two corresponding server script: one for success
(200 OK) and one for failure with unknown user (0 Not
Found)
Write a server control file that starts one of the server scripts
depending on the UR of the REGSTER
Create two test cases one for REGSTER with different UR
(one for success on for fail)
Run the test cases
Create a test suite with TSM for the two cases
Run the suite in TSM
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Performance tests
Hints
n best case you may reuse scripts from functional test
Don't write script that assume to run on certain resources
PS may have variable number of resources, avoid
assumptions on number of resources
f you need groups of resources with different behaviour
use parts of range .. 127 because this range repeats
for resources above 127
Avoid prints to trace because O may block the PS
Don't run PS at the CPU limit, this leads to unusable test
results
Use online statistic of PS
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
Performance tests
Exercise
Reuse the REGSTER test from TSM
Write a new server that reacts
1% 0
10% 200 OK after immediately
0% 200 OK after 100ms
0% 200 OK after 1s
% don't react at all
Use the Distribution statement for this
Measure the response time on client side
Use a time out of s at client (so 10% of the calls should fail)
Use all resources (128) for simulation
Run the test for 1 min at 0 kBHCA
Evaluate the test using the online statistic and the tools it_print and it_sum
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
MuItipIe IP addresses
Windows
Windows 2000/XP supports an "unlimited number of P
addresses per interface
Best way to add the addresses is netsh command
Practical experienced limit is 000
Adding the addresses takes hours
Performance degrades with higher number of addresses
Configuration in ips.cfg
Link<n> = L_P=<ip-address>, ...
But anyhow it is practical because available on the system
without any additional hard- or software
7 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
MuItipIe IP addresses
RSS
To have much more addresses the RSS (Remote Socket Server) was
developed
t uses a Linux PC as socket implementation
A special process (RSS) runs on the Linux PC
The PS connects to the RSS via one (1) TCP connection
The RSS may implicitly be a router to separate workstation network and
test network
8 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
MuItipIe IP addresses
RSS
Practical experience: 120.000 addresses were possible
The PS uses the sockets of the Linux as if they were it's own,
there is not difference for higher layer:
The socket addresses are available in RS layer of PS, so higher layer
(e.g. SP) insert the correct addresses into their PDUs
Usable with all protocols the PS support: e.g. SP, MGCP, HTTP
The PS internal SSL/TLS layer works on these sockets, too
Configuration in PS
LowLayer=RS,TCP
Configuration of RS as before TCP
Configuration of TCP: one link to RS
Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - Costs / Terms of usage
PSL may be used for free inside NSN
PSL is distributed by COO OBS BSS RD SV Tools &
Methods, users are not allowed to pass PSL to others,
but they may point them to our web site.
PSL must not be given to users outside NSN
100 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - Support
PSL is developed in Berlin at COO OBS BSS RD SV
Tools & Methods
Support from development is given for free but capacity is
limited
Errors are corrected as soon as possible
PSL development assumes there is someone at each
site that uses PSL that coordinates all users at this side
to support each other.
PSL development usually does not have real test cases.
Test cases are shared free between all users of PSL
101 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL - New Features / Change Requests
PSL development is user driven. We don't invent new
features ourselves.
Users who need enhancements may request changes via
mail to any member of our group.
Change request must be paid by the one who requests
the enhancement.
Once a new feature is implemented it is freely available to
all PSL users
102 Nokia Siemens Networks Presentation and Training / 08.08.2007
For internal use
Back to Overview
IPSL Documents
nstallation
Network: http://in.bln1.bf.nsn-intra.net/N-TEST-SW/ipslserver.htm
Local: http://in.bln1.bf.nsn-intra.net/N-TEST-SW/ipsltools.htm
PSL FSpec - language specification
%toolpath%\online.hlp\ipslfspec\ipsl-fspec-02.doc
PS online help - description of the specifics for each layer (function,
configuration, simulator variables)
%toolpath%\online.hlp\ips2.htm
F1 within PS
Description of the simulator extensions
%toolpath%\online.hlp\handy\index.htm
%toolpath%\online.hlp\ipsldb\ipsldb.doc
%toolpath%\online.hlp\ipsltiu\index.htm

Potrebbero piacerti anche