Before starting “Cloud Testing” lets understand “What is testing?” – It is a series of planned task that needs to be executed along with software development activities to ensure that a product is delivered without any errors. Conservative testing is done in two ways: Functional Testing and Nonfunctional Testing. The web based applications are powerful and have the ability to provide feature rich content to a wide audience spread across the world. These web applications are stored in remote server and accessed through the web browser. In order to produce the quality and secured web application, testing becomes the chief activity in web application development life cycle.
Now let’s understand “What is cloud computing?” – It is particularly based on two key concepts. The first one is Service-Oriented Architecture (SOA), which is the delivery of an integrated and composed suite of functions to an end-user. The second key concept is virtualization. Virtualization allows abstraction and isolation of lower level functionalities and hardware, which enables portability of higher level functions and sharing the physical resources.
Hope after the above concept we are good to start talking “Cloud Testing” – It describes testing of applications that are specifically developed to run on a cloud platform. This fact entails that the application might be utilizing parallel computing features of cloud computing or it might be a multithreaded application. Cloud service development and deployment, test task management, cloud infrastructure and storage, cloud applications domains are good examples of testing in cloud.
It refers to the verification and validation of applications, environments and infrastructure that is available on demand. This ensures that applications, environments and infrastructure conform to the expectations of the cloud computing business model. For example, mobile and web applications are tested in multiple operating systems, multiple browser platforms and versions and different types of hardware to understand its performance in real-time.
The various types of testing performed in cloud are as follows, Unit Testing – It is used to test a individual unit or group of related units. It can be described as testing of a function, module or object in isolation from rest of the program. Integration Testing – It takes as input from unit test and groups them into single aggregate System Testing – It is conducted on complete integrated system to evaluate system compliance with its specified requirements . Load Testing – It describes an application involving creation of heavy user traffic and measuring its response. Acceptance Testing – It is done to determine if the requirements of a specification is meeting user needs. Production Testing – It is done when software is installed in client machine for real use
Cloud Testing Tools
Major technology vendors such as HP, Intel and Yahoo are presently collaborating to create huge cloud ‘test beds’ consisting of many thousands of processors working together as centers of excellence in Cloud Computing. The test beds allow users to test their cloud deployments at internet scale and also understand how their systems and software actually behave within the cloud . Current test tool offerings by the likes of HP and IBM are ideal for non-functional and automated testing in a cloud environment. Well-established software such as HP’s Quick Test Pro or IBM’s Rational Robot can be used to full effect within a cloud environment to perform automated testing tasks such as regression test. Cloud Computing application and distributed architecture, as well as a good understanding of the tools available and their strengths and weakness for testing different types of cloud applications.
the above article is based on the white paper published at https://arxiv.org/ftp/arxiv/papers/1402/1402.1925.pdf