Explore tailored services designed to solve business challenges and support growth
Discover industry-focused expertise built to meet unique business needs
Meet our service partners who strengthen delivery and support client success
Meet our service partners who enhance our capabilities, strengthen service delivery, and help drive successful outcomes for our clients.
Learn how to modernize data foundations to enable trusted, scalable AI.
See how a unified data strategy built faster insights and scaled analytics.
Explore our digital products built to streamline work and drive growth every day
Meet our product partners who enhance our solutions and expand client value
Explore a better way to speed up testing and improve release quality.
Access blogs, case studies, events, and insights that support smarter decisions.
We believe in creating a global workplace where everyone can grow. This is amplified by our teams, who say the best thing about Fortude is our culture, one that is brought to life by a diverse team that spans across continents.
Learn who we are, what we do, and the values that drive our growth
Stay updated with Fortude news, events, stories, and company highlights.
Get in touch with our team to ask questions or start a conversation
Your nearest office- Sri Lanka
Fortude (Pvt) Ltd
146 Kynsey Road, Colombo 7, Sri Lanka
Email – talk-to-us@fortude.co
Phone – +94 11 453 1531
Every day, we bring together diverse perspectives, strong leadership and responsible thinking to build a business that creates lasting value for our clients, people and communities.
Your nearest office- Sri Lanka
Fortude (Pvt) Ltd
146 Kynsey Road, Colombo 7, Sri Lanka
Email – talk-to-us@fortude.co
Phone – +94 11 453 1531
In software testing, data migration testing is conducted to compare migrated data with original data to discover any discrepancies when moving data from a legacy databases to a new destination. As organizations move their operations to the cloud—one of the foundational pillars of digital transformation— data migration testing ensures the integrity of the mission-critical systems and business as usual for business users. Data can be migrated automatically through a migration tool or by manually extracting data from the source database and inserting the data into the destination database.
Figure 1: Data migration testing encompasses data–level validation testing and application-level validation testing.
| Level 1 (Row Counts) | Level 2 (Data Verification) | Level 3 (Entitlement Verification) |
|---|---|---|
| Verifies the number of records that will be migrated. | Verifies the accuracy of data of a selected sample from the migrated data. | Verifies the destination database setup for users and data samples. |
Data-level validation testing verifies that data has been migrated from multiple databases to a common database without any discrepancies. During data level validation testing, data will be verified at three levels.
In application-level validation testing, a software tester verifies the functionality of a sample migration application that was migrated from an old legacy system to the new system. Application-level validation testing ensures smooth running of the migrated application with the new database using following validations:
When you test database migration, it is important to create a set of SQL queries to validate the data before (source database) and after (destination database) migration. The validation queries can be arranged in a hierarchy and it should cover the designed scope.
For example, to test if all users have been migrated, it is essential to check how many users are in the source database and how many have been migrated. Checking the raw counts of each database will ensure this.
Take a sample data set from the source and compare the data with the destination data in the database. Testing tips:
A sample test case can be created as shown below:
| # | Test Description | Input Data | Source Query (Before Migration) | Destination Query (After Migration) | Expected Results | Test Results |
|---|---|---|---|---|---|---|
| 1 | Verify total count of migrated users | Not applicable |
SELECT COUNT(*) FROM Users |
SELECT COUNT(*) FROM Reg_Users |
Raw count should be same before and after the data migration. | Not Executed |
| 2 | Validate data of 5 rows in the user table | 5 rows |
SELECT * FROM Users WHERE ROWNUM <= 5; |
SELECT * FROM Reg_Users WHERE ROWNUM <= 5; |
Data in the selected table rows should be identical before and after the migration. | Not Executed |
Test environments should consist of a source database copy and a blank isolated destination database. A tester can migrate data using a migration tool, which will facilitate the migration both table-by-table and using a set of reference tables. The tool should be able to accommodate a large data load since the data can include data from historical databases.
The database migration process must be completed prior to the test depending on the test design.
If the migration test fails, it is important to report the bug with the following information:
Click here to read more about Fortude’s software testing and QA solutions.