Successful migration to Cloud: Role of test environments

In my previous blog of this series, we looked into the three key structured processes that demystified the migration to cloud based testing. In this one, let us understand the role of test environments in such migrations.

cloudIn a cloud environment, due to the availability of infrastructure, it is best to have the test environment closely simulating the production environment. This includes hardware / software selection, systems integration (like CMS, DB systems, email systems, etc.) and a process definition for code update. It is recommended that versioned code is deployed on test environments, thoroughly tested and certified code moves to production environment. Similarly patches to production should first be tested on the test environment before deployment.

While migrating to the cloud for the first time, it is advisable to perform functional test of the applications on a non-cloud environment where all potential functional defects are rectified and then the code is deployed on the test environment on cloud. This helps in eliminating transition failures. Once the team has gained sufficient knowledge of the cloud environment, deployment process and the test process, non-cloud environment can be gradually eliminated.

As steps for test environment, following are some of the key aspects to be considered:

  1. Significant focus should be on data migration followed by migration to the new test environment
  2. Start with data migration tests – this will be governed by the same principles that govern the typical ETL testing. Focus on data quality, data corruption or data loss, data sensitivity, application performance and validation of conversion rules
  3. Run tests to validate interfaces to all systems are correctly configured (e.g.: email, CMS, etc.)
  4. Validate access to cloud environment through a series of tests focusing on authentication and authorization (roles and privileges)
  5. Configure administration of the test environment (rules of elasticity / scalability, notifications, deployment, tools access etc.)
  6. Run tests to ensure test team can access test environment without issues
  7. Ensure adequate attention is provided for Test environment provisioning, Test environment availability and Test environment maintenance

Cloud environment will significantly improve the capabilities of test environment management and boost overall testing capabilities.

Also, look out for my next blog, where I will share my experience of implementing a smarter approach to functional testing as part of the cloud hosting strategy.

Venkata Ramana Lanka

Director - QA, Virtusa. Venkata Ramana Lanka (LRV) is an accomplished software test management professional with an extensive background in software testing, test automation framework design, building domain specific testing solution accelerators, leading large software testing teams and supporting presales initiatives. LRV is an hands-on manager with proven ability to direct and improve quality initiatives, reduce defects and improve overall efficiency and productivity. He has in-depth and proven expertise in developing and implementing test strategies and operational procedures. LRV has extensive experience in working with multiple commercial and open source test tools. As a QA thought leader, LRV has written multiple White papers and articles some of which have been published in various media. Further, he has spoken and presented papers at various software testing conferences.

More Posts - Website