Click here to load reader
Upload
markuskrasus
View
249
Download
33
Tags:
Embed Size (px)
DESCRIPTION
NSN HIT training
Citation preview
NOKIA
HIT(Holistic Integration Tester)
2005-09-27
Presented by:Roland Tóth NET/Budapest
NOKIAInstructor:
Tóth Roland
Senior Software Verification Engineer
(NET R&D / Budapest)
NMMITHU8
Agenda: Time range : 9:00 – 12:00
• Part 0: Beginning / Introduction• Part 1: General information• Part 2: Devices• Part 3: Hit language• Part 4: Functions• Part 5: Error• Part 6: Debugger• Part 7: Response analysis• Part 8: Caselist & Batchqueue• Part 9: Options• Part 10: DLL & DDE
Time range: 12:00 – 13:00 LunchTime range: 13:00 – 15:00
• Part 11: Exercise / Practising
Part 1:General Information
Agenda
• Background• Main Features• How to use HIT • User Interface• Toolbar• Toolbar Dialog• On-line Help
Background
• HIT = Holistic Integration Tester
• Automated test execution • First version was released in 1994• Implemented for integration testers of MSC&HLR
product line
Used also • in other product lines• to cover complete testing area
General Information
• Main part of the customer tool package• (HIT, TICA, DXDOS)
• Latest release version 2.8-0• You can download from the Main HIT macrosystem
page
http://wwwalltr.ntc.nokia.com/MSCHLR/msys/
8 . dia INFO NAP 2002 Roland Tóth from NOKIA
Introduction
Capabilities of the HIT:
· Test Execution Language TEL· connection to DX using COM-ports· TELNET sessions to UNIX workstations using TCP/IP· Automatic macro execution and result analysis
· online help system, example macros, copy&paste library
· debugger features: breakpoints, single stepping, active variables
· message monitoring support· charging and statistics reports· module testing support
· DDE / DLL interface
Main Features
HIT
TEL-language
Serial port and TCP/IP connections
Device control
Queueing mechanism
Debugger features
Automatic macro execution
Result analysis
Extensible with DLLs
Use of DDE -functions
Case list features
System function libraries
Concepts• Macro A logical functionality written
in TEL- language (e.g a test case or a macro for
other purposes)• Case list A list of macros to be
executed in given order, can be saved in a list file
• Library Collection of functions written in the HIT language
• Batch A group of HIT macros or case lists that are executed when batchqueue is started.
What Must Be Tested -1• One Network Element must be tested without other
network elements
How It Is Tested in Principle -2
• Other network elements are simulated. • Different simulators are co-ordinated from HIT master
tester. • In addition, HIT initialises the network element under
test Holistic Integration Tester (HIT)
HLRSimulation
SCPSimulation
PSTNSimulationMSC
PBXSimulation
A-InterfaceSimulation(MS+BSS)
User Interface
Macro
Response
Messages
List
Toolbar
New File
Open
Replace File
Save
Undo
Cut
Copy
Paste
Find
Find Next
Replace
Fast Mode
Syntax Check
Run
Stop
Reset
Send Next
Skip
Goto
Run To Cursor
Step Over
Trace Into
File actions Text actions Debugger actions
Toolbar Dialog
Send NextSkipGotoRun To CursorStep OverTrace IntoSend BreakPrintPrint PreviewAdd WatchView WatchCall StackTerminal 1Terminal 2Terminal 9User Help 1User Help 2User Help 9
Available only in HIT versions 2.2-0 or later.
Possibility to insert to the Main Window Toolbar:
On-line Help• System Functions Help for HIT system functions
• Language Reference Help for TEL language
• Debugger features Debugger features and possibilities in HIT
• SW Upgrade Project Help for creating a SW upgrade project and its files
• HIT environment
• Getting started Help for basic functionality
• Caselist options
• HIT limitations
• Emergency Help
Summary
• Main features of HIT• Automatic macro execution• Result analysis• Device Control• Extensible with DLLs• System function libraries• Debugger Features• TEL-language
• Macro is a logical functionality written in TEL-language
• Hit supports TCP/IP and RS-232 communications
Part 2:Device
Part 2: Agenda
• Background on devices• Device System Functions• Device Configurations
• Com Connections• Telnet Connections• Prompts• Login• Resurrection• Terminal• Miscellaneous• Configurations
• Connect
Device
• Devices enable the testing of objects that are not located in the HIT PC
• The HIT system provides an easy interface with Devices
• Devices must be connected to the HIT PC with either RS-232 COM ports or TCP/IP telnet connections
• Information is stored in the HIT2.INI file and read whenever the program is started
Device Configurations
User may create, edit or delete Telnet and COM -connections
List of defined connections for the system is shown here
COM Connection
Telnet Connection
Prompts
Three separate prompts for each device may be defined. The function must be given one of the index of the prompt being specified, either 1, 2, or 3, and the string representing the desired prompt for the unit.
• BOTH, wait for prompt before and after sending a command
• BEFORE, wait for prompt before sending, no waiting for prompt after command has been send
• AFTER, wait for prompt after command has been send, no check before sending command
• NONE, just send the command, regardless if a prompt is available
Login
Resurrection
Terminal
Miscellaneous
Configurations
All the defined connections for the system will be shown here
If the connection is not currently in use (used by a macro or have a window open), the status is closed
30 . dia INFO NAP 2002 Roland Tóth from NOKIA
INI files storing place and change method
The INI files stores the settings which describes the connections between the PC and the tested system, and this connection settings. This INI files may contain also COM and TELNET session settings also.
This INI files are checking by the LAB guys, and stored in a common place.
INI file storing on the C drive is forbidden.
You can use only from the Y drive only.
The path : Y:\Int\Ini_files\
If you would like to change it, then you can set it in the following menu place:
Device Set configuration Configuration File Browse
Summary
• Hit enables an easy way of controlling devices• Devices connected to HIT PC with RS-232 COM
ports or TCP/IP socket links• Device system functions
• e.g.• device() - The device function is used to select the device with
which the system communicates.• Tx() - sends formatted output to a device, statements can be
transmitted to the currently open device.
• The user can define three prompts and four revivals for the device
• Toolbox • user specified tool-buttons for frequently used activities
32 . dia INFO NAP 2002 Roland Tóth from NOKIA
Toolbox
User can create tool-buttons for frequently used activities
Select the button and the command type
Part 3:HIT Language
Agenda
• Writing Macros• HIT Macro Language (TEL)• Variables
• Referring to Variable Values
• Arrays• Control Statement
• If, While, For, Switch, Break and Abort
Writing Macros
• Design like programs
• Structure as simple as possible• functions and function calls• comments!!!
• Frequently used functions can be stored in libraries
• One macro may contain several functions
• Syntax highlighting
HIT Macro Language (TEL) /1
• Comments: /* */ , // , :• Continuation: \• Assignment: =• Comparison: ==, <>, >, >=,
<, <=• Math: +, ++, -, --, *, / • Logical: AND, OR, NOT• Bitwise: &, |, ~, ^, <<, >>• Substring: ” ‘…’ ” in search
expression
37 . dia INFO NAP 2002 Roland Tóth from NOKIA
HIT Macro Language (TEL) /2
• #include• #define• #incpath
• Hasoption() detection function for used own option string detection
• E.g. > #option /test
Variables• Variable definition and assignment
• scope type variable_name = assignment;
• Types:• integer, float, string
• Scope:• public, const, perm (export variable),
extern (import variable)• integer x; • string y; • integer VariableArray[];
• x = 4;• y = "HIT";• VariableArray[4] = 123;
Referring to Variable Values
• %s string • %d integer• %f float
• A format specifier begins with a percent sign and is followed by the format code
• There must be exactly the same number of arguments as there are format specifiers
• Format specifiers and the arguments are matched in order from left to right
• e.g. print("I am %d %s", ‘28', "years old");
Arrays
• scope type arrName[dimension_size];
• dimension_size can be either:• fixed: [12] as in traditional arrays • unfixed:[] ; this is HIT associative array
• traditional arrays may be indexed from 1 to dimension_size as normally
• associative arrays may be indexed arbitrary• Multidimensional arrays
• scope type multiArrName[ ][ ]
Example Traditional Array
function seasons()string myArray[4];integer i;
myArray[1]="Summer";myArray[2]="Autumn";myArray[3]="Winter";myArray[4]="Spring";
for(i=1; i<=4; i++)print("%s\n", myArray[i]);
endforendfunction
Example Associative Array
function translateEnglishSeasonNamesIntoFinnish()string dictionary[];string question;
dictionary["summer"]=”nyar";dictionary["autumn"]=”osz";dictionary["winter"]=”tel";dictionary["spring"]=”tavasz";
ask(question, "Give Season name in Hungarian");messagebox(dictionary[question]);
endfunction
Control StatementsIF
if( x < 100)
y = 2;
elseif( x > 100 AND x < 200 )
y = 3;
else
y = 4;
endif
Control StatementsWHILE
while( Y < X )
print( "Number Y is: %d\n", Y );
Y++;
endwhile
45 . dia INFO NAP 2002 Roland Tóth from NOKIA
Control StatementsDO
Integer x = 10;
Integer y = 1;
do
print( "Number Y is: %d\n", Y );
Y++;
until ( Y < X )
Control StatementsSWITCH
switch( UnitName )case( "LSU" ):case( "CCSU" ):
print( "Signaling unit selected" );break;
case( "OMU" ):print("Operational and Maintenance unit
selected");break;
default:print( "Some other unit" );break;
endswitch
Control StatementsBREAK
while ( i < 100 )
status = DoSomething();
if ( status == FALSE )
break;
endif
endwhile
If ( status == FALSE ), execution is continued after endwhile despite the value of i.
Control StatementsABORT
function main()
integer nbr;
nbr = ask(“Input case number”);
if(nbr == CANCEL)
printlog(“Paranormal ending\n”);
abort ( 0,”Stop macro” ); /* terminate macro */
else
ExecuteCase(nbr);
endif
endfunctionIf ( nbr == CANCEL ), macro execution is terminated
49 . dia INFO NAP 2002 Roland Tóth from NOKIA
Control StatementsRETURN
• The user can use the RETURN controlling statement in the function calls.
• If this statement has invoked in any place in the function the execution is stopped at this point, and the function return with this parameter value.
Summary
• TEL-language is a procedural language• Over 200 system functions• Macros designed like programs• Macro structure: functions and function calls• First function always the main function• Traditional arrays: a static array, fixed dimension
size, indexing from 1 onwards• Associative arrays: a dynamic array, unfixed
dimension size, indexing arbitrary • Control statements: if, while, switch, for, break,
abort
Part 4:Functions
Agenda
• Definitions of Functions• HIT System Functions• User Specified Functions• Toolbox
Functions
FUNCTIONS
User's SpecifiedFunctions
HIT SystemFunctions
Parameterspass by
reference
Functionreturning a
value
Parameterspass by value
HIT Example System Functions
• device( "MML" );• tx( "ZUSI:COMP::LIST;" );
• Also embedded tx commands, Z...• Automatic MML-semantic error detection
• getline( line," 'WO-EX' " );• strfetch( line, "12-13", str1 );• strscan( line, "%s %d %*s %s",str1, int1,
str2 );
7 tips for string manipulation:
Microsoft PowerPoint
bemutató
HIT System Functions
• User Interface functions ask ()
• Analysis and log handling functions getline ()
• File Functions fileread ()
• String manipulation functions strfetch ()
• Conversion functions inttostr ()
• Time functions getpctime ()
• Device Functions promptcheck ()
• DDE functionsused with external
applications• DLL functions
dllload ()• FTP functions e.g.
used in M9• Directory Functions
getworkdir ()• Miscellaneous Functions• Event handler functions
(eventsetstate( ) )• (Obsolete functions)
Functions:Parameters Pass By Reference
function a()
integer a = 1;
b(a);
//value of a is changed to 2
endfunction
function b( integer ¶m )
param = param +1;
//value of param is 2
endfunction
Functions:Parameters Pass By Value
function a()
integer a = 1;
b(a);
//value of a is unchanged
endfunction
function b( integer param )
param = param +1;
print("%d",param);
//value of param is 2
endfunction
Functions:Function Returning a Value
function math()
integer a = 3 , b = 5, c;
c = CountSum(a,b); // value of the c is now 8
endfunction
integer function CountSum( integer x, integer y )
return( x + y );
endfunction
File reading
Functions:• Fileopen integer handle fileopen(string
filename, integer option);• Filegetline integer filegetline( integer
handle, string line, ["search criteria"], [variable..])
• Fileclose fileclose(integer handle);
60 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions /1
• Strfetch
• integer strfetch (string line, "search criteria", string ...)
• f.g. integer count;string line = "My name is Roland and I am 26 years old",
name;{count = strfetch (line, "12-17", name);}
{count = strfetch (line, „’am’:4-5", name);}
61 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions /2
• Strscan
• integer strscan(string str, "[%s]... [%f]...[%d]...", [string], [float], [integer]...)
• f.g. integer age, count;string line = " My name is Roland and I am 26 years old",
name;{count = strscan (line, "%*s %*s %*s %s %*s %*s %*s %d",
name, age);}
62 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions /3
• integer strregexp(string line, string regexp)
Search for substring matching the regular expression (search criteria)
• ".„ matches any single character• "[aeiou]" would match either "a", "e", "i", "o", or "u".• "[ a-z ]" would match on any lowercase alphabetic character• "[ ^g-v ]" would match on any lowercase alphabetic character
NOT between g and v.• "[ a-z ]*" matches zero or more occurrences of lowercase
alphabetic characters.• "[ 0-9 ]+" matches one or more occurrences of lowercase
alphabetic characters.• "xy?z" matches on "xy" or "xyz".• "^[ A-Z ][ a-z ]*" matches capitalised words at the beginning of a
line.• "[ A-Z ][ a-z ]*$" matches capitalised words at the end of a line.
63 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions /4
• Substring search with any position in the string
Example:Getline(line,” ‘searched substring’ ”);
• More criterias in searching criteria:
Example:Getline(line,” ‘substr1’ AND ‘substr2’ OR ‘substr3’ ”);
64 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions /5
• Whitespace and continuation:
Example:
line = ”\” string\””; > “ in the string
It should be used if put directory part with spaces:
dir = “\”C:\Program Files\Hit2\”\”;
line = ”\n new line \t: tab”; > new line and tab
65 . dia INFO NAP 2002 Roland Tóth from NOKIA
String functions example macro
function main()integer fhand;string line;
fhand = fileopen("exercise.log",READ);if(fhand<0)
abort(0,"file not found"); endif
while(getline(line,"'WO-EX'" ))strscan(line,"%s %*s %*s %*s",unit);fileprint(fnum,"%d.: %s\n",i,unit);
endwhile
fileclose(fhand);endfunction
66 . dia INFO NAP 2002 Roland Tóth from NOKIA
Functions:Passing Traditional Array as an
Argumentfunction seasons()
string myTradArray[4];integer i;
myTradArray[1]="Summer";myTradArray[2]="Autumn";myTradArray[3]="Winter";myTradArray[4]="Spring";
printTradArray(myTradArray, 4);endfunction
function printTradArray(string myArray[*], integer size)integer i;for(i=1; i<=size; i++)
print("%s\n", myArray[i]);endfor
endfunction
67 . dia INFO NAP 2002 Roland Tóth from NOKIA
Functions:Passing Associative Array as an
Argumentfunction translateEnglishSeasonNamesIntoHun()
string dictionary[];
dictionary["summer"]=”nyar";dictionary["autumn"]=”osz";dictionary["winter"]=”tel";dictionary["spring"]=”tavasz";
askAndTranslate(dictionary);endfunction
function askAndTranslate(string dictionary[])string question;
ask(question, "Give Season name in english");messagebox(dictionary[question]);
endfunction
Summary
• Division to user specified functions and system functions
• User specified functions are divided in to three categories
• parameters pass by reference• parameters pass by value• functions returning a value
• Hit has a very extensive system functions help• system functions e.g. log handling functions, file functions
69 . dia INFO NAP 2002 Roland Tóth from NOKIA
BATCH LIST MACROSTATEMENT
ASSIGNMENT
DATA
DIALOG
DESKTOPSETTINGS
RESP ANA
FUNCTION
FLOW CONTROL
OPTIONS
SENDPORTSETTINGS
OUTPUT
WINDOWFILE
PORT
devicequestionanswersuffixtimeoutsetdelaygetdelay
controlled by
COM
TCP / IPinternalexternal
logmonitoring
responseterminal
getlinestrfetchstrscan
askmenupause
simplearray
constvar
calls calls
has
calls is
is
is
is
using
hasusing
is
goes to goes to
has
giving
if-else / for / while
monitoringchargingstatisticscomplogs
is
is
checking
HIT object model
string / conv / file / time
is
sendtx
70 . dia INFO NAP 2002 Roland Tóth from NOKIA
HIT SCHOOL
71 . dia INFO NAP 2002 Roland Tóth from NOKIA
Hit Advanced Modules
• Errors• Debugger Features• Response Analysis • Lists&Batchqueue • Options• DLL
72 . dia INFO NAP 2002 Roland Tóth from NOKIA
Repeating - Concepts
• Macro A logical functionality written in TEL- language (e.g a test case or a macro for other purposes)
• Case list A list of macros to be executed in given order, can be saved in a list file
• Library Collection of functions written in the HIT language
• Batch A group of HIT macros and/or case lists that are executed when batchqueue is started.
73 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 5:Errors
74 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• Error Types• Error Handling• Runtime Error Recovery
75 . dia INFO NAP 2002 Roland Tóth from NOKIA
Errors
Errors
Syntax Check Runtime
Missingsemicolon
Invalidassignment
Systemfunctions
Expressions
Invalidparameter
values
Invalidstring
"Device notselected"
"Device notfound"
Uninitializedarray
Index
Uninitializedvariables
Table
Invalid functionparameter
types
Device
Logical Errors
76 . dia INFO NAP 2002 Roland Tóth from NOKIA
Error Handling• Runtime errors
• System function evaluation error
- Recovered by the choice "Recover Runtime errors"
• An evaluation error of a sentence
- Division by zero• Other errors (not handled by the HIT)
- Disk is full • Controlled by the "Recover Runtime Errors"-choice
- In DX200 integration testing nothing is allowed to stop the executing of the list/batchque!!!
77 . dia INFO NAP 2002 Roland Tóth from NOKIA
Recover Runtime Errors• Error handling on
•Notification to the user, the user may try to correct the macro and continue the run
• Error handling off•Macro execution stops and notification is sent to the user, the next macro on the list/batch on the run
• Errors, which cannot be corrected•DDE/DLL System functions
• - Invalid function prototype in dll-function call -> runtime error (unrecoverable)
• - Invalid parameter value in DLL-function call ->crash
• - Invalid DDE parameters may cause the Server application to abort ongoing DDE transaction
•String to number conversion•The system crashes
78 . dia INFO NAP 2002 Roland Tóth from NOKIA
Summary
• Three types of errors (errors in macros)• Runtime Errors• Syntax Check Errors• Logical Errors
• Error handling• Recover runtime errors -option allows the user to do
corrective actions without restarting the macros
79 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 6:Debugger
80 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• Introduction• Run Menu Choice • Debugger Menu Choice• Breakpoints• Active Variables
81 . dia INFO NAP 2002 Roland Tóth from NOKIA
Debugger
• Debugger features help to control macro execution
•- Enable user to set breakpoints•- Provide on-line information of values of variables and function call stack
82 . dia INFO NAP 2002 Roland Tóth from NOKIA
Run
Execution mode
Syntax check for a macroStart macro or caselist execution
User event calling
83 . dia INFO NAP 2002 Roland Tóth from NOKIA
Debugger
Call Stack
Active variablesWatch
Breakpoints
84 . dia INFO NAP 2002 Roland Tóth from NOKIA
Breakpoints
Set the breakpoint to the certain line by setting the cursor on the line and selecting Toggle breakpoints from debug-menuBackground of the line turns to red
• Macro execution will be interrupted at that line
• Continue execution by stepping (line-by-line) or by running• Removing breakpoints
Line-by-line: Select Toggle breakpoints
All at once: Select Clear all breakpoints
85 . dia INFO NAP 2002 Roland Tóth from NOKIA
Active Variables• List is a dialog showing variables that are
currently active
• List consist of• - type of the variable• - name of the variable• - current value
• Value can be changed by • double clicking the variable
•
86 . dia INFO NAP 2002 Roland Tóth from NOKIA
Other Debugger FeaturesProvide on-line
information:
• Watch properties • - Variables can be hand-
picked into a watch window
• Call stack• - Window showing the
function calls and their arguments
87 . dia INFO NAP 2002 Roland Tóth from NOKIA
Summary
• Debugger features available only in the interactive mode
• Debugger features enable the controlling of the macro execution
• Examples on debugger features • breakpoints: macro executed will be interupted at a
breakpoint line• active variables: dialog showing variables currently active
88 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 7:Response Analysis
89 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• On-line and Off-line response analysis• Event-Handler Structure• Log-files• File Handling and Log Handling system
functions
90 . dia INFO NAP 2002 Roland Tóth from NOKIA
Log Files
• HIT creates <LogName>.log file always when HIT macro or list is run. <LogName> means either:
• macro file name, • test case name in the list window, or• list name if test case names are not given
in list window for macros• Log file may be changed using logset system
function. Logclose return the original• Log file includes
• All responses from response window• All logprint function outputs• All HIT system outputs
91 . dia INFO NAP 2002 Roland Tóth from NOKIA
File Functions & Log Handling Functions
File Handling Functions
• Opens a file to be used by a macro file
• Returns a handle to this file
• Referring to the file the user needs to specify the handle
Log handling functions
• Opens a file to be used by the macro
• Hides the handle from the user
• Automatically refers to the file the user doesn't need to specify the handle
92 . dia INFO NAP 2002 Roland Tóth from NOKIA
Differences between file- & log handling functions
• File functions
+ If more than 1 files to be analyzed simultaneously
- The abstract handlers
• Log handling functions
+ No handlers
- Complicated when more than 1 files to be analyzed
93 . dia INFO NAP 2002 Roland Tóth from NOKIA
File System Functions
Function Descriptionfileaccess Determine existence of the specified file or directoryfileclose Close a file. filecopy Copies specified filefiledelete Delete a filefilegetline Search and read from a file. filegetpos Return current file pointer positionfileopen Open a file. fileprint Formatted output to a file. fileread Read from a file. filereceive Receive files from connected device using Kermit protocolfileseek Position the access point in a file to top or bottom or current filesetpos Sets file pointer positionfilesize Get file sizefiletransmit Send the specified file to the remote device using Kermit protocol
94 . dia INFO NAP 2002 Roland Tóth from NOKIA
Log Handling Functions
Function Descriptiongetline Read or seek line from the log stream.getlogname Get the name of the current log file.Logclose Close log file. logcloseaux Close an auxiliary log filelogenable Toggles logfile writing logfilter Turns (escape character) filtering ON/OFFlogprint Write to log file and to message window. logscreen Writes last n lines from screen buffer to the current log filelogseek Position the internal log pointer to top or bottom of log or to last.logset Open log file. logsetaux Open auxiliary log filelogsize Gets the specified log size.logwaitline Same getline() except it doesn't return until complete line is read
95 . dia INFO NAP 2002 Roland Tóth from NOKIA
File open and positioning example:
function main()
integer file_handler;
file_handler = fileopen("params.par",READ);... fileclose(file_handle);
endfunction
Positioning in the file can do with >fileseek(Handler,FILE_BEGIN);fileseek(Handler,FILE_END,-1);fileseek(Handler,FILE_CURRENT,2);
96 . dia INFO NAP 2002 Roland Tóth from NOKIA
Log open and positioning example:
function main()
logprint("This goes to standard out of the test system");
logset("temp.out", NEW);
logprint("This goes to temp.out");
logclose();
endfunction
Positioning in the log can do with >logseek(LAST,2);logseek(CURRENT,1);
BOTTOM end of the log file.LAST start of last command's output.CURRENT current position.
97 . dia INFO NAP 2002 Roland Tóth from NOKIA
Summary
• Hit enables the user to do • On-line Analysis
– HIT is told to follow the response continuously during the macro execution
– Event-Handler structure, Log-handling and File system functions
• Off-line Analysis– The response is saved in files and analysed later– Log-handling and File system functions
98 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 8Caselists & Batchqueue
99 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• Macrolist• Definition of a Batchque
100 . dia INFO NAP 2002 Roland Tóth from NOKIA
Building Test Suite with Caselists
• Test suite = grouping of related macros into caselist
• List provides a common interface to a collection of macros
• List window for writing and running caselist • In most cases once macros are written with
macro editor, the execution is performed with caselist window
• List is executed either by pressing run button or from the batch queue
• Caselist OPTIONS may be used for example :• for collecting message monitorings • for collecting computer logs• for checking charging and statistic records
• Caselist options are list-specific
101 . dia INFO NAP 2002 Roland Tóth from NOKIA
Caselist Syntax
• Each (expect caselist directive) line must begin with E or P letter
• E <CaseName> FileName::FunctionName(X)•E-case, or EXECUTE. List item is executed without caselist options
• P <CaseName> FileName::FunctionName(X)•P-case, or PERFORM. List item is performed with caselist options applied to item
• Caselist directives:• #options item item
•Caselist options for P-cases. Can be used to define messages monitorings, charging and statistics collection etc.
• #incpath path1; path2; …•Define include directory or directories
102 . dia INFO NAP 2002 Roland Tóth from NOKIA
Caselist Options (1/2) • #options /T /C /P /R /M ="UNIT FAMILY" /H="UNIT
FAMILY"
• /R Directs the HIT system to check for hanging resources in the Marker and to ensure that the call ticket is complete. The flag calls macro CALLCHK.TEL in the HIT\INCLUDE directory
• /T Statistics (Tilastointi) flag causes the system to perform statistical macros for every P class test case. The macros are located in file STA.TEL in the HIT\INCLUDE directory
• /C Charging flag causes the system to perform charging macros for every P class test case. The macros are located in file CHARGE.TEL in the HIT\INCLUDE directory
103 . dia INFO NAP 2002 Roland Tóth from NOKIA
Caselist Options (2/2)• #options /I /T /C /P /R /M="UNIT FAMILY" /H="UNIT FAMILY"
• /P change default calling order of pretest() and posttest() functions in relation to the message monitoring option /M and /H.
• Default calling order is: set_monitoring(), pretest(), main(), posttest(), get_monitoring().
• If /P flag is used, the calling order is: pretest(), set_monitoring(), main(), get_monitoring(), posttest().
• /M ="UNIT FAMILY" MSC Message monitoring flag causes the system to set message monitoring for the selected unit and family in the MSC. The default macros are located in file MONITOR.TEL in the HIT2/INCLUDE directory.
• /H="UNIT FAMILY" HLR Message monitoring flag causes the system to set message monitoring for the selected unit and family in the HLR. The default macros are located in file MONITOR.TEL in the HIT2/INCLUDE directory.
• More Options can be found from the HIT User's Guide
104 . dia INFO NAP 2002 Roland Tóth from NOKIA
Example Caselist
105 . dia INFO NAP 2002 Roland Tóth from NOKIA
Batchqueue
Batchqueue
List List ListMacro
MacroMacro
Macro
MacroMacro
MacroMacro
MacroMacro
Macro
106 . dia INFO NAP 2002 Roland Tóth from NOKIA
Batchqueue• Non-interactive testing• Macros and lists are added to a batch queue
and executed; can also be added during batchqueue execution
• Generally used in overnight testing
107 . dia INFO NAP 2002 Roland Tóth from NOKIA
Adding a File to the Batch Queue
Username is mandatory
Select the file to add to the batch queue
Batchqueue list is shown in a specific window
File types:
Macro files: *.tel, *.hit List files: *.lst
108 . dia INFO NAP 2002 Roland Tóth from NOKIA
Summary
• Caselist provides a common interface to a collection of macros
• List window is for writing and running macrolists• Macrolist file is type .lst• Batchque enables the user to do non-interactive
macro execution• Caselists and macros can be added to a batchque
and executed• Batchques often used e.g. in night-time execution
109 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 9:Options
110 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• Interpreter• Environment• Window Defaults• Load/Save Environment
111 . dia INFO NAP 2002 Roland Tóth from NOKIA
Interpreter
112 . dia INFO NAP 2002 Roland Tóth from NOKIA
Environment
Environment -dialog let the user configure the desk top as desired
- Macro window
- Editor
- Message window
- Response window
- Runtime
113 . dia INFO NAP 2002 Roland Tóth from NOKIA
Window Defaults
• Window default -option is used for defining default font settings for the window types that can exist more than once
114 . dia INFO NAP 2002 Roland Tóth from NOKIA
Load/Save Environment
• Environment settings can be saved for the further use and loaded with these options
• There can be several different configurations saved
115 . dia INFO NAP 2002 Roland Tóth from NOKIA
Summary
• Environment -dialog allows the user to configure the desktop as desired
• Window default -option is for defining default font settings for windows
• Environment settings can be saved for the further use and loaded with the Load/Save environment options
116 . dia INFO NAP 2002 Roland Tóth from NOKIA
Part 10:DLL & DDE
117 . dia INFO NAP 2002 Roland Tóth from NOKIA
Agenda
• Definition of DLL's• Using DDE interface for Excel
manipulation
118 . dia INFO NAP 2002 Roland Tóth from NOKIA
DLL = Dynamic Link Libraries
• The macro language allows the user to elaborate testmacros
• The built-in functions of the HIT macro language can also be extended with external functions from Windows DLLs
119 . dia INFO NAP 2002 Roland Tóth from NOKIA
Dynamic Link Libraries (DLL)
External DLL-libraries can be used in HIT macros
dlldw Execute specified DLL function; returns a DWORD valuedllload Load the specified DLLdllfunction Execute the specified DLL functiondllfree Release the specified DLL from memorydllw Execute specified DLL function; returns a WORD value
120 . dia INFO NAP 2002 Roland Tóth from NOKIA
DDE Interface
• The Excel application offers DDE services that can be used to read data from Excel sheets to the HIT application. HIT can also create Excel sheets and transfer data to the sheets using DDE.
Some useful DDE services
• Service Description• NEW create new sheet• ERROR(FALSE) turn off ‘workfile not saved’ warning dialog• CLOSE close active sheet
121 . dia INFO NAP 2002 Roland Tóth from NOKIA
Usefull DDE functions
• CLOSE.ALL close all sheets• SELECT(“R1C1:R3C1”) select a range of cells• STYLE(1,1) boldface & italics style• NEW(2,2) add new chart from selection• GALLERY.3D.COLUMN change chart type to 3D-column• ARRANGE.ALL Tile windows horizontally
Microsoft Word
dokumentum
DDE related function list:
122 . dia INFO NAP 2002 Roland Tóth from NOKIA
Connecting to the Excell
• It can happen it two steps!
• First step is connecting to the open excell• Read the sheet name which is curretly used• Close the connection
• Second step is connecting to the sheet opened by excell.
• Fill the cells• Close the connection
123 . dia INFO NAP 2002 Roland Tóth from NOKIA
Quick programming guide
First step :
(Read the sheet name from excell)
ExcelDDE = ddeconnect("Excel","System");
topics = dderequest(ExcelDDE,"Topics");
strscan(topics,"%s",sheet);
ddedisconnect(ExcelDde);
Second step:
(connecting to the sheet)
ExcelDde = ddeconnect("Excel",sheet);
124 . dia INFO NAP 2002 Roland Tóth from NOKIA
The End
Related documents
http://www2.connecting.nokia.com/net/global/netestooldistri.nsf/document/ES345M69L3?OpenDocument
Official HIT page
http://www2.connecting.nokia.com/net/global/netestooldistri.nsf/document/ES345M4DYC
Macrosystem page
http://wwwalltr.ntc.nokia.com/MSCHLR/msys/
HIT USAGE GUIDEfile://xesgrp001.nee.nokia.com/groups1/testtool/public/tools/hit/doc/hitguide.doc