Blog

Articles to grow your career

Article

Cloud Testing

Cloud testing is a type of software testing that tests cloud computing services. A cloud computing service is an internet platform that provides various computer services such as hardware, software, and other computer services remotely. There are three cloud computing models:

  • SaaS- Software as a service
  • PaaS- Platform as a service
  • IaaS- Infrastructure as a service

All cloud testing is divided into four main categories:

  • Testing of the whole cloud. The cloud is viewed as a whole and tests are conducted based on its capabilities. SaaS and cloud vendors as well as end users are interested in doing this type of testing.
  • Testing within a cloud. Testing of each of its internal functions. Only cloud service providers can perform this type of testing.
  • Testing across cloud. Testing is carried out in a cloud, private, public, and hybrid clouds of various types.
  • SaaS testing in cloud: Functional and non-functional testing is conducted based on application requirements.

Cloud testing focuses on core components such as:

  • Application: includes feature testing, end-to-end business workflows, browser compatibility, and data security.
  • Network: this involves testing different network bandwidths, protocols, and successful transmission of data over networks.
  • Infrastructure: includes disaster recovery testing, backup, secure connection, and retention policies. The infrastructure must be validated for regulatory compliance.

Other types of cloud testing include:

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

How to Do Cloud Testing

SaaS testing: this type of testing is usually performed by cloud or SaaS application providers. The main objective is to ensure the quality of the provided service functions offered in a cloud or SaaS program. This involves testing integration, functionality, security, module functionality, system functionality, and regression testing, as well as evaluating performance and scalability.

Online Testing of Applications in the Cloud: online application vendors conduct this testing, which verifies the performance and functional testing of cloud services. When applications are linked to legacy systems, the quality of communication between the legacy system and the application under test in the cloud is tested.

Testing cloud applications over clouds: this type of testing is performed to test the quality of a cloud application across different clouds.

Test Scenario Examples and Test Cases

Performance testing:

  • Failure due to one user action in the cloud should not affect other users.
  • Manual or automatic scaling must not cause glitches.
  • App performance remains consistent across all types of devices.
  • Supplier-side rebooking must not decrease application performance.

Security testing:

  • Only an authorized client can access the data.
  • Data must be well encrypted.
  • Data must be completely deleted if not used by the client.
  • Supplier administration must not have access to customer data.
  • Check for various security settings like firewall, VPN, antivirus, etc.

Functional testing:

  • Valid input should give expected results.
  • The service must properly integrate with other applications.
  • The system must display the type of client account when successfully logged into the cloud.
  • When the client decides to switch to other services, the running service must automatically close.

cloud testing

Interoperability & Compatibility testing:

  • Verifying the compatibility requirements of the tested system and the application.
  • Check browser compatibility in the cloud.
  • Identify the defect that may occur when connecting to the cloud.
  • Any incomplete data in the cloud cannot be transferred.
  • Make sure the app is running on a different cloud platform.
  • Test the application in your own environment and then deploy it to the cloud.

Network testing:

  • Test protocol responsible for connecting to the cloud.
  • Checking data integrity during data transfer.
  • Check if the network connection is correct.
  • Check if packages are being dropped by the firewall on both sides.

Load and stress testing:

  • Check services when multiple users access them.
  • Identify the defect responsible for the hardware or environment failure.
  • Check if the system fails when the specific load increases.
  • Check how the system changes over time under a certain load.
Alex Kara
By Alex Kara on Aug 29, 2021
Manual QA