Planning for a Migration Test Effort

Software development has become a very collaborative effort in the last decade. Unlike in the past where everything was developed in house from scratch, a lot of external integration and consumption is more prevalent now in building an E2E product/solution. More specifically, acquisitions and mergers continue to be a very active phenomenon in the IT world in the recent times. With such business propositions at play, platform and data migrations have been greatly necessitated. Besides such M&A, organizations in general are more pro-active in adopting newer platforms, technologies, tools to make their software development process more robust and effective. The migration could be as simple as a version upgrade (which is not migration in the truest sense, but still something that calls for a level of sanity checks to ensure everything works as intended and that the upgrade did not break any existing feature, functionality, lose data etc.), as complex as database, management systems (LMS, CMS, ALM, ERP systems etc.) that are migrated from one to another. Whatever be the reason that triggers a migration and whatever be the actual migration, there are specific points to keep in mind in planning for a migration test effort as listed below:

1. Ensure functionality – this is the largest piece to plan for like in another any test effort. Questions to answer through a test effort include: Is the migration

a. Complete – Plan for one round of end to end testing on the migrated platform and / or data to ensure that the migration is complete, all planned features work fine on the new platform and the overall end user experience is seamless

b. Accurate – verify for accuracy of migrated data, authentication and authorization levels, overall security of the new system to ensure there are no end user impacting issues. This can be particularly difficult especially with large databases and complex systems that are being tested, in which case the right level of optimizations and sampling techniques need to be adopted to decide what to test

c. Implemented correctly for any intended drops, edits, additions – often times the migration is not a straight forward X->Y, A->B solution. As part of the migration, databases, system features, content, may planned to be added, dropped, edited for additional sanity. Incorporating these in the test effort is very critical

2. Participate in the migration planning effort to make recommendations especially from a performance and security angle, on databases, system architecture etc. to improve the new system’s overall acceptance amongst end users
a. Take time to explore features of the new system or the new technology to be adopted including reading about it in online forums and discussion groups to make suggestions to the product team. Since it is a new system often times, the team is learning about it as a group and this gives you good opportunities to collaborate and ramp up with them, reducing your learning curve

3. Migrated content, data have aligned correctly with the functionality of the new platform – if the migration under discussion is only data or content, test to ensure they have been migrated completed, accurately and are also rendered fine on the front end. This calls for both back and front end testing since sometimes the migrated content may create UI and usability issues. Additional checks need to be implemented at the back end level to ensure the right content is migrated and stored in the right places so it can be picked up by the new system’s display / rendering engine correctly

4. Responsiveness in terms of performance – sometimes, migration efforts might slow down the overall system’s performance. A separate performance test effort will be needed to identify bottle necks and implement any data or minor feature changes to maintain acceptable performance levels

5. Collaborate with build and operations team more than even the development team – unlike in a regular development life cycle, where test works very closely with the development team, in a migration effort, it is important for them to be in touch with the build and deployment team to plan the overall migration effort. Working with them on how to migrate, when to migrate, what sanity tests they can perform are all important elements to be planned, which make their communication link very critical

6. Try partial migrations and test them before the complete migration can be done – this is a good check point to ensure the migration is progressing as planned and to eliminate any surprises that may arise. This is almost like a pilot or a feasibility study to ensure the migration will be robust and effective and any bottlenecks can be identified and mitigated early on

7. Verify usability and accessibility elements especially based on feedback you may have got on your pre-migration platform to proactively address them in this new version – if your system has heavy end user interaction ensure any usability / accessibility feedback from the previous platform is carried forward to the new system so as to not impact your user base adversely through this migration

8. Update users about the migration and encourage them to try it and provide feedback including any defects and suggestions – making the migration effort transparent to the end users and potentially including them in the testing process makes the overall effort very productive and practical improving chances of their system acceptance after it is complete

Migrations can be overwhelming given the overall complexity of the content, data and systems under consideration. Take time to plan for it like any other test effort and additionally keep in mind that end users need to buy in to it, for its overall success. Making note of the above points in your testing strategy will set you on the right path to a successful migration. If you have additional inputs on areas to watch out for in a migration test effort, I would be happy to hear from you.

About the Author

QA InfoTech

QA InfoTech

Established in 2003, with less than five testing experts, QA InfoTech has grown leaps and bounds with three QA Centers of Excellence globally; two of which are located in the hub of IT activity in India, Noida, and the other, our affiliate QA InfoTech Inc Michigan USA. In 2010 and 2011, QA InfoTech has been ranked in the top 100 places to work for in India.

Related Posts