Professional Documents
Culture Documents
Global Testing Services (GTS) : Test Effort Calculator (Tec) Detailed Specifications
Global Testing Services (GTS) : Test Effort Calculator (Tec) Detailed Specifications
Detailed Specifications
Version 1.13
Comments
Business PL Arjan Struik
Project Manager: Kemal Kilic
Requirements Provider: GTS
Owner of this specification GTS
Name of application or IT system to be built TEC Test Effort Calculator
TABLE OF CONTENTS
GLOBAL TESTING SERVICES (GTS)..................................................................................................................1
TABLE OF CONTENTS........................................................................................................................................4
1 INTRODUCTION.......................................................................................................................................7
1.1 DESCRIPTION.........................................................................................................................................7
1.2 STRUCTURE OF APPLICATION..........................................................................................................7
1.2.1 Use Case Diagrams...........................................................................................................................8
1.3 ORDER REQUIREMENTS...................................................................................................................11
1.3.1 Order design and cost spliting.........................................................................................................11
1.3.2 Order reporting................................................................................................................................13
1.3.3 Order persistency............................................................................................................................13
1.3.4 Order status.....................................................................................................................................13
1.4 PARENT CHILD RELATIONSHIP......................................................................................................14
4 DATABASE.............................................................................................................................................114
4.2.3 Cost...............................................................................................................................................115
4.2.4 Order.............................................................................................................................................115
4.2.5 Parameter......................................................................................................................................116
4.2.6 Rule...............................................................................................................................................116
4.2.7 Type..............................................................................................................................................117
4.2.8 User...............................................................................................................................................117
4.2.9 Vendor...........................................................................................................................................117
4.2.10 Helping Tables..............................................................................................................................117
5 APPENDIX..............................................................................................................................................119
1 Introduction
This document describes the specifications for the Test Effort Calculator (TEC). This chapter gives a short
introduction on the tool, which is specified in this document.
1.1 Description
GTS plans to introduce a tool which calculates the costs of test efforts in a standardized, transparent and
reproducible way. This tool will be available via intranet to all relevant persons. The tool will be mainly used by
GTS line management and test management. It allows defining and sizing of test service orders. An order can
consist of a number of projects which itself can be grouped in releases and programs. To each project a number
of charging models can be assigned, which calculates the cost for a specific part of the project. The results of an
estimation are reportable on various levels.
Layer Module
Operator Profiles and Rights Management
Vendor Management
User Management
Engine Parameter Management
Service Management
Charging model (configuration) management
Rule Management
Order Order Management
Each of the sections mentioned above have been described in detailed functional specifications.
Operator Layer
User
List Users Edit User
UC111 UC113
Delete User
UC114
Create User
UC112
Actor
Cost Types
List Cost Types Edit Cost Type
UC121 UC123
Vendor
List Vendors
UC131 Edit Vendor
UC133
Delete Vendor
UC134
Create Vendor
UC132
Engine Layer
Services
List Services Edit Services
UC221 UC223
Create Services
UC222
Delete Services
UC224
Charging
List Charging Edit Charging Model
Model UC231 Model UC233
Parameter
List Parameter
UC241 Edit Parameter
UC243
Create Parameter
UC242
Delete Parameter
UC244
Currency
List Currencies Edit Currency
UC261 UC263
Create Currency
UC262
Delete Currency
UC264
Order
Approve Order
Actor 1 UC305 Created Order
UC302
Close Order
UC308
Delete Order
UC304
List Orders
UC301
Actor 2
Show Order
UC305
Copy Order
Edit Order UC306
UC303
Program
Edit Programs
UC323
Create Program
UC322
Release
Edit Release
UC343
Delete Release
UC344
Create Release
UC342
Project
Edit Project
UC363
Create Project
UC362
Select Model
UC368
The following two tables are created as an example for this effort spliting. The first table shows an release which
only includes the "Release Project" and its efforts. The second table shows the release with two additional
projects and with splitted and additional efforts.
Release 2008Nov – with all related efforts
Projects Services Charging Person TC Regress TC Regress TC new
Models Days onshore offshore offshore
Release- Test TM_int_CS 10
Project Management
Test Design FB_TD_ext_CTS 50
Regression FB_RT_ext_CTS 100 500
Testing
Functional FB_FT_ext_CTS 30
Testing
Test FB_TA_ext_CTS 10
Automation
Release 2008Nov – with additional projects and splited efforts
Projects Services Charging Person TC Regress TC Regress TC new
Models Days onshore offshore offshore
Release- Test TM_int_CS 7
Project Management
Test Design FB_TD_ext_CT 0
S
Regression FB_RT_ext_CTS 100 500
Testing
Functional FB_FT_ext_CT 10
Testing S
Test FB_TA_ext_CT 5
Automation S
B12345- Test TM_int_CS 1
2008Nov-1 Management
Test Design FB_TD_ext_CT 30
S
Functional FB_FT_ext_CT 20
Testing S
In the section "Parent Child Relationship" of this chapter you will find pictures which show the structure of an
order for the different complexity levels.
The efforts off an order are calculated by the rules of the charging models. The result of every charging model is
either a currency value or a number for person days.
Internal efforts are always calculated on a time and material model and charged and reported in person days.
External efforts are calculated on different models and are always charged in an currency amount. If the currency
of the charging model/vendor differs from the currency of the order the value has to be converted to the currency
of the order.
For reporting the efforts have to be shown on every structural level (service, project, release, program) of an
order.
For transparency the reports should also include the values of the key parameters for every charging model.
An example for an report is shown in the use case "Show Order" in chapter 2.4.
Orders with all their structural levels are hold in a database. It is possible to create save and afterwards extend or
change an order. The values of parameters which are assigned by service charging model combinations to the
projects of an order are also hold in the database.
The results of an effort calculation which belongs to an order are directly shown in a report. This values are only
calculated for reporting and are not persistent.
Orders with status "approved" and "closed" can not be changed any more. But all details of this orders stay in the
database and can be shown by the same pages, which was used before to edit the details.
In case of "approved" and "closed" orders all "Create", "Delete" and "Save" functionality is disabled and the
input fields are readonly.
Projekt
Service
Model Rule
Model Rule
Model Rule
Service
Model Rule
Model Rule
Release
Projekt_A
Service1
Model Rule
Model Rule
Service2
Model Rule
Projekt_B
Service1
Model Rule
Model Rule
Service2
Model Rule
Below every release there is always one special project (Release Project / Naming convention) which holds the
effort for the release.
Program_i
Release_Z
Projekt_A
Service1
Model Rule
Model Rule
Service2
Model Rule
Projekt_B
Service1
Model Rule
Model Rule
Service2
Model Rule
Release_X
Projekt_C
Service1
Model Rule
Model Rule
Service2
Model Rule
Release_Y
Projekt_D
Service1
Model Rule
Model Rule
Service2
Model Rule
The bottom up approach is followed for estimation of efforts for every project. For orders with complexity
medium and high there is also a top down approach which allows to split efforts of the "Release Project" to
additional projects in the same release. For e.g. in case of a release, the user fills up the details for each of the
projects separately. When a service charging model combination of a project correspond to the same
combination of the "Release Project" then this efforts are substracted from the efforts of the "Release Project".
Procedure:
1. Level 1: Low - Project
i. A new order is opened by the test manager for complexity level low
ii. The user enters the input details required for the project
iii. The system provides the output for the project
2. Level 2: Medium - Release
i. A new order is opened by the test manager for complexity level medium
ii. The user enters the input details required for the release-project.
iii. The user enters the input details for additional projects 1, 2, 3…n separately under the respective
project
iv. Efforts in identical service charging model combinations are substracted from the release-project.
All the other efforts not borne by the projects are charged to the release-project.
v. The system provides the output for each of the projects and for the release
An User Group can not have the Write and Approve right at the same time on a single module level. This should
be a system constraint.
There is no approval cycle foreseen for changes in the specific Operator and Engine modules. An approval cycle
is foreseen for Order Management. ==> to be checked with expert reviewers.
In the following table you find an overview of all use cases which are specified in this section.
User Group User Cost Type Vendor
UC101-List User Groups UC111-List Users UC121-List Cost Types UC131-List Vendors
UC102-Create User UC112-Create User UC122-Create Cost UC132-Create Vendor
Group Type
UC103-Edit User Group UC113-Edit user UC123-Edit Cost Type UC133-Edit Vendor
UC104-Delete User UC114-Delete User UC124-Delete Cost UC134-Delete Vendor
Group Type
2.2.2.1 Description
Actor clicks the link in the left hand navigation and gets a list of all User Groups.
2.2.2.3 Pre-Condition
User is already logged in.
2.2.2.4 Post-Condition
A page with the following content is displayed:
A "Create User Group" Button or Link
A "Delete User Group" Button or Link
A "Edit User Group" Button or Link
A list with all User Groups is displayed. This list includes:
o User Groups Name
o Permissions Assigned to User Group
2.2.2.8 Exceptions
2.2.3.1 Description
Actor is responsible for setting up and maintaining the user group profiles for restricting the operations in the
Test Effort Calculator. The actor defines a new user group and sets its rights.
There are three different rights per module
Read
Write
Approve
This Rights can be set for the different modules of the TEC application
Order Management
Engine Mangement
User Management
User Group Management
Vendor Management
2.2.3.3 Pre-Condition
The User Group List is displayed.
2.2.3.4 Post-Condition
List of all User Groups is displayed. All the changes are saved in the database.
2.2.3.8 Exceptions
2.2.4.1 Description
2.2.4.3 Pre-Condition
The User Group List is displayed. At least one User Group is present in the List.
2.2.4.4 Post-Condition
The permissions set by the user are saved. All the changes are saved in the database.
5. Click on 'Save' button. The changed permissions are saved and system navigates to the 'List User
Group' page.
2.2.4.8 Exceptions
2.2.5.1 Description
Actor is responsible for setting up and maintaining the user group profiles for restricting the operations in the
Test Effort Calculator. The actor wants to delete a user group.
2.2.5.3 Pre-Condition
Actor is on page List User Groups
At least one User Group is present in the List.
2.2.5.4 Post-Condition
User Group is deleted from the list. All the changes are saved in the database.
The User Group can only be deleted if both the conditions below are true
o No users are assigned to the User Group
o The Root Administrator User Group and its Root Administrator User, both delivered by
default, can not be deleted.
2.2.5.9 Exceptions
2.2.6.1 Description
Actor clicks the Link in the left hand navigation and gets a list of all Users.
2.2.6.3 Pre-Condition
User is already logged in.
User Groups should already be defined.
2.2.6.4 Post-Condition
A page with a list with of all users is displayed.
2.2.6.8 Exceptions
2.2.7.1 Description
Actor adds a new user to the system. Each of these users is assigned to one of the user groups and gets the access
permissions of that user group. The other details of the user such as vendor, resource type, address etc. are also
captured within this module.
The new users are added using the 'Create' functionality.
2.2.7.3 Pre-Condition
The Vendors and Cost Types are already in the database.
User Groups are defined.
The User List is displayed.
2.2.7.4 Post-Condition
List of all Users is displayed. All changes are saved
To make sure that a user is stored only once in the database there should be a check and a warning when
an actor tries to store a user with an already existing name.
It should not be possible to save a new user with an PID that is already existing in the database.
PID must be unique.
Every user should be member of an user group. Because there are also users without any permissions in
the application there must also be a user group without permissions.
User identification is done via PKI certification (JAP).
2.2.7.8 Exceptions
No
2 Warning Actor tries to save an Warning, user can not be
user with an already stored. User with PID is
existing PID already in the database.
2.2.8.1 Description
2.2.8.3 Pre-Condition
The User List is displayed. Atleast one User is present in the List.
2.2.8.4 Post-Condition
The changed user details are saved. All the changes are saved in the database.
The resource type and Vendor details for the user can only be changed if the condition below is true
o The user is not assigned to any of the 'pending' orders
2.2.8.8 Exceptions
2.2.9.1 Description
Actor wants to delete a user from the list.
2.2.9.3 Pre-Condition
The User List is displayed. Atleast one User is present in the List.
2.2.9.4 Post-Condition
User is deleted from the list. All the changes are saved in the database.
3 The system displays a warning message with the buttons 'Yes' and 'No'
4 Click on 'Yes' button.
5 The User is not displayed in the list
2.2.9.9 Exceptions
2.2.10.1 Description
A user wants to list all currently available cost types.
Other possible wordings for cost types, are resource types or test roles.
2.2.10.3 Pre-Conditions
Actor is logged to the system.
2.2.10.4 Post-Conditions
The list of all currently existing cost types is displayed.
The actor clicks the link 'List Cost Types' in the left hand navigation.
Cost Types are used to distinguish between different per day costs which a vendor offers.
The values of the per day costs are stored with the vendor. So it is possible to have different rates for
the same type for every vendor.
A reference to a type and a vendor is also stored with every user. So it is possible to determine also the
per day rate of an user.
2.2.10.8 Exceptions
2.2.11.1 Description
A user wants to create a new Cost Type.
2.2.11.3 Pre-Conditions
The list of current Cost Types is shown.
2.2.11.4 Post-Conditions
There is a new Cost Type saved in the database and shown in the list.
2.2.11.8 Exceptions
2.2.12.1 Description
A user wants to change a Cost Type.
2.2.12.3 Pre-Conditions
The list of current Cost Types is shown.
2.2.12.4 Post-Conditions
The changed Cost Type saved in the database and shown in the list.
2.2.12.8 Exceptions
2.2.13.1 Description
A user wants to delete a Cost Type.
2.2.13.3 Pre-Conditions
The list of current Cost Types is shown.
2.2.13.4 Post-Conditions
The Cost Type is deleted in the database and no longer shown in the list.
2.2.13.8 Exceptions
2.2.14.1 Description
Actor clicks the Link in the left hand navigation and gets a list of all Vendors.
2.2.14.3 Pre-Condition
The resource types are in place.
2.2.14.4 Post-Condition
A page with a list of all vendors is displayed.
2.2.14.8 Exceptions
2.2.15.1 Description
Actor can set up and maintain the profile of a vendor e.g. CS Switzerland, Cognizant India, Cognizant
Switzerland, Cognizant Singapore etc. The new vendor is added using the 'Create' functionality.
2.2.15.3 Pre-Condition
The Vendor List is displayed.
Cost Types are in the database.
2.2.15.4 Post-Condition
List of all vendors is displayed. All changes are saved.
2.2.15.8 Exceptions
2.2.16.1 Description
2.2.16.3 Pre-Condition
The Vendor List is displayed. At least one Vendor is present in the List.
2.2.16.4 Post-Condition
The changed vendor details are displayed in the list (when attributes are in the listed attributes). All the changes
are saved in the database.
If the per day cost of resource or resource type is changed, it should be reflected in the 'pending'order if
applicable
2.2.16.8 Exceptions
2.2.17.1 Description
Actor wants to delete a Vendor from the list and database.
2.2.17.3 Pre-Condition
The Vendor List is displayed. At least one Vendor is present in the List.
No Users should be linked to this Vendor
2.2.17.4 Post-Condition
Vendor is deleted from the list. All the changes are saved in the database.
The Vendor can only be deleted if the conditions below are true
o No users are assigned to the vendor
o No Cost Types are assigned to the vendor.
o No charging models are assigned to the vendor.
A Vendor can not be deleted when there are assigned charging models which are used in orders with
status pending or approved
2.2.17.9 Exceptions
Service
(Functional test)
1 Charging Model
(Fix-Price)
n India 1
1
Rule
n India1A
1
1 Parameter Typ Z5
Calculated India 1A
Parameter n Rule
Catagory Z India1B
Parameter Typ Z6
1 1 India 1B
1
Beispiel Berechnungsformel
1 Z1=((A4*C4)+(A5*C5)+(A6*C6)+(A7*C7))/A3
Parameter
Catagory A,B,C,...
1
n Parameter Typ
A,B,C,...
The administration of currencies is also done within the engine management module. Every order has its own
currency in which the calculation for this order has to be done. Additionally every vendor can have its own
currency. So for every calculation of an order there must be a check if a charging model is related to an vendor
which has an other currency. In this case the amount of this charging model has to be recalculated to the
currency of the order.
2.3.3.1 Description
A user wants to list all services which are in the TEC database.
2.3.3.3 Pre-Conditions
There are services in the database.
2.3.3.4 Post-Conditions
The "List Services" page is shown.
The actor selects the link/button "List Services" in the left hand navigation.
The "List Services" page is shown.
2.3.3.8 Exceptions
2.3.4.1 Description
A user wants to add a new service to the TEC database.
2.3.4.3 Pre-Conditions
2.3.4.4 Post-Conditions
The new service is stored in the database. The "List Services" page is shown and the service is in the list.
The actor selects the link/button "List Services" in the left hand navigation.
The "List Services" page is shown.
The actor clicks the link/button "Create Service". The "Create Service" page appears.
The actor fills in the name of the service and submits his entry.
Service should have unique names, which itself gives an idea of the offered service. It is not planed to
have an additional description of the service.
2.3.4.8 Exceptions
2.3.5.1 Description
A user wants to change the name of an service.
2.3.5.3 Pre-Conditions
The service is already in the database.
2.3.5.4 Post-Conditions
The changed service is stored in the database. The "List Service" page is reshown with the changed name of the
service in the list.
The actor selects the link/button "List Services" in the left hand navigation.
The "List Services" page is shown.
The actor clicks the link/button "Edit" behind the service. The "Edit Service" page appears.
The actor changes the name of the service and submits his change.
Service should have unique names, which itself gives an idea of the offered service.
If the name of a service is changed all assigned items as charging models or projects should stay in
place.
2.3.5.8 Exceptions
2.3.6.1 Description
A user wants to delete an existing service.
2.3.6.3 Pre-Conditions
2.3.6.4 Post-Conditions
The service is removed from the database. The "List Services" page is reshown with the service removed.
3. A security query is shown. 'Do you really want to delete this item? Yes, No'.
4. The actor clicks 'Yes'.
5. The list of services is reshown with the deleted entry missing.
A service can only be removed, when there are no charging models assigned.
The must also not be used in currently pending or approved orders.
2.3.6.9 Exceptions
2.3.7.1 Description
The actor clicks on the Link in the left hand navigation and gets a list of all Charging Models.
2.3.7.3 Pre-Condition
The user is already logged in.
There are already services and charging models in the database.
2.3.7.4 Post-Condition
A page with a list of all Charging Models is displayed.
2.3.7.8 Exceptions
2.3.8.1 Description
The actor creates a charging model. Each charging model includes assigned rules which itself use parameters for
calculation. The actor can create various charging models as below.
1. Fixed Bid Estimation Manual: The charging model is essentially the adaptation of the existing estimation
methodology for fixed bid projects. The methodology involves various parameters for calculation of efforts
e.g. Input Fixes, Tech complexity factors, Correction factors, Optimization and Learning Curve etc.
2. Fixed Bid Estimation Automation: This charging model is similar to the manual fixed bid estimation but has
some different set of parameters (valid for automation e.g. Scripting Efforts, Efforts for automation test case
identification etc.)
3. Time and Material Estimation: This is an estimation model for calculation of costs for the services offered
by GTS on T&M basis. The input for the model is the resource type along with the number of person days
for which the resource is allocated to the project.
2.3.8.3 Pre-Condition
The list of Charging Models is displayed.
2.3.8.4 Post-Condition
List of all Charging model is displayed. All the changes are saved.
All Charging Model names should be unique. e.g. when user tries to save a same Model Name, the
system displays an error message.
A charging model should be assigned to a single vendor.
A charging model should be assignable to a single service. But there should also be services that can be
used with every service.
Vendors and charging models do have a type with values "internal" and "external" this values must be
corresponding for every charging model.
Charging models with type "internal" do always have the effort type "Time & Material" and the result
of the rules must be person days.
No approval is needed in the engine module.
2.3.8.8 Exceptions
2.3.9.1 Description
The actor wants to edit a charging model.
He can change the base attributes of the charging model.
He can create, edit and delete calculation rules. This use case includes the use case
'Edit Rules'.
2.3.9.3 Pre-Condition
The List of Charging Models is displayed. Atleast one Charging Model is present in the List.
Required parameters, vendors, services are defined.
2.3.9.4 Post-Condition
All the parameters and the rules are configured for the model. All the changes are saved.
2.3.9.8 Exceptions
2.3.10.1 Description
The actor wants to delete a charging model.
2.3.10.3 Pre-Condition
The Charging Model List is displayed. Atleast one Charging Model is present in the List.
2.3.10.4 Post-Condition
All changes are saved in the database. The 'List Charging Model' page is reshown and the model is removed
from the list.
6. A security query is shown. 'Do you really want to delete this item? Yes, No'.
7. The actor clicks 'Yes'.
8. The list of charging models is reshown with the deleted entry missing.
If the charging model is used in any order with status 'pending' or 'approved' it cannot be deleted from
the system.
2.3.10.9 Exceptions
2.3.11.1 Description
The actor wants to see the list of all Parameters.
2.3.11.3 Pre-Condition
The categories must be defined.
2.3.11.4 Post-Condition
The 'List Parameters' page with a list of all parameters is displayed
The list of parameters should be kept small to make the calculations easy and comparable.
2.3.11.8 Exceptions
2.3.12.1 Description
The actor wants to create a new parameter.
2.3.12.3 Pre-Condition
Parameter Categories are defined.
2.3.12.4 Post-Condition
The 'List Parameters' page is reshown and includes the new parameter. All the changes are saved to the database.
The list of parameters should be kept small to make the calculations easy and comparable.
All parameter names should be unique. I.e. when user tries to save a same name, the system displays an
error message.
The should be as short as possible for a smart use in formulas.
The description should give the needed information which values the parameter will hold.
The attributes name, description and category are all mandatory.
2.3.12.8 Exceptions
2.3.13.1 Description
The actor wants to change the attributes of an existing parameter.
2.3.13.3 Pre-Condition
Atleast one parameter is present in the List.
2.3.13.4 Post-Condition
The 'List Parameters' page is reshown with the changed attributes. All the changes are saved in the database.
2.3.13.8 Exceptions
2.3.14.1 Description
The actor wants to delete an parameter from the list.
2.3.14.3 Pre-Condition
Atleast one parameter is present in the List.
2.3.14.4 Post-Condition
The 'List Parameters' page is reshown with the parameter deleted from the list. All the changes are saved in the
database.
2. The actor clicks the 'Delete' link/button behind the entry in the list of the parameters
3. A security query is shown. 'Do you really want to delete this item? Yes, No'.
4. The actor clicks 'Yes'.
5. The list of parameters is reshown with the deleted entry missing.
2.3.14.9 Exceptions
2.3.15.1 Description
The actor wants to define or change the rules of an charging model. The rules can be changed using the 'Edit'
functionality.
2.3.15.3 Pre-Condition
Categories, parameters, services and at least one charging model are created and stored in the TEC database.
2.3.15.4 Post-Condition
The 'Edit Charging Model' page is reshown with the changed rules in a list. All the changes are saved in the
database.
2.3.15.8 Exceptions
2.3.16.1 Description
A user wants to see a list of all current currencies and exchange rates in the system.
2.3.16.3 Pre-Conditions
2.3.16.4 Post-Conditions
The 'List Currencies' page is shown with all currencies that are currently in the system.
The currencies and their exchange rates are used to convert vendor efforts from the currency of the
vendor to the currency of the order.
The efforts in the order are shown only in the currency of the order.
2.3.16.8 Exceptions
2.3.17.1 Description
A user wants to introduce a new currency to the TEC system.
2.3.17.3 Pre-Conditions
The 'List Currencies' page is shown.
The currency the user wants to introduce must be in the list of the currency abbreviations.
2.3.17.4 Post-Conditions
The 'List Currencies' page is reshown. The new currency is in the list. The new items are stored in the database.
The currencies and their exchange rates are used to convert vendor efforts from the currency of the
vendor to the currency of the order.
The efforts in the order are shown only in the currency of the order.
2.3.17.8 Exceptions
2.3.18.1 Description
A user wants to change a currency exchange rate in the TEC system.
2.3.18.3 Pre-Conditions
The 'List Currencies' page is shown.
2.3.18.4 Post-Conditions
The 'List Currencies' page is reshown. The currency with changed exchange rates is in the list. The new items are
stored in the database.
The currencies and their exchange rates are used to convert vendor efforts from the currency of the
vendor to the currency of the order.
The efforts in the order are shown only in the currency of the order.
2.3.18.8 Exceptions
2.3.19.1 Description
A user wants to delete a currency and the corresponding exchange rates from the TEC system.
2.3.19.3 Pre-Conditions
The 'List Currencies' page is shown.
2.3.19.4 Post-Conditions
The 'List Currencies' page is reshown. The currency is removed from the list. The items are deleted in the
database.
A currency can not be deleted, when there is a vendor or order that uses this currency.
2.3.19.9 Exceptions
2.4.3.1 Description
A user wants to get an overview off all his orders. A user newly enters the TEC application the list of his orders
is shown in his welcome page.
2.4.3.3 Pre-Conditions
The actor is a valid user of the system.
2.4.3.4 Post-Conditions
Output is a list with all orders the particular user is allowed to see. The orders are grouped by the status of the
orders.
If a user connects new to TEC, he will find a list of all his orders on the welcome page.
Users are mainly test managers and test manager leads. They will see all orders they are responsible for
or where they are in a role of an deputy. Test Managers will also see orders where they are responible
for parts (e.g. release, project) of the order.
It may be necessary to change an already "approved" order, when new change requests have to be
considered. In this case the approved order has to be copied and the new change requests have to be
entered to the copied order, which has to be approved again. The old order has to be closed.
The source order has still status Approved.
The Copy becomes status pending.
In case of "approved" and "closed" orders all "Create", "Delete" and "Save" functionality is disabled
and the input fields are readonly.
2.4.3.8 Exceptions
Currently no
2.4.4.1 Description
An actor creates a new order. In a form he fills in a name for the order, the name of IT-PL and B-PL, from drop-
down lists he selects a Test Manager, the complexity level (low, medium, high) and a currency for the order. He
saves his entries.
2.4.4.3 Pre-Conditions
Test Managers must be in the database.
2.4.4.4 Post-Conditions
Page with all orders including the new entered one, which appears in the group with status "pending".
2.4.4.8 Exceptions
2.4.5.1 Description
Actor edits an already existing order. In a form he is able to change the base attributes of an order like name of
the order, name of IT-PL and B-PL. From selection lists with preselected current values he is able to change the
Test Manager, Test Manager Lead, the status1 and the currency. The the status2 of the order is only shown and
not changeable.
The user is able to add and remove projects, programs and releases depending on the defined complexity level of
the order. The complexity level is not changeable.
If a user wants to change the complexity level of an order, he has to completely delete the order and build a new
one, with the desired complexity level.
2.4.5.3 Pre-Conditions
The order is already in the database and editable for the actor.
The status of the order is "pending".
TMs must be in the database.
2.4.5.4 Post-Conditions
The "Edit Order" page is reshown with changed details of this order and a list of all projects. The orders are
grouped by releases, if there are releases.
Complexity level "medium" one release and no project assigned to the order:
Release Name Project Name Name B-PL Name IT-PL Action Release Action Project
FN 8.3 B Leader IT Leader EDIT, DELETE CREATE
Complexity level "medium" one release and one project assigned to the order:
Release Name Project Name Name B-PL Name IT-PL Action Release Action Project
FN 8.3 B Leader IT Leader EDIT CREATE
N1111/Nov08 B1 Leader IT2 Leader EDIT, DELETE
Complexity level "high" a program, a release and a project assigned to the order:
Program Name Name B-PL Name IT-PL Action Program Action Release
IBIP PB Leader PIT Leader EDIT CREATE
Release Name Project Name Name B-PL Name IT-PL Action Release Action Project
Nov08 B Leader IT Leader EDIT CREATE
N1111/Nov08 B1 Leader IT2 Leader EDIT, DELETE
IT-PLs and B-PLs will not be saved in the TEC database. Their names are filled in manually for
information.
The status2 of every order is initially automatically set to "pending" and can only be changed by a
member of the user module "Order Management" with approve rights to status "Approved" or later to
"Closed". This status field is the only field such a member is able to change.
The complexity level of an order can not be changed.
Any layer (program or release) within an order can only be deleted if he is empty.
In case of "approved" and "closed" orders all "Create", "Delete" and "Save" functionality is disabled
and the input fields are readonly.
2.4.5.8 Exceptions
Screen layout for order with complexity level "medium" and already a release and one project assigned.
Screen layout for order with complexity level "high" and program, releases and projects assigned.
2.4.6.1 Description
A user wants to delete an existing order.
2.4.6.3 Pre-Conditions
There must be an order in the database, which the actor is allowed to delete.
The status of the order must be "pending".
2.4.6.4 Post-Conditions
The current list of orders for this actor is shown with the deleted order missing.
Actor clicks the button/link "List Orders" or logs newly to the application.
If there is an "Delete" link/button behind the order of interest the actor clicks this link/button.
The Order is deleted and disappears from the list.
Alternate Flow
There is no "Delete" link/button behind the order of interest.
The actor clicks the link/button "Edit" behind the order and delets depending on the level all programs,
releases and projects from the order.
The actor comes back to the list of orders and will find a "Delete" link/button behind the order.
Order can only be deleted when all releases and projects which are related to this order are deleted.
2.4.6.8 Exceptions
2.4.7.1 Description
Actor wants to generate a report for an existing order.
2.4.7.3 Pre-condition
2.4.7.4 Post-Condition
An PDF-File is shown, which includes the information for all layers of the order. Order details are all
base attributes of an order, the releases and the projects which are assigned to the order.
The costs and the corresponding parameters have to be shown for the complete order, the release and
every project. The format of the report for all three complexity levels is illustrated in the section 'Screen
Layouts'.
Actor clicks the link "List Orders" in the left hand navigation.
In the list of orders he looks up for the order he is interested.
He clicks the link "Show" for the order.
The costs and the corresponding parameters have to be shown for the complete order, the release and
every project.
The PDF Files can also be printed, so an print functionality is not needed.
An order report delivers the order details sorted in three different ways
- Sorted by the structure of the order which is releases, projects, services and models
- Sorted by releases, services and models
- Sorted by releases, vendors, service and models
See the Screen Layouts for an example.
2.4.7.8 Exceptions
2.4.8.1 Description
A user wants to copy an existing order. This will be necessary when an already approved order has to be
changed.
2.4.8.3 Pre-Conditions
2.4.8.4 Post-Conditions
List of orders is refreshed with an new entry in the list of orders with status "pending".
The name of the new order starts with the old name followed by an timestamp (20081022-1633).
2.4.8.8 Exceptions
2.4.9.1 Description
A user wants to change the status of an order to "approved".
2.4.9.3 Pre-Conditions
The order must be in the database with status "pending". Projects and services must be assigned.
Parameters must be set.
The actor has checked that the order is complete and consitent.
Status1 is set to "completed".
2.4.9.4 Post-Conditions
The list of orders is refreshed and the order entry has moved from the pending list to the approved list.
The actor clicks the link/button "List Orders". The list of orders appear.
He clicks the link/button "Edit" behind the pending order.
The "Edit Order" page appears. Because of his rights the actor is allowed to change the status of the
order to "approved".
Every order (effort estimation) has to be approved by people with additional rights. Two-person
integrity.
2.4.9.8 Exceptions
2.4.10.1 Description
A user wants to set the status of an approved order to closed.
2.4.10.3 Pre-Conditions
2.4.10.4 Post-Conditions
The order has moved from the list of the approved orders to the closed orders. The status is changed in the
database.
The actor clicks the link/button "List Orders". The list of orders appears.
The actor clicks the link/button "Close" behind the approved order.
(this link is only available for actors with approving rights).
A security query appears. "Do you really want to close this order? Yes, No."
The list is refreshed and the order has moved to the closed orders.
Orders which are finished will stay in the database for a fix period of time.
2.4.10.8 Exceptions
2.4.11.1 Description
Actor wants to assign a new program to an order, which was created with the complexity level "high-program".
2.4.11.3 Pre-Conditions
2.4.11.4 Post-Conditions
The "Edit Order" page appears with the new program entry.
Program Name Name B-PL Name IT-PL Action Program Action Release
IBIP PB Leader PIT Leader EDIT CREATE
Orders with level "high" include one single program, with several releases, which itself can contain
several projects.
2.4.11.8 Exceptions
Screen layout for "Edit Order" with complexity level "high" and no program assigned. "Create" link is shown.
See also use case "Edit Order" with complexity level "high".
2.4.12.1 Description
Actor wants to change the attributs of a program which is already assigned to an order.
2.4.12.3 Pre-Conditions
There must be an pending order with complexity level high and an program assigned in the database.
2.4.12.4 Post-Condition
The "Edit Order" page appears again with refreshed attributes for the program.
He clicks the link/button "Edit" behind the pending order from which he wants to edit the program
attributes. The "Edit Order" page appears.
He clicks the button "Edit" behing the program. The "Edit Program" page appears.
The actor edits the attributes of the program and submits his changes.
2.4.12.8 Exceptions
2.4.13.1 Description
A user wants to assign a new release to an order.
2.4.13.3 Pre-Conditions
There must already be an order with complexity level "medium" or "high" and status "pending".
o For complexity level medium.
There must be currently no release assigned to the order.
o For complexity level high.
There is already a program assigned to the order.
2.4.13.4 Post-Conditions
The "Edit Order" page is reshown with the new release and a "Release-Project" included.
The actor clicks the link/button "Edit" behind the pending order where he wants to assign a release.
The "Edit Order" page appears.
The actor clicks the link/button "Create" in the column "Action-Release" (see use case "Edit Order").
A "Create Release" page appears.
In the form he inserts a name for release, B-PL, IT-PL and selects a TM. He submits his changes.
2.4.13.8 Exceptions
2.4.14.1 Description
A user wants to change a release which is already assigned to an order.
2.4.14.3 Pre-Conditions
There must already be an order with complexity level "medium" or "high" and status "pending".
o For complexity level medium.
There is a release assigned to the order.
o For complexity level high.
There is already a program and at least one release assigned to the order.
2.4.14.4 Post-Conditions
2.4.14.8 Exceptions
2.4.15.1 Description
A user wants to delete a release which is already assigned to an order with status pending.
2.4.15.3 Pre-Conditions
There must already be an order with complexity level "medium" or "high" and status "pending".
o For complexity level medium.
There is a release assigned to the order.
The release does not have projects assigned.
o For complexity level high.
There is already a program and at least one release assigned to the order.
One release does not have projects assigned.
2.4.15.4 Post-Conditions
The "Edit Order" page is reshown with the deleted release missing.
2.4.15.8 Exceptions
2.4.16.1 Description
A user wants to assign a new project to an existing order. He fills in a project name, a project name extension, an
IT-PL name, a B-PL name and selects a TM from a list.
2.4.16.3 Pre-Conditions
2.4.16.4 Post-Conditions
The "Edit Order" page is reshown with a new line for the assigned project.
The project name (basic name) should correspond to project name in IT-Plan. To make projects
distinguishable in TEC the project name extension is used.
The combination of project name and project name extension should be unique to make projects in lists
distinguishable.
2.4.16.8 Exceptions
2.4.17.1 Description
A user wants to change the base attributes of a project which is already assigned to an order, or wants to
add/remove services/charging models. This use case includes the use case "Select Models"
2.4.17.3 Pre-Conditions
2.4.17.4 Post-Conditions
The "Edit Project" page is reshown with changes.
2.4.17.8 Exceptions
2.4.18.1 Description
The Actor wants to delete a project from an order or release.
2.4.18.3 Pre-Conditions
There must already be an order with status "pending" and a project assigned.
The project does not have any services assigned.
2.4.18.4 Post-Conditions
The "Edit Order" page is reshown with the deleted project missing.
The actor clicks the link/button "Edit" behind the pending order where he wants to delete a project.
The "Edit Order" page appears.
The actor clicks the link/button "Delete" in the column "Action-Project" (see use case "Edit Order").
2.4.18.8 Exceptions
2.4.19.1 Description
Actor wants to generate a report for an existing project.
2.4.19.3 Pre-Conditions
2.4.19.4 Post-Conditions
A PDF file with the desired report is shown.
2.4.19.8 Exceptions
2.4.20.1 Description
Actor wants to assign services/charging model to an project.
2.4.20.3 Pre-Conditions
2.4.20.4 Post-Conditions
The actor clicks the link/button "Edit" behind the pending order where he wants to make changes.
The "Edit Order" page appears.
The actor clicks the link/button "Edit" in the column "Action-Project" (see use case "Edit Order")
behind the project he wants to change. The "Edit Project" page appears.
The actor clicks the link/button "Select Models".
The "Select Models" page appears.
The actor selects the models he wants to assign and submits his change.
In case of "approved" and "closed" orders all "Create", "Delete" and "Save" functionality is disabled
and the input fields are readonly.
2.4.20.8 Exceptions
2.4.21.1 Description
A user wants to set the values for an charging model which is assigned to a project in an order.
2.4.21.3 Pre-Conditions
2.4.21.4 Post-Conditions
The edited values are stored in the database. The "Edit Project" page is reshown.
The actor clicks the link/button "Edit" behind the pending order where he wants to make changes.
The "Edit Order" page appears.
The actor clicks the link/button "Edit" in the column "Action-Project" (see use case "Edit Order")
behind the project he wants to change. The "Edit Project" page appears.
The actor clicks the link/button "Edit" in the "Action – Parameter" column.
The "Edit Parameter" page appears.
The actor enters the values he wants to assign and submits his change.
Only parameters which are used in the rules of the corresponding charging model must be entered.
In case of "approved" and "closed" orders all "Create", "Delete" and "Save" functionality is disabled
and the input fields are readonly.
2.4.21.8 Exceptions
3 Export Functionality
This functionality is provided for all the pages of TEC. The user can export any page he comes across in the
TEC. The functionality has been described by the usecase below.
At least the following pages should be display and printable (limitation introduced in version 1.13 of this
document):
GTS Effort Calculator - List Orders
all pages behind Link " SHOW "
GTS Effort Calculator - List Parameters
GTS Effort Calculator - List Services
GTS Effort Calculator - List Charging Models
GTS Effort Calculator - List User Groups
GTS Effort Calculator - List Users
GTS Effort Calculator - List Cost Types
GTS Effort Calculator - List Vendors
3.1.1 Description
The actor can export the application page by clicking on a 'PDF' icon provided on each page of Test Effort
Calculator.
3.1.3 Pre-conditions
The actor is a valid user of the system.
3.1.4 Post-conditions
The PDF is generated with the contents of the visible page. A print out with the details can be sent to the printer.
3.1.8 Exceptions
4 Database
The persistent data of TEC will be stored in a relational data base. When the application will be mounted by the
JAP Service Team it has to be a Oracle database.
With version 1.13 the deputy has moved directly to the order (ID_Deputy_Testmanager) and the Deputy table
was removed.
4.2.1 Charging
This table holds the information about the charging models. The attributes are as follows:
Name:
The name is beside the ID a unique identifier of every charging model.
Type_int_ext:
Delivers the possibility to distinguish between "internal" and "external" efforts.
Type_tm_fix:
Delivers the possibility to distinguish between the two different charging model types "Time &
Material" and "Fix Bid".
ID_Vendor:
Every charging model is related to a particular vendor. This field implements this relation.
ID_Service:
A charging model can be related to only one service or can be used for all services. In the first case this
attribute holds the service id, in the second case this attribute is empty.
4.2.2 Contact
The contact table holds the attributes of up to two contact persons of an vendor. The contact persons are
employees of the vendor and may be contacted in case of contract questions. Normally this contact persons are
not users of the TEC application.
4.2.3 Cost
The cost table is a relational table between vendor and type and holds besides the corresponding ids the value of
the per day costs of a special vendor and a special type. This value must be combined with an parameter "cost"
which has a category "fix" (inserted by the engine administrator, not changeable by a TM). Because there can be
several cost type values for a vendor, a calculation like "cost * days" within a rule has to be expanded to
"∑cost*days" with cost or days zero for not used items.
4.2.4 Order
This table holds the orders which are the central entities in the application. The attributes of this entities are as
follows:
Name:
The name is beside the ID a unique identifier of every order.
Status:
The is used to define a lifecycle for a order and to implement two-person integrity. Status can be
"pending", "approved" and "closed". The status is pending during the set up phase of an order. After
this phase the order has to be approved by an other person to get valid. During the testing phase the
order status stays to approved and is set to closed when all the testing work is finished.
Name_IT_PL:
The name of the IT project leader is only hold for information and will be entered directly by the TM
who creates the order.
Name_B_PL:
The name of the Business project leader is also hold only for information and will be entered directly by
the TM who creates the order.
ID_Testmanager:
The Testmanager who is responsible for the order. This TM creates the order and is a user of the system
and member of a user group with write rights in the "Order Management" module.
ID_TestmanagerLead:
The Testmanager Lead is responsible for approving the order. He is a user of the system and member of
a user group with approve rights in the "Order Management" module. He has the permission to change
the Status2 (pending, approved, closed) of the order.
Complexity:
The context of this attribute is described in chapter "1.3 Parent Child Relationchip". This attribute holds
an indicator for the content of the attribute "ID_Level". Only the following combinations are valid:
Complexity: low-project ID_Level: ID_Project
Complexity: medium-release ID_Level: ID_Release
Complexity: high-program ID_Level: ID_Program
Status1:
Shows the state of work of the order (incomplete, completed).
Status2:
Status of order (pending, approved, closed) set by the approver (Test manager lead).
Start:
Holds the start date of the testing activities which are related with this order.
End:
Holds the end date of the testing activities which are related with this order.
4.2.5 Parameter
The parameter table holds the definition of all parameters. A parameter has a short name, which is used in rules
and on buttons, and a description of the content. The category describes the use of the parameter. Categories are:
Input:
The value of the parameter depends on the order and charging model (vendor) its value is filled in by
the TM in the order layer of the application.
Output:
The value of this kind of parameter is calculated in a rule. There is one parameter of this category for
every rule.
Fix:
The value of the parameter is globally valid. Its value is set and changed by a user with write rights in
the engine module in the engine layer.
The value of all parameters with category fix should be hold immediate in the value attribute of this table. The
values of the other parameters depend on the project, service and charging model and are hold in the
Project_Charging_Parameter table.
The category "Type_tm_fix" is used to distinguish between parameters used in charging models for "Time &
Material" and "Fix Bid" calculations. When the corresponding type for the charging model is set, only
parameters of corresponding type are shown for usage in those charging models. The result parameters for every
rule do have no type.
4.2.6 Rule
This table holds the information about the up to five rules for every charging model. A rule is a formula which
uses the predefined parameters to calculate a result. The value of the result is again saved in a parameter and can
be used in the following rules.
Position:
Holds a number for the position (one to five).
Formula:
Is a string representation of the rule.
ID_Charging_Model:
Holds the relation to the charging model the rule belongs to.
4.2.7 Type
The type is basically used to distinguish different amounts of per day costs for the Time & Material estimation.
So the type does only have a name attribute which describes a role.
It is planed to have round about ten different types. First ideas of types are "TM-onshore", "TM-offshore",
"Testmanager", "Accountmanager", etc.
The type table is connected to the cost table, which holds for every vendor and type combination an value of the
per day cost. If an vendor doesn’t offer an distinct type the value for this type is zero.
The type table is also connected to the employee table to assign the per day cost of the employee via the given
type.
4.2.8 User
Every user of the application and additionally employees of an vendors are hold in the user table. Every member
is hold there with his first and second name, his PID and a releation to a resource type and a vendor.
The user identification is done via the JAP/PKI identification.
Every member of the user table must be member of an user group. Because there are also employees of vendors
in the user table there has to be a user group without any permissions.
A user can be member of serveral user groups, but it must be assured, that a user never holds simultaneously the
"write" and "approve" right in the order module. This would break the two-person integrity for the order module.
4.2.9 Vendor
The vendor is an instituition, which offers services and persons to GTS. Most of the direct attributes of the
vendor are hopefully speaking on their own. The attributes are shown in the picture of the database model. All
other attributes are explained in this chapter.
A vendor can have his own VAT and currency. This approach does have the target to support vendors which are
situated in foreign countries. In every effort calculation the currency off the vendor has to be converted to the
currency of the order.
With every vendor two contact persons can be stored.
Connected with every vendor is a not bounded number of employees with their attributes. Because the
employees do have mainly the same attributes as users of the TEC application and users of the TEC application
are mostly also employees they are both hold in the user table. Every user is connected to a vendor and to a type,
which defines the kind of task/role he is able to do.
The vendor does also have a category "Type_int_ext" to check that an charging model with the corresponding
type can only be connected to a vendor with the same type.
Currency Abbreviations Holds unique and international valid abbreviations for currencies that can be
used in selection lists in the system. Values are "CHF", "EUR", "USD", etc.
Categories Categories for parameter types. Values are "input", "output" and "fix".
The values are mainly used in selection lists at different positions within the application. Target is to assure that
this values are the same at every point, where they are used. This approach allows to use this values in SQL
statements.
Instead of using tables in the database in some circumstances it could be a better solution to hold this values in
STATIC variables in a PUBLIC FINAL Java class.
5 Appendix
6 Approve Functionality for each module has to be defined To be decided Two-person integrity only for
order management
8 Will there be use cases for maintaining change rates for AS/KK/AE Use cases in place
currencies
5.2 References
5.4 Glossary
In this chapter you will find a short description of important terms used in this document. This chapter was
included to make sure that everybody does have the same idea of a term.
Term Description
Order Request of a client (normally an IT-PL) to GTS.
A TM opens in TEC an order (form) which describes all services to be provided
to the client.
Level Scope of complexity of an order, which currently has three levels
Low 1–1 project
Medium 1–n release – project(s)
High 1 – n – nprogram – release(s) – project(s)
Service Service offered by GTS. e.g.
Test Design
Technical Testing
Language Testing
Functional Testing
Functional Regression Testing
Browser Testing
Test management
Test Data Management
…
Charging Model Type of effort calculation and charging. e.g.
Time & Material ( a / b / c )
Fix Bid ( a / b / c )
…
e.g. The cost for the service "Technical Testing" can be determined by a
calculation cost = <T&M internal PT's> + <T&M external PT's>.
Workflow Specification of the service – charging model combination. For every service in
combination with a selected charging model it will be necessary to define the
values of parameters used in calculation rules. These values will be entered in
successive forms on different screens or fetched from Quality Center.
e.g.
Screen Declared container of selected parameters.
Rule Method which combines parameters and calculates a new value for a parameter.
Parameter Defined placeholder needed in rules and reflecting a value.
Attributes: ID, description, value, unit.
5.5 Abbreviations
Here you find a description of often used Abbreviations.
Abbreviation Description
B-PL Business Project Leader
CR Change Request
GTS Global Testing Solutions
IT-PL IT Project Leader
QC Quality Center
TC Test Case
TEC Test Effort Calculator
(Tool described in this specification)
TM Test Manager
UC Use Case
5.6.1.1 Description
5.6.1.2 Actor / Actors
5.6.1.3 Pre-Conditions
5.6.1.4 Post-Conditions
5.6.1.5 Actions / Basic Flow
5.6.1.6 Data Structure
5.6.1.7 Business Rules
5.6.1.8 Exceptions
5.6.1.9 Open Issues
5.6.1.10 Screen Layouts
Welcome pages for users which do have no permissions in the order module. The left hand navigation must be
adapted to the rights the user does have. He should only see links he has permission to.
Welcome page for persons who did call the TEC URL but who are not registered user of the application.