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.
What You Will Learn:
Types of Migration Testing
The following are the different types of Migrations that typically happen quite often:
- Application Migration
- Database Migration
- Server Migration
- 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:
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
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:
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:
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.
One more beautiful article from softwaretestinghelp group. Appreciate you.
The testing articles are useless.
I guess you can than share some useful articles for us
awesome!!!!
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