Powerful Testing Tips for Successful Data Migration
The inventor of the World Wide Web, Tim Bernes-Lee, once said that “data is a precious thing and will last longer than the system”. This couldn’t be any more true than in today’s modern business ecosystem. In order to remain competitive, businesses accumulate a huge amount of data in order to offer more and more customer-centric services. Simultaneously, systems are also continuously becoming more and more sophisticated requiring constant updates.
Although not often talked about, Data migration is a very common scenario in the IT environment. At a certain stage of its development almost every company has to go through a data migration process. It is an essential part of the company’s growth. It also seems like the easiest things to do; moving data from the source system to another system, but it is not so. A recent survey reported that 83% of all data migration projects either fail absolutely or suffer noteworthy cost overruns or delays. Although this is no small percentage, companies spend millions and hours on new systems with very little consideration given to the data migration process.
Data migration is a challenging and time-consuming task that demands plenty of planning along with a good understanding of the current systems. Low-quality data mapping can lead to loss of important data and critical functionality. There can also be surprising effects of existing data and rules after migration. All this can become even more bothersome when you are migrating into a running instance that is being used by several users as opposed to a new one. Therefore, even when importing thousands of records, you have to be sure that all records have been migrated properly.
Although the cost of corrupting data migration is high, the business risk associated with inaccurate data like missing revenue and lost opportunities can be enormous. Having said that, a thorough preparation can decrease these risks and ensure success. The first point to remember while planning data transfer knows that one of the frequent threats connected with the transition of data is the lack of process understanding as well as failure to use the established best practices. The most common problems that can risk the results are; bad communication between the members, incomplete transfer policies, bad data quality in the existing software, failure to optimize the information before migration, and skipping testing the system before and after the process.
Pre Data Migration Testing
This testing involves checking the scope of source data with the user community and IT. This verification should contain data that is to be included and excluded; describing the source system to aim at the high-level mapping of each category of data and ensure that the required type has been defined in the targeted system; verifying the data requirements of the new system such as the field names, types, mandatory fields, valid value lists and other field-level checks; using mapping, test the source data against the requirements of the new system; checking the unique fields that links source to destination records and make sure that there is a defined mapping between these record sets; testing the source and target system connection; and checking the tool configuration with the migration specification which can be done through the black box testing on a field-by-field basis.
Data Migration Design Review
Conduct a design review of the migration specification when the pre-migration testing is nearly completed. This specification includes the defining the source systems, its data sets, and queries, the mapping between source and target fields, number of source record and records created per unit time. Moreover, it also includes identification of supplementary sources, and data cleansing, performance and testing requirements.
Post-Data Migration Testing
This involves testing the throughput of the migration process, this will be used to verify whether the planned downtime is sufficient; comparing migrated data to data generated by the destination system; summary verification can either be done by record counts or checksums. It involves a comparison between the number of records migrated and the number of records in the destination system; comparing migrated records to source system will verify that the field values are migrated as per the specifications. This can be done using sampling if appropriate, or 100% of the migrated data can be checked using an automated testing tool.
Including non-functional testing of architectural components at different testing levels is also important to validate system operations. Security testing will help conclude whether all the security user roles have been successfully migrated to the new database. This will prevent unauthorized user access to the system data. And Performance and Benchmark testing will help identify if transferring has caused any new issues or modified any architectural component.