How to define effective Test strategy for various cloud model

Cloud testing offers us two opportunities: testing the cloud itself, and testing in the cloud. A cloud test strategy refers to testing the infrastructures, platforms and software packages that are provided through the "as a service" delivery model. A cloud test uses cloud technology in order to test more quickly, efficiently and effectively. Both cloud testing and testing in the cloud offer both challenges and advantages for testers.

A generic test strategy for various cloud model is presented below  and it does not cover every possible test dimension. Depending on situations, product and the environment, this general test strategy can be optimised.


  • Infrastructure as a Service (IaaS): From the testing perspective, if the sole purpose of cloud migration is to utilize IaaS capabilities, then focus should be more on testing on Non-Functional quality attributes of application mainly security and  performance (availability, scalability, elasticity and similar features). This is similar to a web based testing team having a good quality test environment that is always available and can be virtualized with ease.
  • Platform as a Service (PaaS): Test strategy or approach will not change significantly between IaaS and PaaS. Since PaaS makes available a development environment (platform for application development on the cloud along with the ability to virtualize the environment and the supported hardware), the only difference between IaaS and PaaS is the need for interface testing which is more pronounced in PaaS compared to IaaS. Since applications using PaaS inherit cloud characters, tests to validate scalability, high-availability, and multi tenancy should be run.
  • Software as a Service (SaaS): SaaS offers ready to use applications as a service. From an end user perspective, in most cases, no download of software is needed to access SaaS applications (sometimes users, however, may need to download a plugin). Access to the software is generally governed through an authentication and authorization mechanism. “Pay-as-you-use” model is the default standard for customers utilizing SaaS applications. From a testing perspective, SaaS environment is where the full spectrum of testing is needed. This includes, testing for upgrades, installation, configurability, multitenancy, backward compatibility, metered usage (testing different subscription models), security, compliance, legacy integration, reliability, data integrity, privacy, Interoperability,scalability, elasticity, SLA’s and user experience. It should be noted that, irrespective of SaaS being a delivery model, customers will not compromise the functional accuracy because of SaaS. In most cases, traditional testing tools will be sufficient while testing SaaS based application.

Functionally, there will be not much of a change in the test approach between a web based and cloud environment. However, the test teams should focus on certain aspects like performance, security, environment availability, integration with interfaces, customer experience and adherence to SLAs while testing in a cloud based environment.

It is crucial for testers to understand the difference between customizations and configurations and to test accordingly. Customizations refer to code changes made to the core product whereas configurations are options selected within the product. Both must be tested, but it is important to do regression testing around any customizations. In addition, most SaaS products will require integration with multiple downstream legacy systems. Full end-to-end systems' testing is a critical component of the cloud test strategy.

Depending on the service models and implementation models selected, the test strategy will undergo changes. The choice of tools and techniques will be similar as in the case of web based applications, however during tool selection one should consider the fact that these are available on the cloud and support the pay-as-you-use model.


Comments

Popular posts from this blog

How to calculate maximum number of concurrent users using littile law formula

How to develop a security test strategy

Singleton Design Pattern using Page Factory