What is Cloud Testing? SaaS Testing Tutorial

Cloud Testing

Cloud Testing is a type of software testing in which the software application is tested using cloud computing services. The purpose of Cloud testing is to test the software for functional as well as non-functional requirements using cloud computing which ensures faster availability with scalability and flexibility to save time and cost for software testing.

Cloud computing is an internet-based platform that renders various computing services like hardware, software and other computer related services remotely.

There are mainly 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

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

SaaS Testing

SaaS Testing is a software testing process in which the software application built in a Software as a Service model is tested for the functional as well as non-functional requirements. The goal of SaaS testing is to ensure the quality by testing data security, integrity, performance, compatibility and scalability of the software application.

Cloud Testing Tutorial - A Beginner's Guide

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

How to do 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.

Example Test cases for Cloud Testing

Test Scenarios Test case
Performance Testing
  • Failure due to one user action on the 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 the same
  • Overbooking at supplier end should not hamper the application performance
Security Testing
  • An 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 a 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
  • A system should display customer account type when successfully login to the cloud
  • When a customer chose to switch to other services the running service should close automatically
Interoperability & Compatibility Testing
  • Validate the compatibility requirements of the application under test system
  • Check browser compatibility in a cloud environment
  • Identify the Defect that might arise while connecting to a cloud
  • Any incomplete data on the cloud should not be transferred
  • Verify that application works across a different platform of cloud
  • Test application on the in-house environment and then deploy it on a 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 a 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 a 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. As a cloud testing strategy, users should be given an assurance about the 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 an upgrade in Cloud service provider, at times the external interface is also upgraded which is a challenge for some subscribers who are used to the 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 Parameters Conventional Testing Cloud 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