Cloud Testing Tutorial - A Beginner's Guide

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

Cloud Testing Tutorial - A Beginner's Guide

In the tutorial, we will learn-

Type of Testing in Cloud

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

  1. Application: It covers testing of functions, end-to-end business workflows, data security, browser compatibility, etc.
  2. Network: It includes testing various network bandwidths, protocols and successful transfer of data through networks.
  3. 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

  • Performance
  • Availability
  • Compliance
  • Security
  • Scalability
  • Multi-tenancy
  • Live upgrade testing

Task performed in Cloud Testing:

Types of Cloud Testing
Task Performed
  • SaaS or Cloud oriented 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 based application testing on a cloud:
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.
  • Cloud based application testing over clouds:
To check the quality of a cloud-based application across different clouds this type of testing is performed.

Test cases for Cloud Testing

Test Scenarios
Test case
Performance testing
  • Failure due to one user action on cloud should not affect other users performance
  • Manual or automatic scaling should not cause any disruption
  • On all types of devices the performance of the application should remain same
  • Overbooking at supplier end should not hamper the application performance

Security Testing

  • Only authorized customer should get access to data
  • Data must be encrypted well
  • Data must be deleted completely if it is not in use by client
  • Data should be accessible with insufficient encryption
  • Administration on suppliers end should not access the customers data
  • Check for various security settings like firewall, VPN, Anti-virus etc.
Functional testing
  • Valid input should give the expected results
  • Service should integrate properly with other applications
  • System should display customer account type when successfully login to the cloud
  • When customer chose to switch to other service the running service should close automatically
Interoperability & Compatibility Testing
  • Validate the compatibility requirements of the application under test system
  • Check browser compatibility on cloud environment
  • Identify the defect that might arise while connecting to cloud
  • Any incomplete data on cloud should not be transferred
  • Verify that application works across different platform of cloud
  • Test application on in-house environment and then deploy it on cloud environment
Network Testing
  • Test protocol responsible for cloud connectivity
  • Check for data integrity while transferring data
  • Check for proper network connectivity
  • Check if packets are being dropped by firewall on either side
Load and Stress Testing
  • Check for services when multiple users access the cloud services
  • Identify the defect responsible for hardware or environment failure
  • Check whether system fails under increasing specific load
  • Check how system changes over time under a certain load

Challenges in Cloud 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

Cloud Testing Vs Conventional Testing

Testing ParametersConventional TestingCloud Testing
Primary Testing Objective
  • Check interoperability, compatibility, usability.
  • Verifies the quality of system function and performance based on the given specification
  • Verifies the quality of performance and functions of SaaS, Clouds and applications by leveraging a cloud environment
Testing Costs
  • Costing remains high due to hardware and software requirements
  • Only have to pay for operational charges. Pay only what you use.
Test Simulation
  • Simulated online traffic data
  • Simulated online user access
  • Simulation of online traffic data
  • Simulation of online user access
Functional Testing
  • Validating functions (unit and system) as well as its features
  • Testing end-to-end application function on SaaS or Cloud
Testing Environment
  • A pre-fixed and configured test environment in a test lab
  • An open public test environment with diverse computing resources
Integration Testing
  • Component, architecture and function based testing
  • SaaS based integration testing
Security Testing
  • Testing security features based on process, server and privacy
  • Testing security features based on cloud, SaaS and real time tests in vendors cloud
Performance and Scalability Testing
  • Performed a fixed test environment
  • Apply both real time and virtual online test data

 

Tutorial Index