Types of Migration Testing: With Test Scenarios for Each Type

Types of Migration Testing: 

This is the 2nd part tutorial in our data migration testing tutorial series.

Migration Testing is essential to move data from the Legacy system to the new system without any data loss and there are several types of Migration Testing too.

Through this tutorial, let us know more about the Migration Testing Types that quite often happen in real time in the IT Industry.

Types of Migration Testing

Types of Migration Testing

The following are the different types of Migrations that typically happen quite often:

  1. Application Migration
  2. Database Migration
  3. Server Migration
  4. OS Migration

As far as the Migration Testing approach, strategy, and testing phases are concerned; it is the same as what we learned in our Tutorial #1.

In addition to “Migration Testing”, typical testing scenarios that need to be covered under each of the Migration testing phases of Tutorial 1, we also need to carry out certain verifications specific to the Migration type that we are engaged with.

Given below are the specific areas in each case where additional testing needs to be carried out to ensure efficient Migration Testing for each of the above types of Migrations.

#1) Application Migration

Application migration is the type where the entire application is migrated from one environment or platform to another.

A few benefits of Application migration are listed below (depending on the new application):

  • Reduces operational and maintenance costs
  • Reduces dependencies on other systems
  • Eliminates or Mitigates Risks in Business
  • Enhances the performance of the system
  • Enhances technical support and administration
  • Support additional features and bug fixes (if any)
  • Technology changes

Simple representation for Application Migration:

Application Migration

A few Examples of Application migration:

  • Migrating an application to the Cloud platform
  • Migrating applications from ASP to ASP.Net technology, ASP.Net to Windows Azure technology, etc.,

Testing Activities here will be:

  • Analyzing and identifying stable requirements
  • Analyzing the scope of testing
  • Analyze and test all the flows in legacy applications against the new application
  • Test the new flow in the migrated application if any

Test Scenarios, in general, would be as below:

I) If the application is upgraded,

  • Validate all the previous functionalities along with the upgraded features – everything should work correctly
  • Test the application for the existing data as well as the new data – both should work correctly.
    • Example: Try updating the existing data, deleting the existing data, searching for the existing data, and generating reports for the existing data. Create new data, validate creating accounts /data, update newly added data, delete newly added data, search with newly added data, and generate reports for newly added data

II) If the application is migrated to new technology:

  • Verify whether the entire application works correctly
  • Verify if the new technology still supports all the components of the application. For example, plug-ins /add-ons /environment values /path are not changed and should work correctly without any errors
  • Verify if it is compatible with all possible Operating Systems, Browser versions, etc.
  • Verify if the old data is retained in the application and the new data works fine in new technology

#2) Database Migration       

Database migration is a type of migration where all the data in the database of an application is migrated to another database.

For this type of migration, the application should be stable and the data in the database should be correct and valid.  Hence, the format, type, value etc., matters while migrating between databases.

A few benefits of Database migration are listed below (depending on the new Database):

  • Applications can have multiple databases at the backend to support huge customer data
  • Data enhancement can be achieved
  • Proper analysis of data will help in improving the data quality
  • Data sampling & data cleansing helps in keeping the database clean and effective
  • To carry out data analytics

Database Migration

A few examples of Database Migration:

  • Migration from one RDBMS to another RDBMS
  • Migration from RDBMS to MongoDB
  • Upgrading from Informix HC4 to HC6 or HC7

Testing activities will be here:

  • Ensure that the legacy database is not updated during tests after migration
  • Ensure whether the mapping at field and table levels does not change
  • Ensuring that data is migrated accurately and completely
  • Pre-migration and post-migration testing activities

Test Scenarios, in general, would be as below:

I) If the migration is to the same type of Database, then,

  • Verify if the queries executed in the new database yield the same results as in the older one
  • Verify if the number of records in the old database and new database is the same. Here you can use the appropriate automation tool
  • Verify that there are no redundancies and the new database works exactly as the older one
  • Verify if the schema, relationships, and table structures are unaltered or set back to match the old database image
  • Verify whether the changes made in the application update the new database with the correct values and type
  • Verify if after the new database connection is provided to all the components of the application. Applications, servers, interfaces, firewalls, network connectivity, etc.
  • Verify the query performance (time-taken to execute complex queries) in the new database is no more than earlier performance

II) If the migration is a different type of Database, then along with the above validation points, a few or more have to be taken care of:

  • Verify data handling for all fields. Major challenges will be handling data for calendar dates, floating numbers, hexadecimal etc.

#3) Server Migration

Server migration is a type of migration where the server data is moved from one server to another server. Here configuration also gets migrated to the new server along with the server data.

A few benefits of Server Migration are listed below (depending on the new server):

  • Enhanced configurations
  • Enhanced reliability
  • More clarity on the logs helps in the analysis of request-response between components
  • Enhanced Performance

Simple representation for Server Migration:

Server Migration

Example of Server Migration:

  • Migrating from Windows to Mainframe server
  • HP Box to IBM Box

Testing activities will be here:

  • Testing compliance with the new server
  • Testing data handling in the new server
  • Ensure directory names, file sharing etc., remain unchanged or change manually as per the configurations
  • Ensuring no data corruption or changes in the new server

Test Scenarios, in general, would be as below:

  • Verify the requested response between the application and the server through APIs
  • Verify client-server logs for each and every action taken on the application
  • Verify if the entire system passes testing
  • Verify if the Interface testing is working fine under all the test conditions
  • Verify if the environment is stable and the server hosted on it has no issues with connectivity. i.e., there should be no environmental issues after migration

#4) OS Migration

OS Migration is a type of migration where an application is migrated from one operating system to another. This involves a lot of challenges as the base platform itself changes and there is a huge risk of compatibility. Even networks, configurations, interfaces, and a lot more components require re-designing.

A few benefits of OS Migration are listed below (depending on the new OS):

  • Increased virtualization when migrated to a Cloud-based platform
  • Lower cost for operations and maintenance
  • Increased speed, support, productivity, and security

Simple representation for OS Migration:

OS Migration

Examples of OS Migration:

  • Migration from Windows to Linux
  • Migration from Windows to MAC
  • Migrating to Cloud-based Software as a Server (SaaS)
  • Migrating to Cloud-based VMs etc.

Testing activities will be here:

  • Analyzing the dependencies in the new OS
  • Understanding and testing the application as changes in configuration impact the application depending on its type
  • Flows in Applications may vary when compared to legacy OS. Hence Extensive testing is required
  • Extensive compatibility testing with all possible combinations in the new OS

Test Scenarios, in general, would be as below:

  • Verify Hardware and Software compatibility when the application is stand-alone
  • Verify that the OS value does not affect the application’s behavior. Entire system testing should pass
  • Verify if application performance is not hindered on the new OS

Conclusion

Hence identifying what type of Migration is happening and what are the specific aspects to be tested based on the Type of Migration, will ensure all the possible bottlenecks that might occur.

Either migration or post migration can be identified well in advance during Testing in the Lab and can be mitigated by fixing them ensuring successful ‘Migration’.

=> Read Part 1 of this Tutorial here

Please share your comments, questions, and thoughts below.

Recommended Reading

5 thoughts on “Types of Migration Testing: With Test Scenarios for Each Type”

  1. One more beautiful article from softwaretestinghelp group. Appreciate you.

    Reply
  2. The testing articles are useless.

    Reply
    • I guess you can than share some useful articles for us

      Reply
  3. awesome!!!!

    Reply
  4. Hi,

    Is it possible to throw some light on the following scenario of Migration of GXP Critical applications in the Life Science space
    1. Lift and shift migration of the Applications and Data from one Data center to another without any transformation or change. this migration is only for Data center consolidation purposes and no change in any functionality or upgrade involved that impacts any functionality whatsoever. Migration is proposed to be done using advanced Nutanix Move technology for VM migrations
    Would like to know the degree and types of testing that need to be adopted for this scenario

    Reply

Leave a Comment