02 Apr 2018
24 Sep 2018QA Testing Checklists for Successful Cloud Migration
The key business drivers behind moving workloads to cloud vary from one organization to another. It might be an intention to improve scalability and performance, or simply to reduce organization’s upfront investment by assigning their IT infrastructure responsibilities to one of the trusted service providers, such as Microsoft Azure, Amazon (AWS), IBM, Google or Oracle. Forbes explains some of the many reasons or business drivers for organizations moving to the cloud in this article
Once you have decided to move your products or services to the cloud, testing is a crucial step in the cloud migration journey. It avoids cloud scalability issues, server breakdown issues such as application/website crash, database errors and more, which can be extremely risky in terms of brand’s reputation, time and resources.
With that in mind, business owners or IT decision makers should properly plan and perform their cloud migration journey while putting Testing in top priority during cloud migration irrespective of environment.
Cloud migration requires key focus on certain areas of Application (product/service) Testing, such as: Functional Validation, Integration Testing, Security Testing, Scalability and Performance Testing.
However, cloud hosting adds new dimensions to application validation when it is compared to conventional testing. The table below depicts QA focus areas of application testing migrated to cloud, compared to conventional testing:
Conventional Testing Vs Cloud Testing
Addressing Key Challenges That Arise While Validating Applications
Cloud migration throws certain challenges in validating applications. Some of the instances and how to validate them at various aspects are discussed here.
Functional validation or cloud-ready validation assesses production readiness of migrated applications. It is fundamental to verify if various aspects of the migrated applications are performing as per SLAs. For an effective cloud migration, validate SaaS/Cloud services functions and perform end-to-end application’s function validation. Check the following test cases to perform functional validation of an application for cloud testing:
– Automated test suite is compatible with the application over the cloud
– Whether a valid input gives the expected results
– Service integration with other applications
– Page layout and object references are working as expected
– Cross-platform compatibility is ensured
Integration Testing (With Third-Party Applications)
Cloud migration is not just moving data, but it is managing a range of variables – security, authentication, integration, compatibility, testing and monitoring over time. Among the above variables, integration with third-party tools plays a significant role. Because, today, there are many technology choices with cloud integration than ever before. But, the dependencies between systems and applications can complicate integration testing. If you are integrating a lot of services together that come with varying SLAs, testing in the cloud with a plethora of third-party tools, services and applications, represents a major challenge. To avoid such issues, ensure you go through the below checklist and validate them effectively:
– What interfaces and systems need to be covered while planning for integration testing?
– What resources you need to do the validation and integration testing?
– Have a plan to develop and execute tests in coordination with third-party components
– Perform Integration Testing early
– Detect coordination problems in cloud environment – this is to ensure the applications are well configured with cloud environment
If you don’t have in-house expertise, make sure to outsource validation for integration to your cloud provider or a managed service provider who fills the gap.
One of the main deterrents to migrating to the cloud is Security. Applications can be very secure in the cloud, but unlike conventional storage, you will not have any hardware. This means, you don’t have complete control over the data. To keep the data secure in the cloud requires a whole new level of security procedures and strategies. If you are planning for an Infrastructure as a Service (IaaS) architecture, ensure you check whether your workloads can be migrated to the cloud; or will there be any significant difficulties after migration. Following checklist can be handy to crosscheck some cases:
– If you have legacy applications running on outdated platforms
– Proprietary software
– User validation – ensure the applications are accessible only by authorized users and are available only to them
– Protective measures against Distributed Denial of Service (DDoS) attacks
– Validation of data security at rest, in use and during transit – almost inevitably, the data is going to spread across multiple networks and devices after migration, with varying levels of risk and security. Before you can take an effective plan to avoid risk completely, here’s a checklist or questions you need to have answers:
– What type of sensitive data do you use, store or transfer?
– Who has access to this data?
– Why, when and where the users access this data?
– How is data stored when it is idle?
– How data access is controlled?
– What are the compliance requirements?
Various aspects of application Security Testing include: Data security and data privacy testing, application transaction security, business process security and user privacy security testing.
Assessing performance and response time requirements of applications and workloads while migrating to the cloud is a significant factor determining cloud migration success.
There are areas that affect moving an application to a cloud service, some of them include response time implications and scalability factors. Check out the below steps to ensure workload performance and SLAs are met:
– Identify and document business transactions and application’s end-to-end flow
– Identify business SLAs for the business transactions
– Examine if your software comes with limited internet bandwidth or intensive CPU and input-output capacity requirements
– Address application’s architecture that is not appropriate with the cloud
– Identify monitoring requirements and setup tools
– Validate response times as per SLAs – perform Load Testing in parallel and validate whether applications or service performances under various loads are meeting the SLAs
Disaster Recovery and Business Continuity Plan
Be prepared for the worst-case scenarios in the cloud, from simple data recovery and disaster recovery practice to a plan addressing unique incidents of attack. Validate all your disaster recovery plans in the event of cloud outages.
– Test, measure and update business continuity processes periodically
– Perform tests to run simulations and evaluate team’s readiness
– Consider the test results to change or update your business continuity plan over time
– Validate application instances to restore automatically during hardware failures
How TestingXperts Can Help You
Moving to the cloud is a smarter way to get better and faster service at less price. And, this is only possible once all the boxes in the checklists mentioned in this article have been crossed and you follow the steps of each testing area correctly. Testing the objectives/validations and approaches that were mentioned in the above cloud assessment checklist could be quite tough. Our best bet is to work with a team that has done cloud migration testing before, many times.
TestingXperts helped hundreds of enterprises assess their cloud migration journey successfully by deploying validation checklists for each application to be migrated – avoiding problems and additional costs during IT migration.