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 the real time in IT Industry.

Types of Migration Testing

Types of Migration

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, 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 a type where entire application is migrated from one environment or platform to another.

Few benefits of Application migration are listed below (depends on 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
  • Supports additional features and bug fixes (if any)
  • Technology changes

Simple representation for Application Migration:

Application Migration

Few Examples of Application migration:

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

Testing Activities here will be:

  • Analyzing requirements and identifying the stable requirements
  • Analyzing the scope of testing
  • Analyze and test all the flows in legacy application against the new application
  • Test the new flows 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. With new data, validate creating accounts /data, update newly added data, delete newly added data, search with the 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 new data works fine on 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.

Few benefits of Database migration are listed below (depends on new Database):

  • Application 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

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 here will be:

  • Ensure if the legacy database is not updated during tests after migration
  • Ensure whether the mapping at field and table levels do not change
  • Ensuring if 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 same results as in the older one
  • Verify if the number of records in the old database and new database is the same. Here use appropriate automation tool
  • Verify that there are no redundancies and new database works exactly as the older one
  • Verify if the schema, relationships, table structures are unaltered or set back to match the old database image
  • Verify whether the changes made in application updates new database with correct values and type
  • Verify if after the new database connection is provided to all the components of the application. Application, server, interfaces, firewall, network connectivity etc.
  • Verify the query performance (time-taken to execute complex queries) of the new database is not more than earlier performance

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

  • Verify data handling for all the 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.

Few benefits of Server Migration are listed below (depends on new server):

  • Enhanced configurations
  • Enhanced reliability
  • More clarity on the logs helps in 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 here will be:

  • 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 request response between application and the server through APIs
  • Verify client-server logs for each and every action taken on 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 the 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 is changed and there is a huge risk of compatibility. Even network, configurations, interfaces, and a lot more components require re-designing.

Few benefits of OS Migration are listed below (depends on new OS):

  • Increased virtualization when migrated to a Cloud-based platform
  • Lower cost in operations and maintenance
  • Increased speed, support, productivity, 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 here will be:

  • Analyzing the dependencies in the new OS
  • Understanding and testing the application as changes in configuration impacts the application depending on its type
  • Flows in Application may vary when compared to the 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 the 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

0 comments ↓

There are no comments yet...Kick things off by filling out the form below.

Leave a Comment