Whilst there are many benefits of moving to the cloud, there are significant risks that testing must mitigate, and are often underestimated.
One of the major risks when embarking on cloud migration programmes and projects is that your data will be incomplete or corrupt once migrated to the target. Effective data migration testing should therefore be a high priority to mitigate this risk. We would like to share some thoughts on five aspects that are key to making this testing effective.
Ensuring that your Extract-Transform-Load (ETL) tools or bespoke programmes for transformation provide the necessary functionality for testing/verification at each stage of the transformation. If your source and target databases are very different in structure, then there may be several transformation steps and there may also be data cleansing activities built into the process. Each of these steps will require an amount of reconciliation.
Agreeing the final reports and reconciliation evidence that your key stakeholders require upfront will be vital. Ensuring that you understand the target in terms of evidence and output, can then help drive the process. This clarity will increase the confidence in the correctness of data.
Striking the right balance of automated reconciliation and manual verification of the data will be key. In order to complete the bulk validation of thousands of records you will need automated reconciliation routines with significant business logic built in. However, an amount of manual checking of the data based on appropriately designed samples may help discover issues and diagnose the source of the problem as well.
Ensuring that your test environments are adequate in terms of both scale, in terms of being able to cope with the volumes expected, and the level of security required for the sensitivity of the data. Even if the data being used has been obfuscated/anonymised it may still be governed by certain security rules. Dedicated environments may be required for data migration testing as frequently this is a parallel activity with other testing phases and is disruptive in terms of requiring frequent refreshing.
Once the data has been migrated, performing functional testing on your cloud solutions with the migrated data in the target database is an important part of the verification process. Consider whether you can use functional automation scripts, potentially those developed for other testing phases to make this process easily repeatable.
You can learn more about this in our webinar - How to Avoid Cloud Migration Disaster
Richard Simms - Test Architect