Cloud Testing Tutorial with SaaS and PaaS
SaaS stands for Software as a Service.
SaaS is a model that aims to offer software application as a service which can be used for the purpose of software development and testing. SaaS testing takes place once the development process is over. The duration of testing cycle depends on the type of software opted as a service. SaaS is basically a model that delivers application over the web, managed by a third party vendor. The interface of a SaaS application is accessible by the end user over the web without the need to install it on the local machine. Few commonly used SaaS applications are - Salesforce, Cisco WebEx, Concur, Workday, Google Apps
PaaS stands for Platform as a Service.
In this, we get a framework to develop or customise our application. PaaS enables quick, simple and cost effective ways of developing, testing and deploying applications. With the help of third party provider, we can manage Operating systems, virtualization, storage, networking, servers and PaaS itself. 'Apprenda' is a provider of private cloud PaaS for .Net and Java applications.
In cloud testing, an application is tested on a web based platform than on local machines. Here we limit our discussion regarding testing of SaaS and PaaS applications. Cloud is quite popular in software development and testing.
Cloud Testing Methodology:
- Test the entire cloud system - It is simply verification of the cloud environment to see if its features support the necessary functionalities for SaaS and PaaS applications.
- Testing within a cloud - The cloud environment is tested by the cloud vendors to verify its internal features.
- Testing across cloud - Testing is done on all types of cloud platforms - public, private and hybrid.
Types of testing for Cloud applications:
- Performance testing - Test done to ensure optimised performance of an application. Performance across all devices should be the same.
- Security testing - To verify whether the cloud test environment isn't vulnerable to malicious attacks. Check for data encryption, firewalls, VPN, Antivirus etc.
- Compatibility testing - Check if the system under test is compatible with all types of browsers on all devices.
- Load testing - System is tested with varying load conditions to check its endurance to handle a situation.
- Functional testing - Test the system to verify whether it delivers the required functionality.
- Network testing - Test protocols that are required for cloud connectivity, data security while transferring data, check firewall settings to see if it hinders in data transfer or not and so on.