- June 22, 2018
- Posted by: Mahesh Kulkarni
- Category: Blogs
For delivering a successful migration strategy, creating an effective data migration testing strategy is a must, which is critical to reducing risk while delivering a successful migration. So, let’s have a detailed overview on how to create a more consistent data migration methodology using black box testing or white box testing approach.
As we know that data migration is a process that purely deals with migrating data from one existing database to another one. For every company, data is the most valuable asset and always when there is some change or there is an upgradation process, data needs to be transported safely from the existing database to the new one.
The term ‘data migration’ is so versatile that it has a huge scope with respect to different domains. Data migration activity encapsulates every process that is crucial for any database to keep up and running without any defects. It also comprises of all the legacy data and the new data that has been migrated to correct tables and columns.
So, the only way to avoid redundancy and ensure its correctness is to test the whole migration process step by step. Analysis of requirements is what migration testing starts with, and at the end, the approach final approach is defined.
The analysis based upon such points as:
- Type of data to be migrated
- Data sources
- Documentation analysis, describing the migration process
- Database alterations analysis
- Database structure and type
- Data storage format
- Analysis of migration method
- Migration approach
Generally, when the tester is done with the analysis and report is generated, then its time to choose the type of migration approach that needs to be implemented. There are three types of testing approaches, namely:
- Black box testing
- White box testing
- Complex approach
But analysis results should not be the only determinant for choosing the approach. There are many other parameters that need to be considered like: client preferences, level of complexity of the task, DBMS specifications, manager preferences etc.
Usually, black box testing is the most frequently used approach. In black box testing the tester checks the way the system processes data: data overview, alteration, search, report creation and some other business operations, as it includes running functional tests of the migrated data.
In black box testing approach, the execution of functional tests allows defining the non-compliance with the system performance requirements before the complex process of load testing. It also detects the errors of database usage simultaneously by several users and challenges in request processing.
Performance and load tests are of great importance in data migration testing, whereas functional tests are not considered to be the leading preference. Also, high quality of operations processing defines the new database effectiveness and correctness.
Now, let’s have some insights on white box testing.
White box testing approach is synonymous with the logical checking process of the migration script. In white box testing approach, usually, a team of QA engineers tests the extensiveness and correctness of the script. But to start with the white box testing, the database must comply with some basic requirements:
- Procure detailed script description to avoid incorrect data migration and incompleteness.
- Design the structure of the source as well as the receiver.
- Perform data migration mapping to set of migration rules drafted in any suitable form.
The white box testing approach requires specified tester’s knowledge of legacy database as well as new database structure, unlike the black box approach, and when the testers’ finally jump-start the testing process, they need to go through the basic points:
- Check of the number of migrated registries
- The data are migrated to the appropriate place
- The data completeness
- Filling of the obligatory fields
- The proper source and receiver fields processing
- Accounting business logic changes
However, these points of migration script check are equally important, but testers need to apply the analysis of SQL code too.
But in real time scenario, its rarely observed that purely white box or black box approach is implemented, rather a complex approach is implemented widely across different platforms.
In the case of complex approach, both white box testing and black box testing approach is used. At first, the QA engineers test the logic of migration script with white box approach, then they shift their attention to run the functional tests with black box approach on the application to check the migrated data.