When data is moved from one database (also called as source database) to another database (also called as target database), the process is called data migration. The process to verify the successful transport of all the data with its quality maintained in addition to correct mapping of the old structure with the new structure is called data migration testing.
What all is covered under data migration testing?
All data entities such as user account details, transaction record details, etc.
All the data related to a particular data entity.
Every data entity to be migrated will have certain attributes belonging to it.
Every database functions according to a certain business logic. Data migration testing also includes verifying the correct implementation of such business rules post migration.
Challenges faced in data migration testing:
Inadvertent modifications in data belonging to source database at the time of testing.
Corruption in source data.
Unintentional modifications in mapping of data structures by the professionals responsible for data migration.
How to prepare for data migration testing?
Back-up copies for source and target databases should be created well in advance.
In addition to the back-up copies of source and target databases, a copy for ETL (Extract, transform and load) tool should also be made available, if it has been availed for migration of data.
In order to test database migration, it is necessary to create SQL queries to cover the scope of testing.
It is common to start testing data migration after the migration process has been completed. However, depending on the quality or strength of the test design, the testing process can proceed even before the migration of all data has been completed.
How to conduct data migration testing?
Load balancing: To secure complete syncing of data records, it is necessary to ensure perfect load balancing between the source and target databases.
Business rule verification:To ensure correct migration as per the mapping requirements of the targeted database/system, it is important to completely verify each and every business rule or logic described for each of the data fields.
Data integrity validation:This is verification of source data for compatibility with user expectations. In addition to elimination of bad source data, data integrity validation helps in honouring the rules of mapping which are primarily based on the assumptions and compulsions inherent in the source database.
Functional testing:Lastly, functional testing of migrated data is important to verify the fact that post migration the system is functioning as per the user expectations.