What is Cloud Computing?
Cloud computing is an internet based platform that renders various computing services like hardware, software and other computer related services remotely. There are three models of Cloud Computing.
- SaaS- Software as a service
- PaaS- Platform as a service
- IaaS- Infrastructure as a service
In the tutorial, we will learn-
- Type of Testing in Cloud
- Task performed in Cloud Testing
- Test cases for Cloud Testing
- Challenges in Cloud Testing
- Cloud Testing Vs Conventional Testing
The whole cloud testing is segmented into four main categories
- Testing of the whole cloud: The cloud is viewed as a whole entity and based on its features testing is carried out. Cloud and SaaS vendors as well as end users are interested in carrying out this type of testing
- Testing within a cloud: By checking each of its internal features, testing is carried out. Only cloud vendors can perform this type of testing
- Testing across cloud: Testing is carried out on different types of cloud like private, public and hybrid clouds
- SaaS testing in cloud: Functional and non-functional testing is carried out on the basis of application requirements
Cloud testing focuses on the core components like
- Application: It covers testing of functions, end-to-end business workflows, data security, browser compatibility, etc.
- Network: It includes testing various network bandwidths, protocols and successful transfer of data through networks.
- Infrastructure: It covers disaster recovery test, backups, secure connection and storage policies. The infrastructure needs to be validated for regulatory compliances
Other Testing types in Cloud includes
- Live upgrade testing
|Types of Cloud Testing|
|This type of testing is usually performed by cloud or SaaS vendors. The primary objective is to assure the quality of the provided service functions offered in a cloud or a SaaS program. Testing performed in this environment is integration, functional, security, unit, system function validation and regression testing as well as performance and scalability evaluation.|
|Online application vendors perform this testing that checks performance and functional testing of the cloud based services. When applications are connected with legacy systems, the quality of the connectivity between the legacy system and under test application on a cloud is validated.|
|To check the quality of a cloud-based application across different clouds this type of testing is performed.|
|Interoperability & Compatibility Testing|
|Load and Stress Testing|
Challenge#1: Data Security and Privacy
Cloud applications being a multi-tenant in nature, risk of data theft is always remain. Cloud users should be given an assurance about safety of their data by suppliers.
Challenge#2: Short notice period
Cloud provider give a short notice period of (1-2 weeks) to the existing customers about upgrades. This is a big problem when manually validating the changes to your SaaS application.
Challenge#3: Validating interface compatibility
With upgrade in Cloud service provider, at times the external interface is also upgraded which is a challenge for some subscribers who are used to older interface. Cloud(SaaS) subscribers need to ensure that the users can choose the interface version they wanted to work
Challenge#4: Data Migration
Data migration from one Cloud provider to another is a huge challenge as both providers may have different database schemas and it requires a lot of effort to understand the data fields, relationships and how are they mapped across SaaS application
Challenge#5: Enterprise application Integration
Enterprise application integration requires data integration validation of both outbound and inbound data, from client network to SaaS application and vice versa. Data privacy calls for a thorough validation in order to ensure SaaS subscribers about security and privacy of data.
Challenge#6: Simulating live upgrade testing
Cloud testing's biggest challenge is to ensure that live upgrades do not impact the existing connected SaaS users
|Testing Parameters||Conventional Testing||Cloud Testing|
|Primary Testing Objective|
|Performance and Scalability Testing|