Cloud Testing

56
CLOUD TESTING

description

 

Transcript of Cloud Testing

Page 1: Cloud Testing

CLOUD TESTING

Page 2: Cloud Testing

INTRODUCTION

Cloud computing received significant attention recently as it changes the way computation and services to customers, For example, it changes the way of providing and managing computing resources, such as CPUs, databases, and storage systems. Today, leading players, such as Amazon, Google, IBM, Microsoft, and Salesforce.com offer their cloud infrastructure for services.

Page 3: Cloud Testing

UNDERSTANDING CLOUD TESTINGCloud computing is the next stage of the Internet evolution. A typical cloud must have several distinct properties: elasticity and scalability, multi-tenancy, self-managed function capabilities, service billing and metering functions, connectivity interfaces and technologies. In addition, a cloud supports large scale user accesses at distributed locations over the Internet, offers on-demand application services at anytime, and provides both virtualand/or physical appliances for customers. There are three types of clouds:a) private clouds, which are internal clouds based on a private network behind a firewall; b) public clouds, which are the clouds with public accessible services over the Internet; andc) hybrid clouds, which are made of different types of clouds, including public and private clouds.

Page 4: Cloud Testing

WHAT IS CLOUD COMPUTING…??

Cloud computing refers to the provision of computational resources on demand via a computer network, such as applications, databases, file services, email, etc. In the traditional model of computing, both data and software are fully contained on the user’s computer; in cloud computing, the user’s computer may contain almost no software or data (perhaps a minimal operating system and web browser only), serving as little more than a display terminal for processes occurring on a network of computers far away. 

Page 5: Cloud Testing

WHAT IS CLOUD TESTING…??

According to Wikipedia, "cloud testing is a form of software testing in which Web applications that leverage Cloud computing environments ("cloud") seek to simulate real-world user traffic as a means of load testing and stress testing web sites. The ability and costs to simulate Web traffic for software testing purposes has been an inhibitor to overall Web reliability."

Page 6: Cloud Testing

What are the Benefits of Cloud Testing…??

Testing on cloud carried quite a number of benefits in terms of cost and resources. It is something like “service on demand” or “testing on demand”. The cost of hardware, software, tools, tester etc. is charged on usage basis.Some of the key benefits that can be drawn from this are:

Tool License Costs Reduce Labour Costs Improve Product Quality Reduce Development Time Expertise

Page 7: Cloud Testing

What Are The Forms of Cloud-Based Software Testing…??

There are four different forms of cloud-based softwaretesting.

Testing a SaaS in a cloud Testing of a cloud Testing inside a cloud Testing over clouds

Page 8: Cloud Testing

What Are The Types of Cloud Test Environments…??

There are four types of cloud test environments:

Public Cloud Private Cloud Community Cloud Hybrid Cloud

Page 9: Cloud Testing
Page 10: Cloud Testing

What Are The Features In The Cloud Testing…??

Unlike testing conventional web-based software, testingclouds and cloud-based software has several unique testingquality assurance objectives, requirements, and distinctfeatures. This section is dedicated to these subjects.

Page 11: Cloud Testing

WHAT ARE THE NEW REQUIREMENTS AND FEATURES IN CLOUD TESTING …??

Cloud-based testing environment – This refers to use a selected cloud infrastructure (or platform) as a base to form a test bed equipped with diverseand scalable computing resources, system infrastructures, and licensed tools, which are allocated using auto-provision based on static/dynamic requests. Both virtual and physical computing resources can be included and deployed inside.

Page 12: Cloud Testing

Service-level-agreements (SLAs) – In cloud computing, all clouds, SaaS, and applications usually provide diverse services to their end users and customers with well-defined service-level-agreement. Naturally, these agreements will become a part of testing and quality assurance requirements, such as system reliability, availability, security, and performance agreements.

Price models and service billing – Since utility computing is one of basic concepts and features in cloud computing, so price models and utility billing becomes basic parts and service for testing as a service. In other words, required computing resources and infrastructures (including tools), and testing task services will be charged based on pre-defined cost models and

Large-scale cloud-based data and traffic simulation - Applying and simulating large scale online user accesses and traffic data (or messages) in connectivity interfaces is necessary in cloud testing, particularly in system-level function validation and performance testing.

Page 13: Cloud Testing

TESTING AS A SERVICE (TAAS)

Page 14: Cloud Testing

CLOUD TESTING VS. CONVENTIONAL SOFTWARE TESTING

Internet-Based Software Testing

(i.e. Distributed/Web-Based System Infrastructure)

Assure the quality of system functions and performance based on the given specifications Check usability, compatibility, interoperability.

In-house internal software testing as engineering tasks.

Cloud-Based Software Testing

Assure the quality of functions and performance of SaaS , Clouds,and applications by leveraging a cloud environment Assure the quality of cloud elasticity & scalability based a SLA.

Real-time on-demand testing service offered by a third-party.

Page 15: Cloud Testing

Offline test execution in a test lab- Testing a product before its delivery.

A pre-fixed and configured test environment in a test lab. with purchased hardware and/or software

On-demand test execution by third-parties Online test execution in a public cloud- Offline test execution in a private cloud.

An open public test environment with diverse computing resources A scalable private test environment in a test lab.

Page 16: Cloud Testing

CHALLENGES IN TESTING IN CLOUD

Page 17: Cloud Testing

SecuritySecurity in the public cloud is still a major concern.

Cloud test is based on the internet. So it may come up to the situation about the leakage of:

private information

Internet suspending

Service provider may suddenly announce

disruption of service due to a maintenance

window, slow internet speed,virus attack etc.

Page 18: Cloud Testing

Lack of standards

Presently, there are no universal/standard solutions to integrate public cloud resources with user companies’ internal data center resources. This poses a big challenge for companies when they need to switch vendors

Page 19: Cloud Testing

Infrastructure

Some cloud providers offer only limited types of configurations, technology, servers and storage, networking and bandwidth, making it difficult to create real-time test environments.

Page 20: Cloud Testing

Usage

Improper usage of cloud-based test environments can increase costs.

Page 21: Cloud Testing

PLANNING

Testing teams should rigorously plan their test environments, from utilization periods through disassembly. They should also be aware of the associated expenses, such as cost of encrypting data, before putting testing in a cloud environment, since these requirements will consume additional CPU and memory. It’s important to monitor utilization of cloud resources to avoid over-usage and over-payment.

Page 22: Cloud Testing

TEST DATA

The management of test data is a delicate issue. In order for effective testing to take place, some testing tasks depend highly on the actual customer or production data. In some cases, due to rules and regulations, customers are prohibited from supplying confidential or production data to third parties. So the test data should be doubly scrutinized for testing in cloud.

Page 23: Cloud Testing

CURRENT TECHNOLOGIES,

SOLUTIONS & MAJOR PLAYERS

Page 24: Cloud Testing

FACTS

Since 2008, testing as a service

(TaaS) and cloud testing

become hot topics in industry

IBM and Hewlett-Packard have

jumped into the market for

cloud testing in clouds

Page 25: Cloud Testing

FOUR MAJOR PLAYERS

PushtoTest

(www.pushtotest.com)

Cloud Testing (www.cloudtesting.com)

SOASTA

(www.soasta.com)

iKTO

(www.ikto.com)

Page 26: Cloud Testing

SOASTA

SOASTA provides a management console with powerful browser recorder and

script editor, which allows testers to edit, assemble and group test scripts

easily with a visual interface.

SOASTA supports test engineers to validate large-scale web applications and

services with many web pages, messages and events.

These web applications may support tens or hundreds of thousands of users,

and have a variety of connectivity protocol Such as HTML, SOAP, REST, HTTP,

Ajax and so on.

Page 27: Cloud Testing

IKTO

iTKO provides its customers with a LISA product suite.

It focuses on development and testing service for cloud applications.

iTKO's LISATM Test is an integrated and collaborative automated testing

solution designed for cloud applications and other distributed application

architectures

It provides testers a codeless testing environment allows QA and engineers

to develop tests for unit testing, function testing, integration, regression, as

well as performance and load validation

Page 28: Cloud Testing

IKTO

Using LISA Virtualize, test and development teams are able to concurrently

perform tests in 24/7/365 to shorten their test process cycles.

iKTA LISATM pathfinder offers the visualization for cloud based applications so

that end-to-end business application process and system behaviors can b

monitored and virtualized.

LISA’s virtualization and validation solutions are essential for realizing elastic

Cloud Application development and test environments.

Page 29: Cloud Testing

CLOUD TESTING

Cloud Testing develops cloud based testing solutions focusing on large scale web based application testing

It offers different web-based testing crossing different browsers, including IE, Firefox, Opera, Chrome, and Safari.

Cloud Testing allows engineers to create and maintain test scripts manually or to use the record-and-replay approach

Page 30: Cloud Testing

CLOUD TESTING

Cloud Testing offers three types of testing services

These include:

a) cross browser testing

b) website archiving

c) function testing

Cloud Testing provide and delivers its services in a SaaS (Software as a Service) model, so its customers have no need to invest in computing hardware, software or consultancy before software testing

With Cloud Testing’s solutions, customers can focus on their work in web-based application development, testing and execution

Page 31: Cloud Testing

PUSH TO TEST

This is a small startup business focusing on testing services for Grid-based

and Rich Internet applications (using Ajax, Flex, Flash) and SOA-based

application systems

Its major product is TestMaker

TestMaker supports the validation of distributed web-based applications with

test scripts developed in different scripting languages such as JAVA, Jython

and Ruby

The current version of TestMaker focuses on function testing and load testing

Page 32: Cloud Testing

PUSH TO TEST

According to PushToTest, its TestMaker works with a number of open-source

testing tools, such as SoapUI, Selenium, HTMLUnit, Glassbox, SpikeSource,

and Appcelerator

PushToTest is moving to support cloud testing by offering its On-Demand

cloud testing solution based on third-party cloud technology and

environment, such as Amazon EC2

It provides different monitoring services to customers through a number of

connectivity protocols, including Ajax, Flex, Flash, SOAP and REST

In addition, it offers protocol handlers of XML-RPC, ESB/Message Queues, and

HTTP

Page 33: Cloud Testing

CONCLUSION

Clearly, these vendors are the pioneer in cloud testing.

There is still a long way to go to address the open issues,

needs, and challenges in cloud testing because none of

them has any solutions to cope with security testing,

automatic validation, dynamic integration, and

scalability evaluation, as well as quality assurance

standards and test adequacy for cloud-based

applications and infrastructures.

Page 34: Cloud Testing

EXISTING RESEARCH WORK

Page 35: Cloud Testing

Since 2008:

There are many published papers discussed….

grid-based

Cloud-based software infrastructure,

Design

Management

Technologies

Standards.

However, Very few of articles …discussing

cloud testing

cloud-based application testing.

Page 36: Cloud Testing

Lack of clear understanding about …

cloud testing in terms of concepts

issues

Challenges

and needs.

Page 37: Cloud Testing

REVIEWS OFTHE PUBLISHED PAPERS RELATING TO

SOFTWARE TESTING AS SERVICE AND CLOUD TESTING

Page 38: Cloud Testing

Test modeling for clouds and cloud-based application

Its major objective are:

To present the relationships between

different application services over clouds and external consumer services.

Cloud graph

W.K. Chan present a formal model to present clouds and their associated services

using a graph model, known as cloud graph.

Cloud computation is represented as a set of paths in a sub graph of the cloud such that every edge contains a predicate that is evaluated to be true. As indicated by W. K. Chan, there are no any existing testing criteria for cloud applications even though some testing criteria for service-related systems have been proposed

Page 39: Cloud Testing

SOFTWARE TESTING AS A SERVICE (STAAS)

STaaS definition :

Software Testing as a Service (STaaS) is a model of software testing used to test an application as a service provided to customers across the Internet. By eliminating the need to test the application on the customer's own computer with testers on site, STaaS alleviates the customer's burden of installing and maintaining test environments, sourcing and (test) support. Using STaaS can also reduce the costs of testing, through less costly, on-demand pricing.

Page 40: Cloud Testing

STAAS PROCESS

application is tested as a service provided to customers across the Internet.

The customer has a test demand. The demand is sent through the internet to a STaaS provider. After a certain time the STaaS provider sends the customer a test report (figure 1). What happened in between? How did the provider deal with the test demand? For instance did the provider use a ‘real-time STaaS ’or a ‘real enough time STaaS’? In addition, how did the provider deal with other challenges like test infrastructure, 24/7 availability and the communication between customer and himself?

Page 41: Cloud Testing

Examples of today’s existing real-time STaaS are:

Regression subscription to periodically checking the external and internal links

on a web site. Are the links for instance still working correctly and not broken?

Regression subscription for application interfaces in a suite of applications.

Monitoring the health and functionality of the application landscape. Periodically, from various locations (worldwide), execution of performance

measurements of a web site. Testing of SaaS applications through STaaS (e.g. web services collecting

interest percentages or license plate data).

Page 42: Cloud Testing

CLOUD TESTING ENVIRONMENT AND TOOLS

A cloud based testing service that promises to make

high quality testing fast, cheap, and practical.

Cloud9 is the first parallel symbolic execution engine

to run on large shared- clusters of computers, and its

test harness uses the aggregate memory and CPU

resources based on compute utilities like Amazon EC2.

Page 43: Cloud Testing

AN OVERVIEW OF COMMERCIAL CLOUDS

Page 44: Cloud Testing

CONCLUSION AND FUTURE WORK

Page 45: Cloud Testing

EXISTING RESEARCH WORK

Page 46: Cloud Testing

Since 2008:

There are many published papers discussed….

grid-based

Cloud-based software infrastructure,

Design

Management

Technologies

Standards.

However, Very few of articles …discussing

cloud testing

cloud-based application testing.

Page 47: Cloud Testing

Lack of clear understanding about …

cloud testing in terms of concepts

issues

Challenges

and needs.

Page 48: Cloud Testing

REVIEWS OFTHE PUBLISHED PAPERS RELATING TO

SOFTWARE TESTING AS SERVICE AND CLOUD TESTING

Page 49: Cloud Testing

Test modeling for clouds and cloud-based application

Its major objective are:

To present the relationships between

different application services over clouds and external consumer services.

Cloud graph

W.K. Chan present a formal model to present clouds and their associated services

using a graph model, known as cloud graph.

Cloud computation is represented as a set of paths in a sub graph of the cloud such that every edge contains a predicate that is evaluated to be true. As indicated by W. K. Chan, there are no any existing testing criteria for cloud applications even though some testing criteria for service-related systems have been proposed

Page 50: Cloud Testing

SOFTWARE TESTING AS A SERVICE (STAAS)

STaaS definition :

Software Testing as a Service (STaaS) is a model of software testing used to test an application as a service provided to customers across the Internet. By eliminating the need to test the application on the customer's own computer with testers on site, STaaS alleviates the customer's burden of installing and maintaining test environments, sourcing and (test) support. Using STaaS can also reduce the costs of testing, through less costly, on-demand pricing.

Page 51: Cloud Testing

STAAS PROCESS

application is tested as a service provided to customers across the Internet.

The customer has a test demand. The demand is sent through the internet to a STaaS provider. After a certain time the STaaS provider sends the customer a test report (figure 1). What happened in between? How did the provider deal with the test demand? For instance did the provider use a ‘real-time STaaS ’or a ‘real enough time STaaS’? In addition, how did the provider deal with other challenges like test infrastructure, 24/7 availability and the communication between customer and himself?

Page 52: Cloud Testing

Examples of today’s existing real-time STaaS are:

Regression subscription to periodically checking the external and internal links

on a web site. Are the links for instance still working correctly and not broken?

Regression subscription for application interfaces in a suite of applications.

Monitoring the health and functionality of the application landscape. Periodically, from various locations (worldwide), execution of performance

measurements of a web site. Testing of SaaS applications through STaaS (e.g. web services collecting

interest percentages or license plate data).

Page 53: Cloud Testing

CLOUD TESTING ENVIRONMENT AND TOOLS

A cloud based testing service that promises to make

high quality testing fast, cheap, and practical.

Cloud9 is the first parallel symbolic execution engine

to run on large shared- clusters of computers, and its

test harness uses the aggregate memory and CPU

resources based on compute utilities like Amazon EC2.

Page 54: Cloud Testing

AN OVERVIEW OF COMMERCIAL CLOUDS

Page 55: Cloud Testing

CONCLUSION AND FUTURE WORK

Page 56: Cloud Testing