Image
Data-Migration-Testing-banner

Data Migration Testing - Best Practices

Deepa Prajapati
December 8, 2021

Migration of Data (DM) has become common these days, be it from legacy systems to new systems, one application to another, or on-premises to the cloud, with companies switching to better options for storing and managing data. "Data Migration Testing" is one of the most challenging tasks in any DM project, considering the amount of effort, time, and risks it carries.

data migration testing best practices blog

This blog will help you plan your Data Migration Testing activities better.

Challenges in Data Migration testing

  1. Data Volume - The biggest challenge in DM testing is the volume of data. The volume of data in DM projects is so high that it is difficult to test manually. Moreover, even traditional automation tools sometimes fail when such a large volume of data is involved.

  2. Project Estimations - For Data migration testing, project timelines have to be set carefully. For any major defects found during DM testing, Developers have to fix and again perform the migration. All transactional cases that have already been tested have to be executed again after the fix. Issues found during DM can result in unexpected downtime.

  3. Manual Testing activities – Manual smoke test in DM is required to ensure that the initial data load has no errors and basic transactions work fine. In complex projects, if the testing team does not have prior experience of DM testing, then the manual testing phase becomes a waste of time and effort.

  4. Classification of data that requires testing – It is imperative to keep track of the existing data and the data that need to be migrated. Not planning the data management activities well may result in data loss or data corruption, which may, in turn, lead to a massive loss of effort and revenue.

  5. Application Performance and Stability Issues – Many DM projects, after completion, lead to performance and stability issues with the new system. The sole reason could be the inadequate amount of planning around resources.

Below are the best practices that can help perform the Data migration testing appropriately.

1. Planning – This is the most important step in DM activities. In the Test Plan make sure to consider end-to-end testing of the migrated data.

  • Identify the different transactional flows that involve the migrated data and plan your test cases accordingly. This may require the involvement of the entire team, including the DM team, management, and the end-users (as needed).

  • Identify and practice on readily available tools that can reduce the testing efforts and bring out the best results.

  • Train your testing team on DM testing. Plan out the approach that best suits the project/systems/teams involved.

  • Have a good analysis of the data schema of the new application or system – the field names, field types, minimum and maximum values, length, mandatory fields, all field-level validations, etc.

  • “Post-migration” testing activities should also be planned well.

2. Understand the data from the legacy system (or the "From" system): This is a critical phase of Data migration testing. We need to understand the legacy system and the data flowing to different connected systems based on the architecture.

  • Identify the fields and their values that need to be migrated to the new system - If the field names from the legacy system match with the field names in the new system, then it is easy to migrate and validate the data.

  • Pre-migration testing - Test or validate the data before migration. It helps in understanding how the data flows to the new system. This is called pre-migration testing, which helps detect if there are pre-existing issues in the data/flows of the legacy system.

  • Get pre-requisites - like Data columns mapping and data field mapping - from legacy and the new systems, which helps to compare the data from system to system and may help find the defects easily.

3. Understand the data transformation from system to system: What is precisely Data transformation? Some fields in the new system cannot take data from the legacy system. Sometimes data from the legacy system must be transformed using the data transformation logic to flow to the new system. Testers should know about data transformation to understand the DM process thoroughly and the "kind" of data involved.

4. Plan the extraction of the data: As data migration testing involves a considerable volume of data, the testing team needs to find and plan ways to extract data from both systems for testing. As part of this phase, extract the data and format as per the migrated field columns. Look for available tools which can aid in extracting a large volume of data for your systems. [For example, we used the XRM toolbox during our data migration testing involving Dynamics 365]

5. Test execution of Migrated Data: Execute a set of test cases/scenarios with different users and keep the results/logs stored. The same data should be verified after migration to ensure that data and functionality in the legacy system are not disturbed after migration

  • Note down the exact count of the data and records, and it needs to be verified after migration to ensure there is no data loss.

  • Use readily available tools for testing the DM in source and destination systems, but manual testing of some sample data is also crucial.

  • Automation tools work well in DM activities and give 100% assurance on results.

  • In smaller systems, excel macros also work well.

  • Data can be divided into smaller groups based on the scenarios and use cases.

  • Perform Post Migration Functional Testing.

  • Check for any redundancy on the migrated data in the new system.

6. Post-Production support: Make sure to include this in the test plan. After the data is live for end-users in the new system, it is essential to validate if the data has flown as expected. Do some basic smoke test transactions to ensure that nothing is broken

Conclusion:

Since data itself is one of the most critical objects in the software systems, it is wise to plan Data Migration activities well. It requires detailed planning to avoid risks in production. Hope this article helps your team to plan out DM testing in a better way.

About the Author

Deepa Prajapati, Associate Manager - Client Services

Deepa is an Associate Manager, Client Services, with Jade Global. She has 12+ years of experience in the software testing field. She has spent many years in Automation Testing, Agile, ServiceNow, and Microsoft Dynamics.

Add New Comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.