Final Review Report - DMI Automation Tool - 09BCE010
Final Review Report - DMI Automation Tool - 09BCE010
Final Review Report - DMI Automation Tool - 09BCE010
TO ORACLE)
A PROJECT REPORT
submitted by
of
B. Tech
degree in
May – 2013
1
School of Computing Science and Engineering
DECLARATION
Signature
Anirban Mishra (09BCE010)
2
School of Computing Science and Engineering
CERTIFICATE
3
Certificate from company
4
ACKNOWLEDGEMENT
I take this opportunity to express my profound gratitude and deep regards to my guide
(Prof. Saleem Durai M.A.) for his exemplary guidance, monitoring and constant
encouragement throughout the course of this project. The blessing, help and guidance given
by him time to time shall carry me a long way in the journey of life on which I am about to
embark.
Lastly, I thank almighty, my parents, brother and friends for their constant
encouragement without which this assignment would not be possible.
5
CONTENTS
Title Page 1
Declaration 2
Certificate 3
Acknowledgement 5
Table of Contents 6
List of Tables 8
List of Figures 9
List of Abbreviations 11
Abstract 12
1 Introduction 13
1.1 General 13
1.2 Motivation 13
1.3 Aim & Objective – Problem Description 13
1.4 Related Work 13
1.5 System Requirements 13
1.5.1 H/W Requirements 13
1.5.2 S/W Requirements 14
1.6 Report Organization
6
3.2.1.1 Chosen System Architecture 35
3.3.3 System Interface Description 36
3.3.3.1 Detailed Description of Components 36
3.3.4 Considered Design Constraints 37
3.3.4.1 Economic 37
3.3.4.2 Ethical 37
3.3.4.3 Sustainability 37
3.3.4.4 Legality 37
3.3.4.5 Inspectability 38
4 Implementation 38
4.1 Tools Used 38
General Introduction 38
Reason for selecting tool 38
4.2 Implementation 39
4.2.1. USER INTERFACE DESIGN 39
4.2.1.1 Description of the User Interface 40
4.2.1.2 Screen Images 41
4.2.1.3. Objects and Actions 60
4.3 Testing 61
4.3.1 Test Approach 61
7 References 72
7
LIST OF TABLES
8
LIST OF FIGURES
10
LIST OF ABBREVIATIONS
Abbreviation Expansion
AF Account Finder
CS Charging System
VS Voucher Server
11
ABSTRACT
In Present information age, with the invent of new packages and programming languages,
there is need of migrating the data from one platform to another as versions and changes, to
perform quality assurance of any migrated data is tedious task which require more work
force, time and quality checks. To perform efficient data migration process, legacy data
should be mapped to new system by considering extraction and loading entities. The new
system should handle all the data formats, the good design of data migration process should
take minimal time for extraction and more time for loading. Post loading into new system
results in verification and validation of data accurately, by comparing with the benchmark
values and derive accuracy of data migration process. The manual data validation and
verification process is time consuming and not accurate so automated data validation improve
data quality in less time, cost and attaining good data quality. The current process is a manual
process which is prone to errors and is tedious. The proposed system would automate the
entire data migration process from SYBASE to ORACLE and would be less error prone, can
run several batches at a time and also provide and option for rollback.
12
1. Introduction
1.1. General
DMI Tool is an automation tool capable of migrating MINSAT subscriber data which runs on
SYBASE to ECMS which run on ORACLE without any manual scripts being run by the
migrator. It provides flawless transfer of subscriber data between the two systems. DMI Tool
provides a Menu Driven Interface as well as a Command Line Interface as per the
requirement of the migrator. This tool loads up subscriber data into a temporary schema until
it is finally transferred and released into final schema and at any stages in this process any
portion of it can be rolled back to its previous state. It speeds up the migration process as well
as eliminates human error.
1.2. Motivation
The opportunity to work on Charging System which is the most widely deployed real time
charging solution serving more than one billion users and 160 service providers throughout
the world motivated me to take a project that is associated with Charging System. Also, the
chance to automate something which previously took a very long time to be done also
motivated me to take this project. The prospect of working on live project which would be
used all across world by entire Telecom Industry made me enthusiastic to work on the
project.
The objective of our project is to design an automation tool that would automate the process
of migrating client data from MINSAT which works on SYBASE database to ECMS which
works on ORACLE database. The tool would work both as MENU-DRIVEN and
COMMAND LINE which would provide a greater flexibility for the user. The tool would be
able to migrate data in batches created by MEDI tool. The DMI subscriber migration process
eventually consists of three steps in case of online migrations: LOAD, TRANSFER and
RELEASE. For offline migrations, only two steps (LOAD and TRANSFER) are necessary. It
is up to the migration team to migrate all data in one go or to split migration up into different
batches. Each process can also be UNDONE at any stage with the help of this tool. The tool
would also be able to INSTALL, UNINSTALL and REINSTALL the DMI tool.
13
MINSAT Server
ECMS Server
Pearl Script
Shell Script
SQL Query
The following are the software requirements specifications for DMI Automation Tool:-
PuTTY
SYBASE Developer
MEBC Tool
MEDI Tool
MINSAT
ECMS
SDP
Text Editor
Windows XP or above
Web Browser
Chapter 1 explains the importance of the general description about DMI Automation Tool, the
motivation behind the project, the aim and objective and the software requirements of the
tool.
14
Chapter 2 gives an overview of the entire system and its dependent systems which includes
Charging System 3.0, MINSAT 7.2, ECMS and MEDI Tool and the concepts related to it.
Chapter 3 gives an introduction about Architecture and Design of the system. It also gives the
Functional and Non- Functional Requirements of the system. The chapter also describes the
perspective and features of the system as well as user characteristics, Operating requirements,
domain requirements and user requirements. The Assumption and Dependencies of the
system and also its design constraints has also been discussed in this chapter.
Chapter 4 gives details about the implementation of the system – the tools used, reason for
selecting them, description of user interface objects and actions. It also contains screenshots
of the system. The Testing part has been discussed in this chapter which includes the Test
Approach, test plan, test cases and testing environment.
Chapter 5 summarizes the result of this project and the performance analysis which shows
how the system performed in a real scenario.
Lastly, In Chapter 6 and 7 we give the conclusion and scope of future enhancement that can
be done to the project and also provide the references used.
Charging System is the most widely deployed real time charging solution serving more than
one billion users and 160 service providers throughout the world. It is designed with high
performance decoupled architecture. This architecture decouples traffic flow from the
administrative system and operators are provided with clean administration and provisioning
interfaces to facilitate integration with business support systems.
The key advantages with Charging System are:
Ability to provide real-time notifications, bonuses, and discounts to further build user
satisfaction.
15
Each subscriber is connected to an account, which can be refilled, for example, by using a
voucher.
Charging System is constructed as a decoupled architecture. With the decoupling of the
traffic flow from the administrative system, the operator is provided with a clean
administration and provisioning interface, facilitating the integration with business-support
systems.
Charging System gives the possibility of market segmentation with highlights like Subscriber
Segmentation Service Offerings, Subscriber Segmentation Account Group Identity,
Community Charging and Enhanced End of Call (EoC) USSD Notification.
Powerful tools for tariff management, market segmentation, bonus and loyalty programs, as
well as for statistics generation are provided.
MINSAT 7.2
• Administration
• Batch Administration
fqw
The File Queue Worker, fqw, is a daemon that constantly processes files in the
/export/home/minsat/queues directory. The fqw program marks each record in its input file
according to whether it was processed or not.
fqresubmit
The program fqresubmit retries requests that failed when they were processed by fqw. It
marks errors to retry and ignores errors that it cannot retry. It then sets the queue state to
“pending”. If the time period for processing the queue expires or there are no errors to retry,
the queue status is set to “completed”.
opmjobs
The opmjobs program is used to run regular Operation and Maintenance jobs and is generally
configured from cron to run with two entries. One entry for minute jobs and one entry for
daily jobs.
ppb
The ppb program is run daily to allocate promotion plans. It allocates promotion plans based
on the contents of the PromotionPlanAllocation table and will contact the SDP to ensure the
promotions are allocated.
mbd
The script mbd is a script that runs daily and disconnects or removes subscribers from the
SDP as a result of running SDP life cycle disconnect.
masterdr, streamdr, and processdr
The masterdr program runs a number of configured streamdr processes based on the DR
Stream configuration in the MINSAT system. Streamdr runs a set of configured processdrs to
process only LifeCycle Data Records (activation and disconnection) from DR files coming
from SDP. These sets of programs (masterdr, streamdr, and processdr) process LifeCycle
Data Records by directly accessing the csmain database instead of sending requests to
minsatapp.
MINSAT cachemanager
Some of the requests within the minsatapp request engine require the request details to be
loaded from the MINSAT database. In order to improve the performance of these requests, a
cache of all relevant request data in the database is loaded in advance. The high performance
cache is managed by the cachemanager application. The cachemanager uses the cachestartup
program to load the request data into shared memory. When the cachemanager is shut down
again it will call the cacheshutdown program to delete the shared memory
ECMS
17
Ericsson Customer Management System (ECMS) is an end-to-end customer care system for
Ericsson Charging System (CS). ECMS enables simplification and ease-of-use for CSRs
through a user interface that provides a business view and workflows, rather than a highly
technical view of the system. Front-office tasks and maintenance is primarily completed
through the Customer Care client.
ECMS supports the following features :-
Geographical redundancy
Geographical redundancy is supported by means of data replication between two distant sites.
The strategy includes data synchronization and health monitoring. Geographical redundancy
ensures smooth operations in case of disaster or system maintenance. Its implementation is
based on Oracle Data Guard, enhancements of Batch Execution Engine and a new concept
for file duplication.
Support of a Subscriber Base of up to 100,000,000 Subscribers
With this feature, a highly available system setup is offered that is capable to serve a
subscriber base of up to 100,000,000 subscribers. This is achieved by using more powerful
hardware and by distributing application functions and database functions each to a pair
servers in HA configuration.
Account negative balance
For each main account it is possible to define a lower limit for the prepaid balance. In some
cases, the lower limit can have a negative value. That is, the balance for an account would be
allowed to go below zero. In order for an account to have a negative balance, the
corresponding service class must be defined to allow a negative balance. This was already
possible for a service class. However, now the prepaid balance lower limit has precedence
over any service class limits.
Dynamic Discount Solution (DDS) 3.0 - Advise of Discount
Customers can receive a discount based on their location. With this feature it is possible to
advise a customer about the discounts. The available discounts can be viewed in Customer
Care, and when a customer calls, the discount information can be given to the customer.
The status of the discount can be one of the following:
current - the discount is applicable to the current (or active) call or other service being
used
potential - the discount would be granted for other calls or services
MEDI Tool
MINSAT ECMS DMI Interface (MEDI) is a tool used for generating data files from MINSAT
database, in the format as required by the ECMS’ Data Migration Interface (DMI) tool to
import the MINSAT data into ECMS database.
The purpose is for the migration from MINSAT to ECMS thus enabling the Charging System
Customer Care function to switch over to ECMS in lieu of MINSAT.
The tool is capable of detecting the MINSAT version (CS3 or CS4 or CS5) automatically
and generates the target files accordingly for ECMS’ DMI tool.
This ‘medi’ tool software is not bundled along with ECMS package, but shall be only
provided for the customers willing to migrate from MINSAT to ECMS.
18
The MEDI tool does not extract Business Configuration data from the MINSAT server to the
ECMS server and hence that is out of scope of this document.
Business configuration of the ECMS server has to be performed before extracting the
subscriber data from the MINSAT server.
CS3, CS4 & CS5 MINSAT versions can use this tool for the recommended migration paths..
There are two configuration files CFG_MAIN.cfg and CFG_VALUE_MAP.cfg available
under ‘/opt/medi/conf’ directory that need to be configured by the user before using the
‘medi’ tool for migration. The configuration files and their purpose are detailed below.
CFG_MAIN.cfg
CFG_MAIN.cfg contains the configuration parameters that are required to export the
subscriber data in the format required for migration of the data into the ECMS server. The
configuration parameters are grouped based on the output interface file and each such group,
viz.,
MIT_CUSTOMER, MIT_CONTRACT, MIT_USER, etc., has its own attributes for which
the possible values could be:
Hard coded, e.g., MIT_ACCESS_KEY="B0001", COUNTRY_CODE="49"
CFG_VALUE_MAP.cfg
The file CFG_VALUE_MAP.cfg contains the configuration based on a key-value pair
mapping between MINSAT and ECMS.
For example, the Organization IDs defined in MINSAT, are mapped to the Business Unit on
ECMS, as below:
"1"="MVNO1"
"3"="MVNO2"
There are as many key-value pairs as defined on MINSAT for that attribute. The MEDI tool
extracts the data from the MINSAT into several batches, with each batch containing a set of
15 interface files, which will then be used for importing the data into the ECMS database by
the DMI tool.
A table ‘MIGRATED_SUBSCRIBER’ in csmain database of MINSAT, holds the list of
subscribers that have been extracted from MINSAT along with the batch ID in which the
subscriber was extracted.
It is possible to set a limit (through the –L option) on the number of subscribers per batch and
the batch ID is automatically incremented for every subsequent batch, until all subscribers
have been extracted. It is also possible to specify start and end subscriber numbers (through
the –S and –E (options) to extract a specific range of subscribers. It is also possible to extract
only the subscribers that have not already been extracted in an earlier run of MEDI i.e.,
those subscribers that are not present in the MIGRATED_SUBSCRIBER table. Cleaning up
the results of the MEDI tool extraction is possible (through the –C option). This also clears
the MIGRATED_SUBSCRIBER table.
Due to manual execution of commands and scripts the earlier system is prone to lot of
human errors.
The existing system doesn’t include an option for rollback in case migration fails at some
point.
To be able to migrate a batch needs highly trained personnel due to cumbersome process
and order of execution.
No human errors can occur as scripts are run by the program for the migrator.
The proposed system includes an option for rollback in case migration fails at some point.
In proposed system anyone with a little knowledge about migration process would be able
to migrate.
No need to remember the scripts, the program handles it for the user.
4. U1. Login
Precondition Pr1. Must have an account in ECMS Server.
U2. Exit
Precondition Pr1. Already Logged in.
Basic Path 1. Select Exit option.
Post condition Po1. Logged out of ECMS Server.
Abnormal Path None.
U4. LOAD:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have already moved data
21
Basic Path 1. Select “Load Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
Post condition Po1. dmi_standard_load_{batch_name}_set.xml file
is created from the present
dmi_standard_load_1_set.xmlfile.
Po2. Directory path inside the is set to the current
batch directory.
Po3. Log File gets created
Po4. Load INIT process gets started- MigStart.pl
init -- setup_file dmi_standard_load_
${batch_name}_set.xml
Abnormal Path If Load INIT process is unsuccessful then display error
message and display the path to the log file.
U5. LOAD:START
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have already moved data
Pr4. Load INIT process should have been
successfully executed.
Basic Path 1. Select “Load Option” from the Main Menu Displayed.
2. Select “START” option from the submenu displayed.
U6.TRANSFER:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have already moved data
Basic Path 1. Select “Transfer Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
Post condition Po1. dmi_standard_transfer_{batch_name}_set.xml
is created from the present
dmi_standard_transfer_1_set.xmlfile.
Po2. Directory path inside the is set to the current
batch directory.
Po3. Log File gets created
22
Po4.TRANSFER INIT process gets started
- MigStart.pl start -- setup_file dmi_standard_
transfer_${batch_name}_set.xml
Abnormal Path If Transfer INIT process is unsuccessful then display error
message and display the path to the log file.
U7. TRANSFER:START
U8.RELEASE:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have already moved data
Basic Path 1. Select “Release Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
Post condition Po1. dmi_standard_release_{batch_name}_set.xml
is created from the present
dmi_standard_release_1_set.xmlfile.
Po2. Directory path inside the is set to the current
batch directory.
Po3. Log File gets created
Po4. Release INIT process gets started- MigStart.pl
init -- setup_file dmi_standard_release_
${batch_name}_set.xml
Abnormal Path If Release INIT process is unsuccessful then display error
message and display the path to the log file.
U9. RELEASE:START
U10.UNDO:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have already moved data
Basic Path 1. Select “Undo Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
Post condition Po1. dmi_standard_undo_{batch_name}_set.xml
is created from the present
dmi_standard_undo_1_set.xmlfile.
Po2. Directory path inside the is set to the current
batch directory.
Po3. Log File gets created
Po4. Undo INIT process gets started- MigStart.pl
init -- setup_file dmi_standard_undo_
${batch_name}_set.xml
Abnormal Path If UNDO INIT process is unsuccessful then display error
message and display the path to the log file.
U11.UNDO:START
Basic Path 1. Select “Undo Option” from the Main Menu Displayed.
2. Select “START” option from the submenu displayed.
Post condition Po1. dmi_standard_undo_{batch_name}_set.xml
is created from the present
dmi_standard_undo_1_set.xmlfile.
Po2. Directory path inside the is set to the current
batch directory.
Po3. Log File gets created
24
Po4. Undo START process gets started- MigStart.pl
start -- setup_file dmi_standard_undo_
${batch_name}_set.xml
Abnormal Path If Undo Start process is unsuccessful then display error
message and display the path to the log file.
U12.DMI_INSTALL:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should not have dmi already installed
Basic Path 1. Select “DMI Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
Post condition Po1.The log file should be created with the details of the
process executed.
Po2.The DMI_INSTALL_INIT successful line was
echoed in the terminal window.
Abnormal Path If DMI_INSTALL INIT process is unsuccessful then display
error message and display the path to the log file.
U13.DMI_INSTALL:START
U14.DMI_UNINSTALL:INIT
Precondition Pr1. Logged in as ECMS user
Pr2. Environment variables are set
Pr3. Should have dmi already installed
Basic Path 1. Select “DMI Option” from the Main Menu displayed.
2. Select “INIT” option from the submenu displayed.
25
Post condition Po1.The log file should be created with the details of the
process executed.
Po2.The DMI_UNINSTALL_INIT successful line was
echoed in the terminal window.
Abnormal Path If DMI_UNINSTALL INIT process is unsuccessful then
display error message and display the path to the log file.
U15.DMI_INSTALL:START
Table 1
26
• It can also Release the final version of the database and commit everything.
• DMI Automation Tool can roll back the database at any point in case some failure
happens during the migration process.
• It can also undo the process in case user changes its mind or some error occurs.
• DMI interface can also be uninstalled and its database can be cleaned of its entry.
• It can skip a part in case if it has been already done for a batch.
• System Administrators
• Application Administrators
• Shell Script
• SQL Query
Move Data
Assumption:- Must be logged in as ECMS user.
27
Batch to be moved should exists in Migrated directory
Dependencies:-If sample_load directory already has a batch with the given name then
move it to backup1.
LOAD Data
Assumption:- Logged in as ECMS user
Environment variables are set
Should have already moved data
For Load START process Load INIT process should be completed
successfully
Dependencies:- If Load INIT process is unsuccessful then display error message and
display the path to the log file.
If Load START process is unsuccessful then display error message and
display the path to the log file.
TRANSFER Data
Dependencies:- If Transfer INIT process is unsuccessful then display error message and
display the path to the log file.
If Transfer START process is unsuccessful then display error message
and display the path to the log file.
RELEASE Data
Dependencies:- If Release INIT process is unsuccessful then display error message and
display the path to the log file.
If Release START process is unsuccessful then display error message
and display the path to the log file.
UNDO Data
28
For UNDO START process UNDO INIT process should be completed
successfully
Dependencies:- If Undo INIT process is unsuccessful then display error message and
display the path to the log file.
If Undo START process is unsuccessful then display error message and
display the path to the log file.
INSTALL DMI
Dependencies:- If Install DMI INIT process is unsuccessful then display error message
and display the path to the log file.
If Install DMI START process is unsuccessful then display error
message and display the path to the log file.
UNINSTALL DMI
• System loads the data into the temporary schema DMFADM when user runs the Load
process.
• System transfers the data from the temporary schema DMFADM to permanent schema
SYSADM when user runs the Transfer process.
• System commits the changes into the permanent schema SYSADM when user runs the
Release process.
• System rollbacks the database when user selects the rollback option.
• System unloads the database schema when user selects the UNDO option.
29
• System installs the DMI Tool in the server when user selects the DMI INSTALL option.
• System uninstall the DMI Tool when user selects the DMI Uninstall option.
30
Figure 1
31
Figure 2
Figure 3
32
Figure 4
33
Figure 5
34
3.3.1.2 Requirements Traceability Matrix
Requirement Statement Of Need Business Area Business Status
ID Priority
1 Karlskrona Windows DMI Automation High Accepted
Server
2 ECMS Server DMI Automation High Accepted
3 MINSAT Server DMI Automation High Accepted
4 PuTTY DMI Automation High Accepted
5 WINSCP DMI Automation Moderate Accepted
6 CCN Server Call Charging Low Rejected
7 SDP Server Subscriber Data Low Rejected
8 MEBC Package Business High Accepted
Configuration
9 MEDI Package Data Configuration High Accepted
10 Oracle SQL Developer Database Moderate Accepted
Table 2
Figure 6
35
3.3.3 System Interface Description
3.3.3.1 Detailed Description of Components
36
Markup Language enquiries.
Interactive Voice IVR interacts with Account Information and Refill System
Response System (AIR) to implement the services it provides to subscribers.
(VXML-IVR) IVR can also be used for contacting customer care.
3.3.4.2 Ethical
The code of the software cannot be in any way published or used outside the premises of
Ericsson Private Limited.
3.3.4.3 Sustainability
The system can sustain without any changes required until the database schema are
unchanged and no modification is done to them.
3.3.4.4 Legality
The system can only be used for migration purposes by Ericsson Private Limited and its
customer who purchased their copy from Ericsson.
37
3.3.4.5 Inspectability
The system can be inspected by any user who has a basic knowledge about Black Box
Migration Process.
4 Implementation
4.1 Tools Used
General Introduction
The following tools have been used for the creation of DMI Automation Tool:-
PuTTy - PuTTY is a client program for the SSH, Telnet and Rlogin network protocols.
WinSCP3 v3.8.2 - WinSCP (Windows Secure CoPy) is a free and open
source SFTP, SCP and FTP client for Microsoft Windows. Its main function is secure file
transfer between a local and aremote computer.
Oracle SQL Developer v1.5.3 - Oracle SQL Developer is an Integrated development
environment (IDE) for working with SQL in Oracle databases. Oracle Corporation provides
this product free; it uses theJava Development Kit.
VI Editor - vi is a screen-oriented text editor originally created for the Unix operating system.
The portable subset of the behavior of vi and programs based on it, and the ex editor language
supported within these programs
Notepad++ - It is a text editor and source code editor for Windows. It aims to be a
lightweight and robust editor for a variety of programming and scripting languages.
38
4.2 Implementation
4.2.1. USER INTERFACE DESIGN
Figure 7
Figure 8
40
4.2.1.2. Screen Images
41
Figure 9
Figure 10
Figure 11
42
Figure 12
43
Figure 13
Figure 14
Figure 15
44
Figure 16
45
Figure 17
Figure 18
46
Figure 19
Figure 20
47
Figure 21
Figure 22
48
Figure 23
Figure 24
Figure 25
49
Figure 26
50
Figure 27
Figure 28
51
Figure 29
Figure 30
52
Figure 31
Figure 32
53
Figure 33
Figure 34
54
Figure 35
Figure 36
55
Figure 37
Figure 38
56
Figure 39
Figure 40
57
Figure 41
Figure 42
58
Figure 43
Figure 44
59
Figure 45
./dmiauto -B <Batch Id> -L -I -S Starts the initialization and start process of load
./dmiauto -B <Batch Id> -T -I -S Starts the initialization and start process of transfer
./dmiauto -B <Batch Id> -R -I -S Starts the initialization and start process of release
./dmiauto -B <Batch Id> -U -I -S Starts the initialization and start process of undo
./dmiauto -B <Batch Id> -D Starts the installation process of the DMI tool
./dmiauto -B <Batch Id> -C Starts the un installation process of the DMI tool
./dmiauto -B <Batch Id> -M Starts the the menu driven execution of the automation tool
Table 4
4.3 Testing
61
4.3.1 Test Approach
After migrating data as specified in the ERICSSON Data Migration Specification, we need to
validate the correctness of the resulting data. This is a critical activity. Improperly converted
data can lie dormant and cause invalid results in the new system and, often worse, invalid
results that remain undetected. Careful validation is needed to prevent this time bomb effect.
The risk is often heightened because of the volume of much of the data and because the
project team may have only indirect control of the conversion process.
As with all testing activities, we should first define the test strategy that we will use to
validate the migrated data. The following considerations should be taken into account:
• Data accuracy
• Control procedures
Data Accuracy
In data migration, the resulting data may not always need to be completely accurate, as
complete accuracy may be uneconomic or impossible.
• For our application, figures must be accurate. The customers information must be the
same in the ORACLE database as it was in the SYBASE database. So the accuracy or data in
our case must be high and the exact data must be transferred without and discrepancies.
Testing of Automated Data Migration
Special attention must be paid to automatically migrated data to ensure that there are no
errors in the migration software. Migrated data should be verified to ensure that an
appropriate level of accuracy has been achieved.
When results fall outside the acceptable accuracy range, identify the causes and initiate
corrective procedures, such as:
• Make required corrections to source data and re-run the conversion.
• Identify corrections to the automated data conversion software, and re-run the
conversion once the software has been fixed.
• Note the data errors for manual correction on the new system.
• The database must be flushed before re running the code.
Control Procedures
Control procedures must be defined to ensure that all input data is completely and accurately
converted. These procedures can consist of manually checking all or a sampling of data
before and after conversion or manually checking of reports created from the data. The
degree of validation required depends on the criticality of the data being converted.
Uninstall DMI.
63
4.3.3 Testing Tools and Environment
The testing of this system doesn’t require any special tools for testing. Since, it is a command
based system commands were manually as well as through menu were tested and verified.
The system needs specific environment to be tested. It needs MINSAT and ECMS Servers
and global variables in initialized state.
65
Test Case ID DMI08
Purpose To check LOAD_INIT process.
Input Start the load_init process for a valid batch that has been moved.
Expected Output The require xml file must be created in resources directory with
changes.
The LOAD_INIT successful line must be echoed.
Actual Output The XML file was created dynamically with the required changes.
The LOAD_INIT successful line was echoed in the terminal window.
Pass/Fail PASS
67
Purpose To check UNDO_INIT process.
Input Start the undo_init process for a valid batch.
Expected Output The require xml file must be created in resources directory with
changes.
The UNDO_INIT successful line must be echoed.
Actual Output The XML file was created dynamically with the required changes.
The UNDO_INIT successful line was echoed in the terminal window.
Pass/Fail PASS
Test Case ID DMI15
Purpose To check UNDO_START process.
Input Start the load_start process for a valid batch that has been moved and load
init process completed successfully.
Expected Output The require xml file must be present in resources directory with
changes.
The UNDO_START successful line must be echoed.
The XML file must be deleted if process is successful.
Actual Output The XML file was present with the required changes.
The UNDO_START successful line was echoed in the terminal
window.
The XML file was deleted from the resources directory.
Pass/Fail PASS
68
Test Case ID DMI18
Purpose To check DMI_UNINSTALL_INIT process.
Input Start the dmi_uninstall_init process for a valid batch.
Expected Output The log file must be created.
The DMI_UNINSTALL_INIT successful line must be echoed.
Actual Output The log file was created with the details of the procedure executed.
The DMI_UNINSTALL_INIT successful line was echoed in the
terminal window.
Pass/Fail PASS
Table 5
4.3.5 Test Procedure
69
Purpose
The purpose of the test procedure specification is to provide the user with the guideline of
how to use the test cases and what to do in case of any error during the testing. The various
test cases are discussed in detail below.
Special Requirements
The prerequisite for testing is that one must have both the ECMS and MINSAT servers with
the MEDI, MEBC packages installed. We are required to have PuTTY installed in our system
to run the script and test our system. The user running the code must be familiar with the
working of the Ericsson code of data migration and should have the knowledge about how to
use Korn Shell Script. He should also know hoe to read the log files and be able to identify
the errors enlisted in the log file, understand them and find an way to correct it.
Procedure Steps
Log The log files for each process gets created in the log directory in sample_load.
Setup Both MINSAT and ECMS server must be set up first and then the MEDI and MEBC
package must be installed.
Start Start the procedure by executing the dmiauto script.
Proceed Provide the information as asked during the execution like selecting the process in
case of menu driven.
Measure The test measurement will be made with valid and invalid parameters as described in
the test cases.
Shutdown The test at any time can be shutdown by selecting option 7 which is exit otherwise by
pressing ctrl+z to break out.
Restart The code can be restarted at any time just by starting to executing the script again.
Wrap Up If it is to be run again then make sure that the MEBC package has been installed
successfully.
Contingencies For anomalous situation during the execution of script please check the log files
which contains the details of the procedure executed and also the errors if any.
Table 6
5.2Performance Analysis
The performance of the DMI Automation Tool was analyzed on the basis of the time taken
and space consumed to transfer subscriber data from MINSAT server to ECMS server.
72
7 References
ERICSSON Customer Management 3.1 Support Documentation
http://srvdocpub.lhs-
systems.com/st4/ecms_3.1_support_documentation/current/Documentation/start.html
73