Atoma TestStudio UserGuide
Atoma TestStudio UserGuide
Table of content
1. Introduction _________________________________________________________________________ 6
1.1 TERMS AND ABBREVIATIONS __________________________________________________________ 6
1.2 REQUIREMENTS ___________________________________________________________________ 6
1.2.1 Optimal hardware configuration __________________________________________________ 6
1.2.2 Supported platforms __________________________________________________________ 6
1.2.3 Supported Java™ versions _____________________________________________________ 7
1.2.4 Additional softwares __________________________________________________________ 7
1.2.5 Privileges ___________________________________________________________________ 7
1.3 TESTSTUDIO INSTALL _______________________________________________________________ 7
1.3.1 The TestStudio download / update site ____________________________________________ 7
1.3.2 Download of the TestStudio installer ______________________________________________ 8
1.3.3 Installation _________________________________________________________________ 10
1.4 LICENSING ______________________________________________________________________ 10
1.4.1 Online Licensing ____________________________________________________________ 10
1.5 W ORKSPACE ____________________________________________________________________ 10
2. TestStudio setup ____________________________________________________________________ 12
2.1 TESTSTUDIO SETTINGS ____________________________________________________________ 12
2.1.1 TestStudio/configuration/log4j.ini________________________________________________ 12
2.1.2 TestStudio/configuration/config.ini_______________________________________________ 12
2.1.3 Content of TestStudio/TestStudio.ini file __________________________________________ 12
2.1.4 Content of TestStudio/configuration/taris.properties file ______________________________ 14
2.2 GENERAL PREFERENCES ___________________________________________________________ 14
2.2.1 Build information ____________________________________________________________ 15
2.2.2 Datapool configuration ________________________________________________________ 16
2.3 PERSPECTIVE OVERVIEW ___________________________________________________________ 16
2.3.1 TestStudio Design perspective _________________________________________________ 17
2.3.2 TestStudio Debug perspective _________________________________________________ 19
2.4 RUN_PARAMETERS DATAPOOL SETTINGS ____________________________________________ 19
2.5 SVN SETUP _____________________________________________________________________ 23
3. Test projects _______________________________________________________________________ 25
3.1 PROJECT OVERVIEW ______________________________________________________________ 25
3.1.1 Create Project ______________________________________________________________ 25
3.1.2 Import project _______________________________________________________________ 29
3.1.3 Convert project _____________________________________________________________ 30
3.2 RELATIONS BETWEEN PROJECTS______________________________________________________ 30
3.3 T24 CONNECTION SETUP ___________________________________________________________ 32
3.3.1 Browser connection __________________________________________________________ 32
Page 2 of 108
Guide User Guide
Page 3 of 108
Guide User Guide
Page 4 of 108
Guide User Guide
Page 5 of 108
Guide User Guide
1. Introduction
1.1 Terms and abbreviations
This chapter contains information about how to start using TestStudio. Most of the connected tasks
should be done by system administrators, so to have all information in these topics please refer
TestStudio System Administrator Guide. Here only the key events will be explained, which can be
done by all users – however this may be changed according to local policies.
In the following document, the following terms and abbreviations will be used with the following
meanings:
• TestStudio: this is the abbreviation of TestStudio, the main tool
• TSC: Test Scenario, the largest unit of the test. A designed testing workflow of a bank Business
Process to reflect the system’s functionality. It defines the users’ tasks named Test Cases, the
input and output data of the function and the required, expected functioning during the testing.
• TC: Test Case, a TSC is divided into test cases, usually means one version input, authorize,
amendment or enquiry checking in T24
• BP: Business Process, a unit which is a base/skeleton for similar TSCs in TestStudio. A list of
TCs which to be perform during test process (without input and output data).
• ENQ: T24 enquiry
• RB: TestStudio’s Resource Browser
• IE: Interface Engine
1.2 Requirements
TestStudio is an Eclipse and JAVATM based standalone application, which works on different platforms
and software environments. The following recommendations are for a regular use of the tool, which
means a test set of about 4000 TSCs.
TestStudio may operate on other operating systems where the Sun/Oracle Java™ is available –
Atoma has to be contacted if TestStudio is required to be used on a platform not listed above.
Page 6 of 108
Guide User Guide
1.2.5 Privileges
TestStudio requires the following user rights to work with full potential (can be different users):
• Localhost admin
• Full right for the T24 Application server
Additional project specific rights might be required.
Page 7 of 108
Guide User Guide
Page 8 of 108
Guide User Guide
Page 9 of 108
Guide User Guide
1.3.3 Installation
The installation of TestStudio does not require administrator or power user privileges.
The installation needs at least 400 MB free disk space - TestStudio can generate a lot of big-sized
execution log files - 100 GB free disk space is recommended.
Atoma recommends selecting other disk partition than the operating system partition for the
TestStudio installation if possible.
The TestStudio installer is a ZIP compressed file - it must be uncompressed to a new folder (even if
an earlier version of TestStudio has been already installed on the workstation).
On Windows 7, if the installation and later the use is made with different operating system user than
give full access to the root folder of the TestStudio installation to the operating system user which will
use TestStudio.
1.4 Licensing
TestStudio requires a valid license to operate. It can be setup during first start of any TestStudio
product.
1.5 Workspace
First a (default) workspace must be selected or created. It is recommended to create a new
workspace, under the TestStudio installation folder. Then projects should be imported separately.
Page 10 of 108
Guide User Guide
When first start TestStudio then the first workspace is automatically created in the TestStudio root
directory.
In case a non-existing location is selected, TestStudio automatically creates new workspace in the
given location.
Please note that there cannot be “white space” or special character in the path of the workspace.
Page 11 of 108
Guide User Guide
2. TestStudio setup
2.1 TestStudio settings
2.1.1 TestStudio/configuration/log4j.ini
The log4j.ini file contains location of the TestStudio log file, which will contain logged items during
usage of TestStudio tool.
The ts2.log file will be created automatically after launching TestStudio.
2.1.2 TestStudio/configuration/config.ini
The default workspace can be set here:
osgi.instance.area.default= D:/TestStudio/workspace
It is critical that workspace path must not contain any space or special characters.
Page 12 of 108
Guide User Guide
‘config’ isn’t a directory name, this is a constant value in Eclipse, always means the configuration
folder’s path.
If the line starts with – it means this is a command. The next row, without – mark, is the parameter of
the command.
Last row defined the absolute path of the log configuration file. TestStudio warns the amendments
after launching in case if the path is not set up properly.
Default workspace can be set up in this file as well, using the following syntax:
-data
./workspace
Page 13 of 108
Guide User Guide
Page 14 of 108
Guide User Guide
8. Figure: Preferences/General
Page 15 of 108
Guide User Guide
Page 16 of 108
Guide User Guide
Additional perspectives are available by menu: Window → Open Perspective or using the Open
Perspective icon in top right/top left/left place of the TestStudio window
• Functions: Open Perspective, Reset Perspective, Close Perspective, Close All Perspectives
• TestStudio views are automatically assigned to different perspectives
Page 17 of 108
Guide User Guide
o COS: Similar to the Versions but T24 COS screens are shown here.
o TAB: Similar to the Versions but T24 TAB screens are shown here.
o Menu: Shows downloaded T24 menus.
o Datapools: all datapool related functions and settings can be managed here.
o Interfaces: Shows all TestStudio implementations for interfaces. These are version like
layers which help creating interface message contents or check interface message
results.
o Scripts: Shows all available java scripts, including internal TestStudio scripts.
• File Explorer: a system-based view of the TestStudio projects
• Problems: a list of warnings and java build problems.
• Defects: a view to organize and report regression test defects.
Page 18 of 108
Guide User Guide
Page 19 of 108
Guide User Guide
Page 20 of 108
Guide User Guide
Important parameters:
• #CLASSIC_LOGIN_PROMPTS: use for classic Globus/T24 login (e.g. COB)
• #DATE_PATTERN: for the Globus/T24 date pattern
• #DEFAULT_OS_LOGIN_NAME: the login name of the server
• #DEFAULT_OS_LOGIN_PASSWD: the login password of the server
• #GLOBUS_SERVER: the name or IP address of Globus/T24 server
• #GLOBUS_SERVER_PORT: the port of the Globus/T24 server
• #GLOBUS_TODAY: the actually date of Globus/T24
• #HTTP_HOST: the name or IP address of the webserver
• #HTTP_PORT: the port number of the webserver
• #HTTP_ROOTPATH: rootpath of the T24 web application on the webserver
• #LOGIN_PROMPTS: used for Globus login (desktop)
• #OVERRIDE_GLOBUS_SERVER: override the global server Globus/T24 settings
• #OVERRIDE_GLOBUS_USERS: override the global users settings
• #PRIMARY_INTERFACE: Browser or Desktop
• #REPLACE_ONLY: Yes or No. When the processing of interface messages went wrong a new
feature can be used to replace the wrong messages with a new set of messages without
erasing the correct part of the .xmlout file.
• #UNIX_LOGIN_PROMPTS: used for UNIX login
• #VERSION_PATTERN: used only for desktop
• #T24RXX_XSLT: the T24 version is being to be used. The value is defaulted from Login and
user definition window
• #DEFAULT_CODE_PAGE: the code page used on the connected environment.
• #TXN_COMPLETE: specify custom txn complete text. Multiple scripts can be added by
separating the values by “,” This improvement also supports multi language drill down actions
in enquiries. This is needed to support multi language.
• #TXN_VERIFIED: specify custom txn verified text. Multiple scripts can be added by separating
the values by “,” This improvement also supports multi language drill down actions in enquiries.
This is needed to support multi language.
• #ENV_ROOT: The parameter is used as a reference in MessageTargetDescription in
IN_Config_DP which is important for Interface testing. TestStudio resolves
RP[#ENV_ROOT] in Interface Engine to the current environment project location only if the
parameter doesn't exist in Run Parameters. Otherwise it is resolved for the value of the
parameter.
Further parameters can be:
• #PHASES: the list of test phases to use in the Business Process.
• #HOLIDAY_YEARS_IDS: needed for automatic fill of DAYS datapool required for
increasing/decreasing working days in date fields, containing list of country codes and years.
Page 21 of 108
Guide User Guide
• #SO_TIMEOUT: the browser timeout can be set here in milliseconds. This is used for HTTP
communication only.
• #CHECK_STRUCTURE: If this is set to "true" then the health of the Globus/T24 response is
checked, otherwise not.
• #RECEIVE_ECHO_LOG: If this is set to "true" then the response echo (i.e. the part of socket
response that contains only the echoing of the request) is always logged. Otherwise it is logged
only in case of error.
• #SOCKET_LOG: If this is set to "true" then the low-level socket logger is activated. It generates
the log files under the "log/SocketLog/" subdirectory of the design project directory (it should
be generated to the environment project, so this is a mistake).
• #IS_PERFTEST_ON: "OFF" value is used in all cases when not performance test is being to
be executed
• #ECHO_LOG_LEVEL: has effect on the xmlout logging. There are some INFO_IGNORE
elements which usually contains the following information:
o Status,
o Text (usually the transaction ID)
o User (number)
o UserGroup (name)
o Time
o LogLevel of the current INFO_IGNORE element.
If the value of this parameter is less than or equals to 4 then no INFO_IGNORE element is
written to the xmlouts.
If the value is greater than or equals to 5 than all INFO_IGNORE elements are logged in the
xmlout files.
The default value for this parameter is 4.
• #FILE_LOG_LEVEL: has effect on the timing log (short info’s about the start and end time of
a T24 transaction). The timing log is collected in file named in run parameter
#LOG_FILE_NAME (default: “.TestStudioFileLog.csv”) under the design project folder.
The #FILE_LOG_LEVEL parameter's value must be numeric.
If this value is less than or equals to 3 then no timing log information is collected into file.
If this value is greater than or equals to 4 then timing log is generated for the transactions.
The default value for this parameter is 4.
• #ENQ_RESULT_FULL_COMMUNICATION: default process is that in the log files TestStudio
saves only the first page’s screenshot of the ENQ result, because of size problems. In case
the user needs all screenshot it can be set with this key.
• #FILTER_BY_TRID: a logical selection for interface messages caught by TestStudio. Decides
if TransactionId datapool should be used or not to check the message Id. If the message Id
can be found in the datapool, then TestStudio keeps the message as it was created based on
one of TestStudio’s TSC, if not, then the message is discarded.
• #JAGENT_PORT: in case jAgent uses different port for server connection as default, it can be
set in this key.
Page 22 of 108
Guide User Guide
Page 23 of 108
Guide User Guide
From a live connection, TestStudio projects can be checked out, and after creating new TSCs, or
modifying old ones, can be committed back. Once a project has been checked out from a repository,
it is followed constantly in the TestStudio, showing its state compared to the shared one in the
repository. Icons are indicating the changes, so the user can decide if an update or a commit is
necessary.
In case of conflict, the user can decide that differences to be updated or committed one by one. To
support this, a repository view will be opened, where the local and the shared version is shown next
to each other.
Page 24 of 108
Guide User Guide
3. Test projects
3.1 Project overview
TestStudio organizes Test Cases into projects. TestStudio uses two types of projects, one is called
“Design” project, which stores all information about design (BPs, TSCs, version/ENQ schemas, etc.),
the other is called “environment” project, where T24 connection information is stored next to execution
results.
Projects can be accessed in the TestStudio Design perspective’s Projects tab of the RB, where
projects can be created, imported or edited. Project name must be unique; TestStudio checks it during
project creation and gives error message in case of conflict.
Page 25 of 108
Guide User Guide
Page 26 of 108
Guide User Guide
Icons:
• TestStudio Design Project
• TestStudio Environment Project
TestStudio Design Project – is a place to create XML Call packages, Business Processes, Test
Scenarios, TestStudio Suites, to store local java source codes
TestStudio Environment Project – all execution result files are generated here and also all
necessary datapools needed during Test Scenarios execution, which are implemented in Design
Project
In the Resource Browser, the TestStudio Environment Projects are shown under the related Design
Project. The selected project is marked by bold; it can be activated by double clicking on the selected
Project.
All log files from the selected environment project can be deleted from the Resource Browser using
the context menu’s “Delete execution logs” menu item.It is also possible backup the log files with the
Create Snapshot menu item from the same RB context menu. The result is a zip archive containing
all log results from the log and scenarios folder.
Page 27 of 108
Guide User Guide
Page 28 of 108
Guide User Guide
TestStudio projects can be imported into the workspace with the Import project context menu option.
Projects cannot be overwritten. TestStudio recognizes the projects, highlighting those ones, which are
not part of the workspace yet. At this level there is no difference between design or environment
projects, there are just projects. During import procedure TestStudio recognizes them and organizes
them correctly.
All imported projects should be copied under the workspace as well, to avoid cross-changes with other
project members, who might work with the same projects.
The link between the test scenario and test scenario execution will be automatically established.
In addition, the .xsd files for .vsd and .bp files will be automatically generated so no rebuild will be
needed after importing a design project.
If there are any missing descriptor files (.vsd) then TestStudio starts to download them as part of an
automatic rebuild. Note that info user must be uniquely created and the same user must not be used
for execution or there could be a Security Violation on the instance used for execution.
Page 29 of 108
Guide User Guide
This connection can be manually set in each project’s Preferences page, where the project to be
connected can be selected from a drop-down list.
Page 30 of 108
Guide User Guide
In case of the environment project, a second connection can be established: a baseline project can
be selected to the given environment project. This means that during regression test execution results
will be compared to the selected baseline projects results. A baseline project is a different environment
project, where the results of the base execution are stored.
Like the connection settings, there are additional preference pages such as:
• AA parameters
• Browser specific settings
• Builders
• Desktop specific settings
• Environment project preference
• Generic logging
• Interface handling
• Other Property Page
• Report settings
• T24 Environment specific settings
• T24 login and user definition
• Test execution specific settings
Page 31 of 108
Guide User Guide
The selected baseline project will appear under the environment project, one level below, and with
normal text. All possible baseline projects will appear in RB, but only the selected one is normally
visible. Baseline project can be selected with double click too on this list.
Page 32 of 108
Guide User Guide
TestStudio must recognize date in environment, for that a proper date pattern should be set. This is a
regular expression; the default value ((\d*)-(\D*)-(\d*)) matches the common T24 default date, like 11-
JAN-2013 (in T24 communication date appears with ‘-‘ separations instead of space).
Page 33 of 108
Guide User Guide
With the “Add First/Add Next” buttons custom roles can be added to this list with different users. In
TSC design users can be reached with their Nick name. It is important, that the same T24 User can’t
have more than one role, meaning it should appear only once in this list. Otherwise there might be
conflicts and errors during execution.
Defined user’s login can be tested individually for Info user and SOR user by pressing Test button.
Pressing “Test all” button tests all defined user’s login including Globus test users. The initiated test
all job can be cancelled as it may take too much time when the environment is not available.
Page 34 of 108
Guide User Guide
4. Basic design
4.1 Structural overview – how to plan a test scenario
Basic element of a test design is called Business Process (BP). This is the skeleton of the test, a high-
level workflow structure, containing all test cases in the correct order, as they appear during the
workflow. A BP covers an end-to-end workflow of a bank product. TSCs created based on this BP can
use sequences which are added to the BP, but not necessary all of them. It depends on the nature of
the TSC – for example a negative TSC which expected to be failed during the first transaction won’t
contain sequences after the first one.
Actual field values will be set in TSC level, where the proper field order and expected checks can be
set too.
Page 35 of 108
Guide User Guide
After selecting a design project and connect to an environment project, folder and BP creation is done
on RBs “Test scenarios” tab. Create and rename commands are available from the context menu after
right click inside the tab. New elements will be created at that location where the click was performed.
Same rules must be followed here in naming convention than for the workspace: there can’t be any
space in the file/folders name.
Double click on a BP item in RB will automatically open it in the TestCaseEditor, on the right side of
the screen. This is a multi-tabbed editor, where the BP and all connected TSCs can be edited and
followed including execution result checks.
New sequences can be added to “Phase” named items in different ways.
• By right clicking on it and select “Add new…”
• If a T24 menu was downloaded earlier, one or many menu items which represents a valid
sequence (version, ENQ, report) can be added with drag & drop.
• Already used versions and ENQs can be drag & drop from RBs Versions or Enquiries tabs.
• TestStudio packages can also be added with drag & drop.
For every sequence in the BP a specific user should be assigned. This can be a default user. In this
case no extra action should be done. Default rule is that Default Auth user do authorization mode test
cases, Default Input user does everything else. Allocated user can be changed in two places. First is
on BP level. In this case user allocation will be changed in all related TSCs. Second is on TSC level,
where the user allocation is changed for one TSC only. Allocated users can be selected from a drop-
down list which contains all defined users from Globus Test Users user definition page of the
environment. User allocation uses the nick name of the user, this way the actual T24 user can be
different in each environment, but the design doesn’t have to be changed, only the users table.
TestStudio supports many different connection channels to T24. Default channel is set in the
environment setup where the Desktop or Browser is selected as default. Desktop is a socket based
communication while Browser is a html based communication protocol. During BP design for each
sequence the environment default protocol is selected automatically.
OFS protocol is also supported, but this protocol must be selected manually for each sequence where
this would be used. For OFS protocol the OS login section should be filled with a user who is in T24
group (login promt is in jShell). In this protocol TestStudio creates an OFS message instead of a
socket or a html post and send this OFS directly to T24 through a dedicated service (e.g. TAP).
Page 36 of 108
Guide User Guide
Each screen touched during manual execution should appear in the BP, each with its technical name.
Sequence name and other attributes can be set on the XML Attribute View.
The second mandatory attribute is the mode. It can be:
• I(nput)
• A(uthorize)
Page 37 of 108
Guide User Guide
• S(ee)
• V(erify)
• D(elete)
• R(everse)
Saving the BP triggers an automatic schema download process, when TestStudio tries to get structural
information for each version, enquiry, COS and AA. With the help of this information TestStudio can
show a T24 look and feel editor to fill input data. TestStudio uses the INFO user for this task. The
schema download communications are stored in a separate folder under environment project’s log
folder. The process of schema download requires the possibility of opening a new or an already
existed record from the given version. In case there is no new record option for a version but an
already existed one can be opened, this record ID can be used as an “Example ID”, which can be set
on RB’s versions tab. This case TestStudio tries to open the given record, and builds version schema
based on that record.
The version design download process is the following:
1. Tries to open version I mode with NEW id
2. If fails, re-tries to open version I mode with NEW1 id
3. If fails, re-tries to find a suitable id by executing the %VERSION.NAME enquiry and then open
version in I mode
4. If fails, reties in S mode
If it still fails, the user will receive a very detailed error log about the full process.
In case the version design to be downloaded contains sub-versions (and it is not an AA product),
then a html source has to be provided to this particular version. It can be added on the Resource
Browser’s ‘Versions tab’. First the html source has to be copied to the clipboard by opening the
version manually in browser, then from context menu switch to show page source, then select all
(CTRL+A) and copy (CTRL+C). Then in TestStudio on versions tab locate the particular version,
and its context menu select “Create descriptor using html”. As a result TestStudio will take the
content of the clipboard, and create the sub-version contained version schema.
Page 38 of 108
Guide User Guide
The created XMLIN file opens automatically in the editors “Test scenario” tab. It has the same structure
as the BP, but it is “empty”. To add values to fields or ENQ search criteria, first an Input data should
be created to the proper sequence. Adding a new Input data, then expand it to the main version level
(or any required sub-version level) and double clicking on it will open automatically the Test Case
View, where the selected sequence can be edited. In case of a version a T24 look and feel form
appears where the tabs and fields of the selected version can be seen. To add a value simply fills the
first column with any fixed data. TestStudio will fill this field with this value.
Page 39 of 108
Guide User Guide
For easy navigation TestStudio offers a search panel where a field name or a part of it can be entered.
Then TestStudio focuses automatically on the first match. If this is not the required field, the field name
has to be given more specifically or by clicking the “next” button TestStudio jumps the next match.
All kind of fields can be filled, from a single value field to a multivalue field, or multivalue group,
dropdown list fields, radio buttons or multiline fields. Multivalue fields are shown with a red box in
TestStudio editor. By clicking on it a new multivalue field appears, if the previous field has any value
in it. In case only a later field has to be filled, a #IGNORE() helper value can be used. See more in
helpers chapter. Dropdown fields and radio buttons appear as a single value field. If the schema
contains the possible values, TestStudio also offers them during design time. In case of dropdown
fields TestStudio checks that the input value exists in the choice list. If it doesn’t then the field value
settings do not happen but an error is logged unless the field is set as invalid. Multiline field can be
designed with a help of #ML() helper.
In some cases T24 automatically generates a deal slip during a transaction commit. TestStudio can
show this deal slip as a T24 Report object, but this check has to be designed as an attribute of the
version instead of a T24 Report sequence in the BP. TestStudio automatically opens the deal slip if
the Deal Slip attribute is true, based on the information T24 shows during the version commit. The
result appears as a separated test sequence in the log, but as explained before it doesn’t have to be
designed upfront.
Similar to the deal slip TestStudio can show a delivery preview connected to a transaction. This step
doesn’t have to be designed as a single sequence in the BP either, just as for the deal slip, but a
specific attribute has to be set instead. The result appears as a T24 Report sequence in the log.
TestStudio supports capturing and checking status bar messages for each window. This can be set
through an attribute similar to deal slip.
Page 40 of 108
Guide User Guide
For functional test expected values should be added to each field to check if the system works well.
These values can be filled in the second column. TestStudio will check field contents against this given
value, and indicates error in case of any difference. Field value can be checked before or after the
commit. If a reopen transaction mode is set on (the verify attribute of the test case is true), TestStudio
will check the field expected values on the reopen version, which means after the commit. If there is
no reopen mode then expected values will be checked before the commit. Reopen mode shouldn’t be
used for AA and multi-legged versions. Expected values in these cases should be checked on a
separate test case (extra See mode).
Expected values can be texts, numbers, fixed/static data or dynamic, calculated values.
For each version field TestStudio can check its enrichment, the “comment” text appears next to the
field value. This check works like the field value checks, except this expected value has to be set as
a field attribute.
TestStudio recognizes dynamic schema changes such as hot field changes during version execution.
In case a hot validation changes another field as hot validation field, TestStudio will handle it properly
when reaches that during execution. As the version design may change at run time (new fields may
appear after filling special fields), hot field recognition must also be dynamic. Hot field attribute is
detected from the last T24 server response after each Post+Response communication. Enquiry
results can also be checked in many ways. There can be expected values set for the number of rows
in the result. Default result is one or more rows, but can be set to no result, or a specific number of
rows.
For each row TestStudio can check field values in the second level filter. In this case TestStudio
checks the expected value for all fields in the selected column, so in this case best practice is to have
a single row as result. To get this one specific row to be checked a second level filter option helps to
find the requested row. TestStudio can create many second level filter selections from a single
executed enquiry, all based on the original result. This way any number of rows can be checked. It is
important to remember that if more than one row is selected to be checked, no popup menu action
should be used!
For better understanding TestStudio can filter empty rows from enquiry result in the log. This option
has to be set in the enquiry editor.
Enquiry Header fields are properly recognized by the schema downloaded from ENQUIRY and
ENQUIRY,DESIGNER T24 applications and shown in the execution result in header line and their
values related fields. They are also available for filtering in the second level filter and can be identified
by their description names if exists in the T24 design otherwise by their technical names. If the filter
field name is different in execution time than in design time, in the second level filter’s field name
column the name can be edited manually after a double click on it. This way any fields or columns can
be filtered no matter what the schema contains.
Page 41 of 108
Guide User Guide
TestStudio supports check of all fields in the enquiry result header. Expected value has to be set
similar as any other field in rows.
T24 Report content can be checked with enhanced regular expressions. Search patterns can be
created with regular expressions combined with TestStudio helpers or string functions. In these
patterns groups can be defined with the help of ‘(‘ and ‘)’. For each of these groups expected values
can be added which can also be a regular expression but also a fixed value. With the help of this
method even a specific SWIFT tags can be checked.
TestStudio supports multiple Reports as result of save as action used while iterating on a datapool
with a package. The resolution is to use the postfix value defined as a parameter in the package itself
in the meaning that postfix the report file name with that value.
There would be the following two options:
• if there is any postfix parameter used in the package, then the same value will be used also in
the report file names
• if there is no postfix the same file name will be given as currently
Page 42 of 108
Guide User Guide
In case of non-english T24 users the Enquiry Test Case view filters are displayed in English and non-
english language as well. Use the correct filter to test and evaluate the expected result.
Page 43 of 108
Guide User Guide
The random selector is an Enquiry Attribute that can take the following values:
• TRUE TestStudio will pick one item from the enquiry result records.
• FALSE TestStudio will pick the first item from the resulted records.
Even though we have added the randomSelection attribute to our Enquiry, if we were to execute the
Enquiry we will notice that not selection is being done, for this we need to use the popUpMenu actions
from the Second Level Filter, depending on the type of Enquiry we should set its value to anything
besides the default “None” option. This means that random selector is activated with a drill down action
only.
Page 44 of 108
Guide User Guide
Handling date is critical in designing a TSC, because this has the greatest impact on the reusability of
the scenario. During automated test one of the most important goal is to create TSCs which are not
dependent to any environment, so they easily can be executed in many different environments giving
the possibility to check the difference between each T24 environments. In case of using fix dates it
requires sometimes hard efforts from local IT who creates test environment, because the environment
must be on a specific date, or has to have some specific settings, etc. Instead of using fix dates which
have to be maintained for every execution TestStudio offers the usage of relative dates with the helper:
TODAY. This helper refers to the date of the current environment, and this “base” date can be shifted
in design (e.g.: Today+1Y, Today-5).
A different date handling calculates based on the connected environment’s holiday table. These are
the #DAYS helpers, where in design references are for the logical test date. The DAYS datapool links
the logical dates with actual calendar dates. A built-in java script fills this datapool from the selected
T24 environment. A specific helper can calculate differences between these logical dates, and tells
how many real days are between two logical dates.
Helpers offer solution for special set fields, like “multi-line” input, or specific account-, and transaction
ID formats. There are also functions which help in value calculations when an expected value can be
calculated or combined from more than one different other fields or just create a random number.
Page 45 of 108
Guide User Guide
Page 46 of 108
Guide User Guide
doesn’t have to be filled, since that have been already executed by T24. Only second level selection
should be filled this case (include popup menu action).
To get the proper part of the COS, selection process guides the user from up to down. This means
that first the frame container has to be selected, then if there are several possibilities in a frame (like
other frames), then select a level deeper as long as the required version or enquiry is reached.
TestStudio offers these containers automatically. They are downloaded as COS schema, similar then
a version or enquiry schema. For those cases, where there are missing drilldowns or sub screens
after design downloading, a warning icon is displayed and it can be checked by expanding the details
of the object.
Every area touched during execution has to be a separated COS test case in the BP.
Page 47 of 108
Guide User Guide
4.6.6 Choice
Choice test case is a container which can contains multiple number of any other test case types,
where every one of them has a condition. During execution the first TC in its content list will be
executed which condition is true, and the rest will be skipped. It is useful, if the same logical step in a
business process flow has different T24 object depending on some conditions, e.g. in case of a teller
cash in the version might be different if the currency is local or foreign.
For more details about conditions please refer chapter 8.5.
Page 48 of 108
Guide User Guide
5. TestStudioBasic execution
5.1 Execution with XmlinExecutor
During design time it is important to check from time to time the “quality” of the design and check if
the TSC really does what it should be. For this purpose, TestStudio offers a special execution control
system where a TC can be quickly executed and then analysed. This is the XmlinExecutor suite, which
is a “template”, it will execute always the current command, and so the content of the suite is
automatically changes every time. It can be controlled with four icons from the last section of the icon
bar, or from RB context menu. This method is not capable for complex executions, parameterization
is limited, which means that execution won’t change phase or day. It will stop in the end of the phase
it was started.
There are two prerequisites for using this method:
• valid environment connection setting in the ENV project
• all opened items in the Test Case Editor must be saved. TestStudio will offer a save
automatically before the execution, but this time there won’t be a chance to see the content of
the modifications, just the files to be saved.
The four control icons can be used inside the editor area, when the Test scenario tab is opened.
Standing here on any of the sequences will make these buttons available. The buttons will do the
following:
• Continue: this button is enabled only if a part of the result has been created, and there is
anything which can be continued. It is not important where the cursor stands in the time of the
command, because this time TestStudio finishes the last opened phase of the TSC.
• Step over: this button will execute the selected TC only. It is important to consider that in case
of a multi-legged transaction or a popup menu ENQ this execution method is not working well.
• Continue and stop: this button is enabled only if a part of the result has been created, and
there is anything which can be continued. It continues the execution until that TC which is
selected in the time of the start of the execution.
• Start from: this button starts the execution from that TC which is selected and executes
everything until the end of the current phase.
XmlinExecutor can be used from RBs Test scenarios tab too, but from here only the whole day1 phase
“Empty” can be executed, and step by step execution is not possible. However from here all TSCs
connected to a BP can be executed with one click (start execution on a BP).
When a TSC is executed, either with XmlinExecutor or with any other test suite, the remaining of the
TSC execution will be skipped in case a blocker error happens in any TC (even if the TC is in a
previous day or phase). A blocker error is a failed status caused by a transaction with a failed commit
or a drill down action that couldn’t be executed. This feature can be switched off in the suite launch
property page (Run configuration window access from the toolbar then “Skip test cases after blocker
errors” option for TestStudio suites).
Page 49 of 108
Guide User Guide
Page 50 of 108
Guide User Guide
6. Log analysis
6.1 XMLOUT, IOXML
Execution result appears in two main log files, the Xmlout and the IOXml.
The Xmlout contains the result of the TSC (Xmlin). It has similar structure than the Xmlin which helps
to locate a specific part of the TSC. It gives information for each TC, number, name, mode, Input
values, system responses, override messages (system warnings) and commit statuses. It also
contains the results of checks, indicating with colouring places with difference or error and the “Time”
columns showing when certain test cases and test steps were executed. All version fields appear in
this log as well as ENQ results or T24 reports and Interface messages.
This log can be used as base for regression test; in case a baseline is available with the compare to
baseline button a compare can be started. After that only the differences between the two executions
will be coloured, not the functional errors. This means that while a failed commit is coloured with red
in functional mode, if it was wrong also in the baseline, it will be green in compare mode.
Meanings of each colour are the following:
• green: functionally ok, worked as expected.
• yellow: TestStudio warning, format change (e.g. T24 changes the format of the number input,
or date)
• brown: handled system error or anomaly, like opening already existed record instead of new
• light red: expected value check failed for a field.
• dark red: execution error, a system exception or other not expected anomaly; error happened
most probably on T24 side
• black: design error occurred during execution, the error happens on TestStudio side (e.g. a
datapool is missing, used version schema doesn’t match on the one in the environment and a
not existing field wants to be filled)
Page 51 of 108
Guide User Guide
The IOXml contains information about the surrounding of the execution. It shows login information for
each user used during the execution, and a top-level result of each TSC executed recently. This log
is linked with the Xmlins created for TSCs, and with a double click they can be opened.
Xmlouts can be opened in TestStudio Design perspective, when a TSC is opened in the Test Case
Editor. The last tab opens the corresponding log result.
Page 52 of 108
Guide User Guide
IOXml can be opened from the Log folder browser view, when a suite is opened in the Test Case
Editor.
Page 53 of 108
Guide User Guide
Page 54 of 108
Guide User Guide
7. Advanced design
7.1 Packages, parameters (Input, Output, Local)
Packages are collections of versions, enquiries or Interfaces which are connected from a certain point
of view, and should be executed together. It works as a template, because it can’t be executed on its
own, an “external” BP must “call” it. A pack can be used many times with different input data, what is
common is the TCs to be used. A good example for a pack is a version which needs to be authorized,
so put together the Input version and the Authorize version.
Page 55 of 108
Guide User Guide
Parameters can be Input or Output parameters. To create them open the packs BP in the Test Case
Editor, and right click on the Parameters item. There must be a separate parameter for each field and
value which should be used in the pack.
Input parameters are used for transferring values into the pack, while output parameters are returning
data. There is no other way to get values from the pack, just through output parameters.
Page 56 of 108
Guide User Guide
After creating all required parameters in the BP, they will appear in the Xmlin as well. In the next step
of design these parameters must be connected to the fields where they should give their value with
the #PARAM helper as field value, or assigned them to fields which values should be stored with the
#ASSIGN_PARAM helper in the expected value field. All helpers can be used inside the pack, but
they will “see” only inside the packs domain.
Page 57 of 108
Guide User Guide
When it is called in BP its main characteristic is the multiplicity. It can be set here how many times this
pack should be called at that given point.
Page 58 of 108
Guide User Guide
Page 59 of 108
Guide User Guide
7.2 Datapools
Best way to transfer data between TSCs is datapools. Datapools are mostly file based storage places
connected to the Environment projects. They can store data created during an execution or can keep
design data used for TSC input.
They can be managed on Resource Browser’s Datapool tab. On the left panel there is the Datapool
navigator, which shows all Environment projects and the datapools inside. Selecting a datapool will
open Datapool view where all information connected to the selected datapool can be seen and in
some cases, modify. The content of a datapool can be edited in the Test Case Editor on the top right
panel.
There are five types of datapool:
• Hash datapool: it is a key-value type of datapool, data can be read and write to it during an
execution. It is file based, which means that after a normal execution datapool content will be
written in file and can be used later.
• Table datapool: it is an indexed table, where one row stores data for one iteration. It is used
for design purposes, where data is put in datapool during design time. In execution it is just
read and used as input data. It is a file based datapool.
• Excel datapool: this is a variation of table datapool, it is a link to an excel sheet for better design
purposes. It is easier to manage data on it, and used for input data, just as a table datapool.
The excel file location can be a fixed path or a relative path calculated from the environment
project location as root. The file path can be changed anytime.
• FIFO datapool: this is a virtual datapool, exists only while TestStudio is running, so any data
stored in it will be lost when TestStudio stops working. It is used for Interface message
handling.
• Remote datapool: this is a link to another datapool, which can be in a different project on the
same workspace, but can be located on a different PC or server as well.
Datapools can be read and write with the use of helpers:
Page 60 of 108
Guide User Guide
• #DP: this helper reads a value from a datapool. Syntax is: #DP(‘datapool name’,’key’,’column
name’). For key there are two other words to be used:
o #USED can be used in a table datapool and refers to the row where the index points
at that moment.
o #NEXT can be used in a table datapool and refers to the next row where the index
points at, then moves the cursor.
• #DPP: this helper puts data to a datapool. Syntax is: #DPP(‘datapool name’,’key’,’column
name’). This helper can be used in a field’s expected value. In case the key doesn’t exist,
TestStudio will automatically create it.
o In case of enquiries with multiple results, #DPP (and other similar actions) will be
called automatically for each row. The result value can be stored in the first column of
the datapool (key value) using the expression #DPP(‘datapool name’). If multiple
values from the same entry should be written in the same record in the datapool, the
other fields can be stored with #DPP(‘datapool name’, #EFIELD('key field'), ’column
name’), where ‘key field’ is the enquiry field used as key value.
There are some technical datapools which are created automatically with the environment project:
• RUN_PARAMETERS datapool contains technical parameters connected to the environment
• TransactionID datapool stores all values which appeared as Transaction ID during any
execution on the environment. It can be used to filter “our” transactions from any other content
of the environment.
• GLOBUS_TEST_USERS datapool stores user settings for the environment.
Datapools contain execution data therefore they are important to be backed up together with the log
results so in case of a restore all data will be available. This backup can be initiated with a manual
snapshot command, which creates a zip file from the datapool folder, postfixed with the date and time
of creation.
Page 61 of 108
Guide User Guide
Page 62 of 108
Guide User Guide
7.5.1 AA datapools
TestStudio uses two helper datapools for storing the required data, “AA_PARAMETERS” and
“EXAMPLE_IDS”. These datapools are automatically created for each new TestStudio environment
project.
• AA_PARAMETERS – AA related customization can be setup in this datapool, like the name
of customized product catalog.
In case not the standard Product Catalog needs to be used and/or TestStudio doesn’t succeed with
automatic download of Product Lines, Groups, Products etc. the following parameters can be defined
by the users in AA parameters item using Preferences window to help TestStudio. All changes done
on AA Parameters item of Preferences window are automatically written into AA_PARAMETERS
datapool. There are hints for each variable as well giving additional information about their usage.
Page 63 of 108
Guide User Guide
Page 64 of 108
Guide User Guide
Page 65 of 108
Guide User Guide
1. Start the process by adding a new T24 AA item in the Business Process (if the AA was already
used, the product can be added to the Business Process by dragging & dropping the New
Arrangement item from the AA tab Resource Browser into the Business Process). If the AA
structure has not been downloaded TestStudio will ask to download the AA structure.
2. Select first product line, then product group then the product. For all case TestStudio fills the
dropdown list with the proper values. TestStudio. For first interact with AA test case, TestStudio
will offer to learn AA structure, which is the content of the Product Catalog. This will fill up all
related attributes: mode, productLine, productGroup and product. To relearn the
TestStudiocontent, the config file has to be deleted from the design project’s .descriptors folder
called aaStructure.xml.
If no group and line values are provided, then AA Product can be directly set. Some products do
not have group and line parameters and using only product value is recommended for these cases.
Page 66 of 108
Guide User Guide
3. Change the mode to “New Arrangement”, “Simulate” or any other available value from drop
down list. New Arrangement or Simulate modes are only required when the test scenario
doesn’t contain the “navigation” steps as test cases. In this case TestStudio will use the
“default” navigation through the AA Product Catalog, and in this process at some point there
is an ENQ popup menu action with those values. With the New Arrangement or Simulate
modes we instruct TestStudio which popup menu action should be selected in the default
navigation. Otherwise all cases when value is set on an AA field, and the navigation steps are
also part of the test design are ‘I’ mode.
4. Saving the Business Process triggers download the AA multi version schema from T24.
5. In some cases when TestStudio cannot automatically download the AA schema and design
error is displayed in the Resource Browser, example ID usage and/or the “Create descriptor
using html” context menu action is required. The steps of the two options are:
a. Go to the AA tab at the Resource Browser, select the New Arrangement under the
mode, right click on it to show the context menu and select the “Add Example ID”. This
will show a popup window where you should paste a valid ID of an AA product that you
wish to design. Existing AA ID can be retrieved manually from T24 browser. Click on
the “Re–download design” from the context menu and wait for the schema download
action result.
b. For HTML source there is a need to open an AA transaction then choose View Page
Source item from right click menu on the AA screen in your browser, then select its
content and copy into Clipboard. Next, go to TestStudio, and in Resource Browser’s
AA tab, right click on the mode you need to download, and select the “Create descriptor
using html”. As result, the html file is saved into Design project’s “.descriptors/browser”
folder. In all cases when T24 has been changed by adding new functionalities
impacting the current AA transaction, manual refresh of HTML file is needed in
TestStudio. Using HTML source is not affected by database restore case in the
meaning that schema download still succeeds after T24 database.
\
58. Figure Pasting html to create AA descriptor
In Test Scenario AA versions look different than standard Versions. Version editor is opened
separately for each sub-version, but only when the main version of the required sub-version is
selected. For all sub-version the corresponding schema appears in the editor. Fill the field values and
expected values the same way you do for the T24 versions.
On the main version the customer, currency and the effective date fields have to be filled.
Page 67 of 108
Guide User Guide
In case of authorization is required, then drag & drop the product again in the BP, and change the
mode to A. This is one of the exceptions when “standard” modes are working. For the authorization,
the #TX_ID helper can be used, as the new arrangement transaction has to be authorized.
TestStudio also supports AA version popup from a normal T24 Version as result of its successful
commit. Test Scenario design needs to be done in two different Test Case as in case of any other
popup.
Important remark is that it might also happen that html source needs to be used for AA New
Arrangement schema download because the AA main version name to be used is different than the
default one what TestStudio would take in case there is no html source given.
TestStudio support multi subversions as well, however only the existing versions what means that
expand subversion is not yet supported.
Page 68 of 108
Guide User Guide
In case there is an error message received like „Field doesn’t exist on the form” and the
reason is that to be checked fields do not have name attribute in the html code either than
we recommend checking them in different mode. (e.g. A, New Arrangement etc.)
If all modes result the same error than there is no option to check them with TestStudio.
TestStudio supports testing negative cases in AA main version. In this case TestStudio
validates and not commits the transaction. Expected result “fail” expects a failed validation
and not a commit failed message.
Page 69 of 108
Guide User Guide
Page 70 of 108
Guide User Guide
You can add additional subversion from the context menu of one of the existing subversions:
Page 71 of 108
Guide User Guide
The SubVersion item has a “subVersionTitle” attribute, which can be edited in the XML Attribute view.
Here you can set the date which has to be provided while creating a new multi-subversion manually
in T24. You can use here both static and dynamic values, e.g. helpers.
You must make sure that the dates in the multi-subversion’s title must be in an ascending order!
Page 72 of 108
Guide User Guide
When in your test design you add a multi-subversion, the “++” button will be automatically pressed by
TS, you don’t need to add anything else.
While working with AA activities it might be faced on the challenge of reaching to an activity that is not
listed under the AA Activities list shown in Resource Browser AA tab. TestStudio is able to reach for
such kind of activities via Drilldown, to do so the first thing needed is the name of the Activity to reach
for and to get this name the process has to be started manually till the screen of the activity that need
to fill out and its name can be read from here. The name of the activity follows the pattern of
Page 73 of 108
Guide User Guide
PRODUCTGROUP-ACTIVITY-NAME, for most of the activities it will be shown at the top of the
activity, however for those who does not (like some payoff simulations), it is contained within one of
the subversions of the activity.
After getting the name of the activity, one of the activities from the activity list of the AA should be drag
and drop then replace the product name and the mode of the activity. The name should be the one
picked before manually.
NOTE: it is recommended to leave the product name follow by the # sign so the new activity is grouped
under the product properly.
After performing the actions mentioned above and saving the Business Process, TestStudio will
attempt to download the schema, however since the activity is not listed, we need to provide the
schema which we do by copying the HTML source from the AA transaction screen from T24 browser.
Page 74 of 108
Guide User Guide
And pasting it to TestStudio by right clicking the added activity and selecting the “Create descriptor
using html” from the context menu.
Then TestStudio will generate the schema based on this example HTML source.
TestStudio supports automatic company change during AA creation in the same way as T24 does.
For the time of one transaction action (like an AA Activity, or an AA version Authorization) T24
automatically transfers the user to the company where the record is booked.
On user side changing the company is "invisible", only in record header is written that it is another
company, but no action has to be done. After closing the transaction window user is back to its original
company.
Page 75 of 108
Guide User Guide
7.5.11 AA Troubleshooting
In case the Product Line and/or Product Group and/or Product schema download fails in the meaning
that these variables do not get any value in the XML Attribute View for a T24 AA type of TC, then is
recommended to check manually whether the default AA Enquiries result proper answer. If not than it
means that different enquiries need to be used for schema download and these should be given in
the AA_PARAMETERS datapool’s variable. There is also option to configure the schema download
detailed login by adding the -Dcreate.schema.download.log=true in the TestStudio.ini file which is
stored in the TestStudio root folder.
In case the product needs to be relearnt, this action can be selected on the modes part of the product
on the AA tab. For each mode the re-download could be performed one by one.
Downloading AA schema takes some time, significantly longer than standard versions or enquiries.
Please check the progress view to follow ongoing operations. Please keep in mind that until the
schema is not downloaded new test scenarios will not work properly.
Schema errors are displayed in the editor and in resource browser’s design error column. Wrong
schemas often cause execution errors and may have effect on other scenarios executed in the same
session.
There might be cases when the AA Subversion name is changed in T24 for a specific AA product. In
this case the schema(s) need to be re-downloaded and as its result TestStudio automatically
refactors the related Test Scenarios by keeping the original version fields of the Subversion but
moved to the end of the Subversion list and marked in red. The new Subversions will be shown
above this list.
Old Subversion content can be copied into the new Subversions inside the Test Scenario source
(open the xmlin file in text mode and copy-paste the required parts). The old Subversions can then
be removed from the Test Scenario by right clicking on each of them and selecting the delete action
or by a mass deletion from the Test Scenario source file.
Page 76 of 108
Guide User Guide
8. Complex methods
8.1 Datapool Iteration
This method should be used when a TC needs to be executed many times in a TSC. It works like
iterating with local parameters, but this time the iteration will be executed only on one sequence of the
BP. For example, if many different accounts need to be created for the same customer, then iteration
on the account creation is a good choice. Iteration can be done on any elements of the BP such as
versions, enquiries, interfaces, reports and packages. In case of iterating on a package TestStudio
will execute the whole content of the pack. The numbers of iterations are depending on the connected
datapool: each row of the datapool represent one iteration and contains the “changing” data.
For iterating on datapool first the datapool itself should be created. It should contain those fields where
data changes in the iterations. Datapool must be a table or a Excel datapool, where each column
represents a field, and each row a different iteration.
Set up iteration in BP, first the multiplicity value should be changed for the TC to be iterated to
“…iterate on datapool”. Next selecting the TC in the Xmlin; in the XML Attribute view fill the datapool
attribute from the drop-down list with the datapool to be iterated on. Field values in the TC which are
changing should be connected to the datapool with the #DP(‘datapool name’,#USED,’column name’)
syntax. TestStudio automatically goes through the datapool and executes the TC with each row.
NOTE: in case the iteration goes on a package it is important to set the postfix parameters to keep all
logs of the iteration and avoid log overwrite problem.
Page 77 of 108
Guide User Guide
Page 78 of 108
Guide User Guide
8.2 XPath
In case there are more than one Input Data for a TC, TestStudio helpers may have trouble to locate
a proper value. This case XPath expressions should be used to find a value. TestStudio allows to use
XPath 2.0 expressions and functions. Syntax is that field value should start with “=” then comes the
expression.
All helper references are XPath expressions after all and are evaluate on the Xmlout log. To help
creating manual XPath expressions TestStudio has a view called XPath-View, which has the
possibility to evaluate immediately the expressions, so the result is immediately seen.
XPath functions are also commonly used mostly the string manipulation functions, like substring or
concat. They have the standard XPath syntax, and all combinations are supported which is allowed
in XPath 2.0 standard.
Page 79 of 108
Guide User Guide
Phases used in BPs has to be listed in RUN_PARAMETERS datapool under the key #PHASES.
Phase names have to be listed here in the exact order they are coming during a Day of a BP.
TestStudio will locate log results by this order and will be able to put results in a correct order.
A normal execution executes phases, all TCs in the selected phase for each TSC in the execution list,
then phase has to be changed manually to execute all phases in the TSC. That is the job of the main
suite (see Advanced execution).
Phases can be repeated, and TestStudio will replace the log section of the phase. It is important to fill
#PHASES, because TestStudio will find the location of the phase based on this list. In case of the
phase which is repeated is not in the list, TestStudio will put the phase in the end of the day removing
any possible results from later days.
8.3.2 Days
TSCs are planned in day structure. Most of the complex and end-to-end scenarios are covering
several days. To separate test design from the real calendar in TestStudio there are logical days.
Beginning of the test cycle represented with day1, and then all other days are relative days from this
day, like day2, day3, etc. In every execution TestStudio reads the current T24 date and replaces all
date expressions based on that value. To avoid conflicts with bank working and non-working days,
there is a test convention that in automated test Holiday table should be empty in T24 environment,
meaning that only weekend days are holidays. In addition, day1 should be a Monday, and test plan is
done according these conditions. This means that – considered T24 COB automatism – actions are
designed on day1-5, then day6 and 7 are always empty. In T24 COB of day5 automatically jumps to
day8 because day6 and 7 (Saturday and Sunday) are holidays. Keeping these conventions will make
sure that test execution will always work without serious maintenance work.
New day can be added like adding a phase. From context menu on a day item in BP select “Add Day
after” or “Add Day before”. Value is mandatory for day item. An empty phase is automatically created
for each new day.
Page 80 of 108
Guide User Guide
Page 81 of 108
Guide User Guide
9.2 EB.DICTIONARY
The other type of language support is when T24 uses a dictionary for translation. In this case first the
dictionary has to be downloaded.
To download the dictionary file the INFO user must have the non-English language selected. Then
from the Environment project’s context menu select “Dictionary Download” option, and TestStudio will
download the dictionary file for the corresponding language. Result is a dict.xml file in the design
project’s root folder.
After the dictionary file is downloaded, a relearn has to be executed with the non-English language
INFO user. During this process TestStudio will automatically search the translation in the downloaded
dictionary for all required texts and add the translations as additional selection options.
Page 82 of 108
Guide User Guide
Additional information on supporting AA transaction design and execution using T24 user with non-
english language can be found in chapter 7.5 T24 AA Automation.
Page 83 of 108
Guide User Guide
Agent is a process running on the environment server which opens a port for TestStudio to access
the environment. This application is part of TestStudio and has to be copied to server if needed. For
detailed information contact Atoma.
The Scenario item contains items to be executed including commands and scripts. A default script
always appears in a new suite: “Close Globus Session”. This script logs out all users involved during
the execution.
BPs and even single TSCs can be dragged & dropped under the Scenario item, but a context menu-
based insert is an option. From this context menu all possible items can be added to the execution.
The most important ones are the following:
• BP
• TSC
• Set day
• Set phase
• Transactor
• Increment day
• Delay
• Script
• Suite
• Day and phase iterator
Page 84 of 108
Guide User Guide
It is possible to drop a specific variation (row in the parameter table) of a test scenario into a suite.
“Set day” and “Set phase” controls during execution that which day and which phase will be executed
after that point where they are used. They are “global variables” during one execution, which means
that if they are changed once, their value is stored until they are changed again, but until the first
started suite finishes. Default value is Day1 and “Empty” phase if no other value is set.
Transactor is an item which is a container used for iterations. It repeats its full content as many times
as it is set in its Iteration No. attribute.
Delay can be used at this level between TSCs only. Its value is in millisecond.
Script can be any java code and can have any type of effect. It can execute OS commands on the
application server but can reset datapools or change their values. It requires high programming skills
to create proper scripts.
The element "Day and phase iterator" iterates through day and phases automatically and can
distribute the content between multiple virtual users defined in the Usergroup item.
It is important to set up phases in the right order in the RUN_PARAMETERS datapool. In case any
script is needed (COB/backup/restore) or a specific action (eg. start/stop services) is to be used as
part of the Suite, these must be designed under a specific phase as part of a Test Scenario. It is
possible to use suites/subsuites under the Day and Phase iterator, but only "container type" suites
should be called. Such suites should contain only ONE user group and only Business Processes or
xmlin’s (the CloseSession script must be removed from the container suite).
Suite can execute another suite in sequential way, but not in parallel mode. It is good for organizing
purposes, grouping together TSCs which are connected to the same product or specification
document. This way they can easily switch on/off before an execution and suite structure doesn’t need
to be changed. It is important that inside (called) suites should not contain “Set day” or “Set phase”
items because their change will have effect in the caller suite too, and then it will be impossible to
control the execution. The called suite’s day and phase value comes always from the caller suite.
All items in Scenario have an Enable/Disable context menu attribute where the actual execution’s
scope can enabled or disabled. It is easier to disable items for some executions than remove them,
because they are usually not put back to the suite later and will be skipped “forever”.
Page 85 of 108
Guide User Guide
Page 86 of 108
Guide User Guide
73. Figure: A Main suite with execution result in the Log Folder Browser for each phase
Page 87 of 108
Guide User Guide
DEFAULT_INPUT_USER each with different T24 user and three DEFAULT_AUTH_USER as well.
Every thread will pick one unused user from the table guaranteeing no user conflict during execution.
The element "Day and phase iterator" can be used to iterate through day and phases automatically
and it can distribute the content between multiple virtual users defined in the Usergroup item. Only
"container type" suites can be called under the Day and Phase iterator (suites that contain only ONE
user group and only Business Processes or xmlin’s). The main suite can contain more than one
UserGroup, but only one of the UserGroups can contain a Day and Phase iterator.
The method used until now for parallel execution using UserGroups is still supported. However, in the
case where suites and/or subsuites are part of UserGroups, they will be executed sequentially and
not in parallel within a UserGroup created with more than one user. Therefore, we recommend that
changes are made to the current suite by the creation of Scenario elements, including Bps and Test
scenarios, and then use these under the UserGroups items. This will ensure that the content is
executed in parallel.
Making parallel execution for single-day scenarios is easy. Just the number of users assigned to the
default usergroup should be increased and make sure all test scenarios to be executed are linked to
the suite by their business process. During execution business processes distributing test scenarios
among threads, and they also synchronizing them automatically. Therefore, phase changes will have
effect in all threads at the same time, no further synchronization is required.
You can create a Usergroup by right-clicking on the suite top level, New, UserGroup.
UserGroup attributes:
Page 88 of 108
Guide User Guide
Page 89 of 108
Guide User Guide
- SynchronizationPointSecondFinished
setPhase(Third)
- SynchronizationPoint ThirdStarted
.... bps and scenarios...
// end of UserGroup's Scenario block.
Page 90 of 108
Guide User Guide
Page 91 of 108
Guide User Guide
On the image above the Synchronization point 'Close' guarantees that each UserGroup execution will
reach this point at the same time and then continue to the next one, in that case the script for close
the session on UserGroup1.
SynchronizationPoints must be defined at the bottom of the test suite in block "SynchronizationPoints"
before you can use them.
Each Synchronization point has one attribute name. This name must be unique within the test suite
and must follow these rules:
• name must start with letter (of the English alphabet),
• it may not contain space or any special characters just alphanumeric characters and
underscore character ( _ ).
UserGroup2 already reached a synchronization point and is waiting for UserGroup1 concludes its task
and reach the same point.
Page 92 of 108
Guide User Guide
Page 93 of 108
Guide User Guide
11. Reporting
11.1 Reports from database (BIRT)
The source of reports is the design model of TestStudio. For this kind of reporting TestStudio has a
built-in BIRT reporting tool which has several pre-defined reports to help following the design status
of the project.
Report generation can be started from RBs Test scenarios tab from the context menu Reports. From
this menu a valid BIRT report can be selected. Multiple source selection is also possible.
• Execution status report contains information about how many Test Cases of the Test Scenario
have been executed and with an execution statistic of error/warning numbers. The report is
able to reflect the files structure under the “Test scenarios” tab and including the whole “Test
scenarios” content as well as separately for a subset of folders or for each folder. In order to
see exact T24 error messages in the report you need to re-execute Test Scenarios then
generate Execution status report.
There are two options on report details, Test Scenario and Test Case levels. In case of
erroneous Test Scenario/Test Case there are links to see the exact T24 look&feel snapshots
located at the end of the report in a separate section. Back hyperlink helps us to jump back to
the original Test Scenario/Test Case.
• Defect report contains information about which defects are linked to the given test scenario.
Mainly it is a list of defects, where it shows for each defect’s description and what exactly they
are covering. In this case an extract is shown in compare report style: sequence number,
name, baseline value, value, baseline expected, expected (if it has any).
• Execution report contains details about the Test Case level execution of the selected Test
Scenario in PDF format including T24 screenshots.
TestStudio saves the reports as PDF into the design project’s generated reports folder and it tries to
open them with a system viewer.
Page 94 of 108
Guide User Guide
(eg. d:\TS_3.0\plugins\com.fotgroup.birt.connector_2.2.8553\icons\
Page 95 of 108
Guide User Guide
12. Interfaces
12.1 Interface design
TestStudio supports system integration test with replacing external systems with test stubs. These
stubs are called interfaces. Interfaces are built up from two parts. One is the design part which creates
a version like layer where fields can be defined; values can be specified for the messages or expected
values for checks.
These design items can be used as any other TC in a BP. There are two different type of interface by
direction: it can be Input or Output. In input interface TestStudio will create a message to T24, while
Output interface analyse a message from T24.
Interface definition files can be created in RBs Interfaces tab from context menu “New/Interface”. In
functional and regression testing Data type of interfaces are used.
After creating a new interface fields (single or multi-value) can be added in the TSC Editor area. At
this point, only the existence of a field is important, because TestStudio automatically orders them.
Main rule is that first single value fields are coming, then the multi-value fields. Mixing them is not
possible.
In case of an Input interface the “connection” attribute, while in case of Output interface the “datapool”
attribute has to be set.
Page 96 of 108
Guide User Guide
Interface Engine can be replaced with java programs, where connection and converter rules should
be programmed. This is an advanced way to operate interfaces and requires expert programming
skills.
Page 97 of 108
Guide User Guide
Page 98 of 108
Guide User Guide
Differences are not necessarily mean problem. Many differences happen because executions were
performed in different time, or T24 generated different IDs for transactions. But it can show serious
problems, wrong calculations, etc.
Regression status can be seen in RBs last column, where in case compare difference file has been
created, numbers show covered/total differences. In case a “?/?” appears, that means baseline is
available but no compare has been executed. An update statistic solves this problem but can take
some time if result files are large.
Regression test cycle is finished if all involved TSCs are fully covered with defects.
In the environment project’s T24 login properties page, you can set how many parallel threads should
be used when schema download is on the way. It can be set in the INFO user’s box by changing the
default “4” of the “Max parallel sessions during relearn” field.
If there are conflicts in the already implemented test scenarios, TestStudio shows the location of these
differences. In the Errors view every error is listed in the project, but these errors are indicated on the
RB on their exact location. These differences can be a change in a field (added/ removed or renamed),
or a change in the enquiry result structure, in the selection criteria options or in the popup menu action
commands. Many of them can be changed with the help of mass replace option of Eclipse, but still
manual maintenance is required.
If the changed items are not used in any test scenarios, then no error will occur, but TestStudio will
download the new schema.
If the current result is better than the baseline, it is possible that the selected Test Scenario is
incrementally added to the baseline Environment project for comparison by selecting the ’Make
current execution result a baseline (will be copied to the baseline project)’ item from Test Scenario
context menu in ResourceBrowser’s Test Scenario tab.
Page 99 of 108
Guide User Guide
This button is only available if a business process, a test scenario or the execution result is opened in
the Resource Browser. This action packs the necessary files such as descriptor and schema files,
packages, Business Processes and Test Scenarios, all these files are part of the selected Design and
Environment project. The archive will contain hidden files because TestStudio uses some of them for
its operation.
In case of options 2 and 3 multiple number of test scenarios can be selected by using the CTRL and
SHIFT keys with the mouse click.
The folder structure and the names of the imported scenarios will be synchronised from Taris
Repository.
After successful import, some values have to be changed manually from static to dynamic, such as
transaction ids, and other field references with the use of the TestStudio helpers. All other values will
be set automatically.
For successful import the following needs to be make sure:
1. In TA there shall be no grammar errors in the recorded scenarios. Test blocks with grammar
errors are skipped from integration script.
2. In TA all used COS and TAB names must be provided by the user. Unfortunately, T24 doesn’t
send in the browser level the name of the COS and TAB in use, therefore it must be set by the
user. TA offers a specific layer for this. For further information please refer to TA user guide.
3. In TestStudio learning AA structure is required if there are any AA used in the imported
scenarios.
Terminology
automated Test execution cycles while all defects are corrected inside one phase of project.
regression Old functions still work correctly in a new version.
testing
Advantages of automated regression testing
• Shorter time duration
• Safer test (no human factor)
• Quality assurance
• More complex verification (script programming)
• Easier to compare the results of the run
• The software can be taught to ignore trivial differences
automated Test automation is the use of software to control the execution of tests.
testing
Advantages of automated testing:
• Test cases will be saved that means we can run again and again. When test
suite run again the duration is shorter than run manually
• Safer test (no human factor)
• Quality assurance
• The software logs every step what makes easier to find the error reason
baseline run Execution of a set of Test Scenarios on a well-functioning Globus/T24 Environment
(e.g. copy of the live environment)
compare The most important phase of regression testing. The earlier executed tests are
executed again against on the new version of the system and the results are
compared.
control data Result of a set of Test Scenarios which were executed on the new, modified
Globus/T24 environment. Usually the Test Scenarios are the same as used in
baseline run, however there are cases when changes need to be made.
control run Execution of a set of Test Scenarios on the modified Globus/T24 environment. The
changes on the System can be
• New Globus/T24 release upgrade
• Database upgrade
• Local development upgrade
• Service pack install
• operating system patch release
CVS Concurrent Versions System (CVS) is a free software revision control system.
Version control system software keeps track of all work and all changes in a set of
files and allows several users (potentially widely separated in space and/or time) to
collaborate.
datapool Enable the storage and handling of data grouped together by some common
properties. Often used in exchanged data between TestScenarios or input data for
TestCases.
day This is a logical day used in the Test Scenario. The first day contains the
prerequisites of the Test Scenario (e.g. customer, account creation) Usually there is
no need for End of day between the first and the second day. Second day contains
the main transaction(s). The other days contain the checking and the modification
part.
defect Used in regression test. The differences between the reference data and the control
data are called defect because it isn’t sure that the found difference is an error, it
could be an expected change.
design project Place to create Test Cases (which are used many times), Test Scenarios,
TestStudio Suites, to store local source codes, style sheets needed to generate
reports. This project stands for planning and creating the Test Scenarios.
Eclipse The Eclipse Platform is designed for building integrated development environments
(IDEs). It can be used to create diverse end-to-end computing solutions for multiple
execution environments.
environment All execution result files are generated here and also stores all necessary datapools
project needed during Test Scenarios execution, which are implemented in Design Project.
This project contains the login settings and user definitions.
ERT Extended Regression Testing. ERT means the continuation Quick Regression
testing. The extension can be reached by several ways, like:
• enhancing the Test Scenarios created during QRT for a longer time span by
modifying Test Scenarios implemented successfully
• creating new Test Scenarios with increased complexity (interfaces, reports
etc.) involving more Globus/T24 modules
functional A testing strategy which focuses on whether or not the system has the functions,
testing services, methods and user claims defined by the software specification.
html HyperText Markup Language (HTML). The publishing language of the World Wide
Web. It provides a means to create structured documents by denoting structural
semantics for text such as headings, paragraphs, lists etc as well as for links,
quotes, and other items.
interface A boundary across which two independent systems meet and act on or
communicate with each other.
Interface
Engine Globus/T24 Server
TestManager
T24
DeskTo
InterfaceEngine 3rd partysystem
3rd partysystem
3rd partysystem
Interface Engine simulates the Legacy systems to achieve the testing of the
communication between Globus/T24 and other systems.
Mantis Mantis is a bug tracking system, a software application that is designed to help
quality assurance and programmers keep track of reported software bugs in their
work.
OFS Open Financial Service is a channel used to mass upload transactions into T24
directly without user interface.
perspectives A perspective defines the initial set and layout of views in the Workbench window.
phantom Phantoms are programs what jobs are process messages and forward messages
in a defined way.
phase The logical separation of different phases during a banking day. It makes the rerun
of a part of the day easier and more effective
putty PuTTY is a terminal emulator application which can act as a client for the SSH,
Telnet, login, and raw TCP computing protocols.
QRT Quick Regression Testing. Regression testing executed with low complexity Test
Scenarios on basic modules like Customer, Account and FT. It provides a numerous
coverage for the selected modules. Low complexity means simple business
processes of a short time span (i.e. 1-2 COBs) without interface simulation.
recorder Recording is a really used function to find the error reason. When you can do
something manually in Globus/T24 but TestStudio gives an error you can record the
process and see the communication to find out what's happening in the background.
reference data Result of a set of Test Scenarios which were executed on a well-functioning
Globus/T24 Environment (e.g. copy of the live environment)
regression Regression testing helps to find out whether or not certain changes in the system
testing will or won’t cause problems in those parts of the system which were not directly
affected by those changes. The same Test Scenarios will be executed again in the
modified system, results will be compared, and relevant differences defined as
defects.
regular Regular expressions provide a concise and flexible means for identifying strings of
expressions text of interest, such as particular characters, words, or patterns of characters.
suite A set of the tested code, interfaces, Test Scenarios, execution plans and other
elements of TestStudio, necessary for testing.
SVN Subversion (SVN) is a free software revision control system. Version control system
software keeps track of all work and all changes in a set of files and allows several
users (potentially widely separated in space and/or time) to collaborate.
T24 TEMENOS T24 is the most technically advanced banking system available today.
T24 is built on open architecture, offers low cost of ownership and uses established
standards such as HTTP, XML and J2EE.
test case Test Case is a basic unit, a simple test step e.g. T24 Version input, authorize,
amendment, enquiry checking, an incoming interface message creation etc.
test plan A test plan is a systematic approach to testing a system. The plan typically contains
a detailed understanding of what the eventual workflow will be.
test scenario A designed testing workflow of a Business Process to reflect the system’s
(abbreviation functionality. It defines the users’ tasks named Test Cases, the input and output
is TSC) data of the function and the required, expected functioning during the testing.
test The test specification describes Test Scenarios in detail, containing the
specification prerequisites, transaction inputs, amends, checkings, enquiries, reports and
interface messages, each of them defined in proper banking day.
view Views support editors and provide alternative presentations or navigations of the
information in the Workbench.
WinSCP (Windows Secure CoPy) is an open source SFTP and FTP client for Microsoft
Windows. Its main function is secure file transfer between a local and a remote
computer. Beyond this, WinSCP offers basic file manager functionality
XPath XML Path Language is a language for selecting nodes from an XML document. In
addition, XPath may be used to compute values (strings, numbers, or boolean
values) from the content of an XML document.