Professional Documents
Culture Documents
1, SEPTEMBER 2011 9
Abstract- Cloud computing not only changes the way Cloud computing not only brings new business
of obtaining computing resources (such as computers, opportunities, but also causes some major impacts on
infrastructures, data storage, and application services), but software testing and maintenance. A major impact is
also changes the way of managing and delivering computing known as Testing as a Service (TaaS) in Clouds. TaaS
services, technologies, and solutions. Cloud computing
cloud infrastructures is considered as a new business and
leads an opportunity in offering testing as a service (TaaS)
for SaaS and clouds. Meanwhile, it causes new issues, service model, in which a provider undertakes software
challenges and needs in software testing, particular in testing testing activities of a given application system in a cloud
clouds and cloud-based applications. This paper provides infrastructure for customers as a service based on their
a comprehensive tutorial on cloud testing and cloud-based demands.
application testing. It answers the common questions raised
by engineers and managers, and it provides clear concepts, Although there are many published papers discussing
discusses the special objectives, features, requirements, cloud architectures, technologies, and models, design, and
and needs in cloud testing. It offers a clear comparative management, cloud testing and TaaS are still new subjects
view between web-based software testing and cloud-based
in software testing community. Hence, test engineers and
application testing. In addition, it examines the major
issues, challenges, and needs in testing cloud-based software quality assurance managers encountered many issues
applications. Furthermore, it also summarizes and compares and challenges in testing modern clouds and cloud-based
different commercial products and solutions supporting applications. Typical questions are listed below.
cloud testing as services.
• What is cloud testing? And what are its special test
Keywords - cloud testing, cloud-based software testing, process and scope, requirements and features?
testing cloud services, performance testing and • What types of cloud testing, environments, and
evaluation, and scalability testing. forms do we need to perform for SaaSs/clouds
and cloud-based applications?
1. INTRODUCTION • What are the major differences between
conventional software testing and cloud-based
Cloud computing received significant attention recently as software testing?
it changes the way computation and services to customers, • What are the special requirements and distinct
For example, it changes the way of providing and features of cloud-based software testing?
managing computing resources, such as CPUs, databases, • What are the special issues, and challenges, and
and storage systems. Today, leading players, such as needs in cloud testing?
Amazon, Google, IBM, Microsoft, and Salesforce.com • What are the current practice, tools, and major
offer their cloud infrastructure for services. players?
In 2010, Garner estimated that “the cloud service market This paper is written to attempt to answer these questions.
will reach $150.1 billion in 2013”. Similarly, Merrill Its primary contribution is to provide a comprehensive
Lynch also predicted that “cloud computing market will tutorial and discussion about cloud testing. The paper
reach $160 billion in 2011”. A recent study of Market introduces basic concepts about cloud testing, including
Research Media forecasts that U.S. government spending its scope, objectives, distinct requirements, features, and
on cloud computing is entering an explosive growth phase benefits. In addition, it covers software testing issues
at about 40% CAGR over the next six years. Expenditure and challenges for clouds and cloud-based applications
will pass $7 billion by 2015. Merrill Lynch estimates that in different perspectives from end-users, vendors, and
within the next five years, the annual global market for application providers. Moreover, it presents a comparative
cloud computing will surge to $95 billion. view between cloud testing and conventional software
10 Gao et al. : Cloud Testing-Issues, Challenges, Needs and Practice
testing. Furthermore, the paper also covers several major traffic for software testing purposes has been an inhibitor
players, and provides a comparative view on emergent to overall Web reliability." Based on our recent literature
technologies and tools in cloud testing as a service. survey, there is a few of published papers addressing
cloud-testing concepts, issues, and challenges.
The rest of this paper is structured as follows. The next
section discusses cloud testing concepts, including The authors in [3] collected some other views about cloud
definitions, objectives, motivation and benefits, testing software testing from practitioners in the real world. They
forms, types, and environments as well as activities. are listed below.
Section 3 is devoted to the discussion about what is new in
cloud testing. It focuses on the new requirements, features, “Cloud testing basically aligns with the concept
and differences between cloud testing and conventional of cloud and SaaS. It provides the ability to test by
software testing. Section 4 examines the primary issues, leveraging the cloud, thereby bringing the same
challenges, and needs in cloud testing. Section 5 reviews benefits that the cloud brings to customers….” (by
the existing emergent technologies, solutions, and tools in Vinita Ananth, Director - APJ Region, HP Software-
software cloud testing. Section 6 reviews the published as-a-Service).
papers in cloud testing and cloud-based software testing.
Finally, the conclusion remarks are given in Section 7. “Testing in the cloud leverages cloud computing
environments and seeks to simulate real-world user
traffic as a means of load or stress testing Web sites.
2. UNDERSTANDING CLOUD TESTING (By Nivedan Prakash)
According to [1], cloud computing provides a cost- “Cloud testing is the answer to the less-than-
effective and flexible means through which scalable realistic performance test that originates within the
computing power and diverse services (computer infrastructure of one of our clients. When we use
hardware and software resources, networks and computing cloud testing, we take advantage of hardware and
infrastructures), diverse application services, business bandwidth that more closely mimics our observed,
processes to personal intelligence and collaboration are real world conditions. Essentially, we execute the
delivered as services to large-scale global users whenever test in cloud-based infrastructure and bandwidth.”
and wherever they need. (R V Ramanan, President – Global Delivery and
Chief Software Architect, Hexaware Technologies)
Cloud computing is the next stage of the Internet evolution.
A typical cloud must have several distinct properties: In short, cloud-based software testing refers to testing and
elasticity and scalability, multi-tenancy, self-managed measurement activities on a cloud-based environment
function capabilities, service billing and metering and infrastructure by leveraging cloud technologies and
functions, connectivity interfaces and technologies. In solutions. It has four major objectives.
addition, a cloud supports large scale user accesses at • To assure the quality of cloud-based applications
distributed locations over the Internet, offers on-demand deployed in a cloud, including their functional
application services at anytime, and provides both virtual services, business processes, and system
and/or physical appliances for customers. There are three performance as well as scalability based on a set of
types of clouds: a) private clouds, which are internal application-based system requirements in a cloud.
clouds based on a private network behind a firewall; b)
public clouds, which are the clouds with public accessible • To validate software as a service (SaaS) in a cloud
services over the Internet; and c) hybrid clouds, which are environment, including software performance,
made of different types of clouds, including public and scalability, security and measurement based on
private clouds. certain economic scales and pre-defined SLAs.
2.2 Why is Cloud Testing Important? • Testing a SaaS in a cloud – It assures the quality
of a SaaS in a cloud based on its functional and
Comparing with current software testing, cloud-based non-functional service requirements.
testing has several unique advantages listed below.
• Testing of a cloud – It validates the quality
• Reduce costs by leveraging with computing of a cloud from an external view based on the
resources in clouds – This refers to effectively provided cloud specified capabilities and service
using virtualized resources and shared cloud features. Cloud and SaaS vendors as well as end
infrastructure to eliminate required computer users are interested in carrying on this type of
resources and licensed software costs in a test testing.
laboratory.
• Testing inside a cloud - It checks the quality of a
• Take the advantage of on-demand test services cloud from an internal view based on the internal
(by a third-party) to conduct large-scale and infrastructures of a cloud and specified cloud
effective real-time online validation for internet- capabilities. Only cloud vendors can perform
based software in clouds. this type of testing since they have accesses to
internal infrastructures and connections between
• Easily leverage scalable cloud system its internal SaaS(s) and automatic capabilities,
infrastructure to test and evaluate system (SaaS/ security, management and monitor.
Cloud/Application) performance and scalability.
• Testing over clouds – It tests cloud-based service
IBM reported the experience on cloud testing in small applications over clouds, including private,
business division, where a flexible and cost-efficient public, and hybrid clouds based on system-
cloud-based development and testing environment is level application service requirements and
implemented, and cloud testing has demonstrated the specifications. This usually is performed by the
following major benefits in [19]. cloud-based application system providers.
of provided application services in a system-oriented test program). These engineers must go through unit
view in a given cloud infrastructure where different cloud- testing, integration, system function validation
based applications may interact with each other. They and regression testing, as well as performance
need to perform different testing tasks to assure the quality and scalability evaluation. Since clouds and
of the cloud-based application systems over clouds, such SaaS usually provide certain service APIs and
connectivity interfaces to their customers, it
as cloud-based application integration, end-to-end system
is required task for engineers to validate these
function testing, system performance and scalability over APIs and connectivity in a cloud environment.
different clouds. The detailed testing tasks are discussed in In addition, testing cloud-based or SaaS-based
the rest part of this section. security services and functional features must
be tested. Furthermore, performance testing and
scalability evaluation in a cloud is very important
As shown in Figure 2, there are three types of cloud test
and critical to cloud/SaaS vendors because this
environments: assures the quality of cloud elasticity to support
SaaS and cloud services inside a cloud. Table 1
• A cloud-based enterprise test environment, in shows the detailed testing tasks.
which application vendors deploy web-based
applications in a cloud to validate their quality in • Online-based application testing on a cloud -
a cloud infrastrutcure. This type of testing activities usually is performed
to check online application systems on a cloud
by using with cloud-based large-scale traffic and
• A private/public cloud test environment, in which user accesses. This is a common usage of cloud
vendors deploy SaaS applications SaaS in a technology to help current online application
private (or public) cloud to validate their quality. vendors to conduct online-based system function
testing and performance evaluation on a cloud
• A hybrid cloud test environment, in which by taking the advantage of cloud environment
vendors deploy cloud-based applications on a so that diverse and scalable computing resources
hybrid cloud infrastructure to check their quality. in a cloud can be used without using any in-
house test laboratory. When applications are
connected with legacy systems, the quality of the
connectivity between the legacy systems and the
under-test application deployed on a cloud must
be validated. Table 1 shows the detailed tasks.
TABLE 1
COMPARATIVE VIEW AMONG DIFFERENT PARTIES
On-Demand
TaaS Service
Test/QoS Test
REQs & SLAs Modeling and
Adequacy
Frameworks Price
and Tools Modeling &
Billing
Test Simulation
& Generation
3. WHAT ARE THE NEW FEATURES IN CLOUD TESTING? dynamic on-demand testing services in/on/over clouds
for the third-parties at any time and all time (365/7/24).
Unlike testing conventional web-based software, testing One of the primary objectives is to reduce the IT budget
clouds and cloud-based software has several unique testing of businesses to focus their core businesses by outsource
quality assurance objectives, requirements, and distinct software testing tasks to a third party using TaaS service
features. This section is dedicated to these subjects. Figure model [25]. According to Wikipedia, TaaS involves the
3 shows the primary contents in the scope of cloud testing. on-demand test execution of well-defined suites of test
material, generally on an outsourced basis. The execution
3.1. New Requirements and Features in Cloud Testing can be performed either on client site or remotely from the
outsourced providers test lab/facilities.
There are four new requirements and features in cloud
testing. According to URL://http://www.tieto.com/, testing as a
• Cloud-based testing environment – This refers to service (TaaS) was initially introduced as a concept by
use a selected cloud infrastructure (or platform) Tieto in Denmark in 2009, and its solution of TaaS was
as a base to form a test bed equipped with diverse nominated by IBM for the Software Innovation Award
and scalable computing resources, system 2009. Now TaaS has received wide attention due to
infrastructures, and licensed tools, which are its advantage in its scalable testing environment, cost
allocated using auto-provision based on static/ reduction, utility-based service models, and on-demand
dynamic requests. Both virtual and physical testing services.
computing resources can be included and
deployed inside. QoS REQ
Management
• Price models and service billing – Since utility FIGURE 4. THE WORKFLOW OF TAAS
computing is one of basic concepts and features
in cloud computing, so price models and utility As shown in Figure 4, the work-flow of TaaS includes the
billing becomes basic parts and service for testing following major TaaS service capabilities.
as a service. In other words, required computing
resources and infrastructures (including tools), • TaaS process management, which offers test
and testing task services will be charged based on project management and process control.
pre-defined cost models and
• QoS requirements management, which supports
• Large-scale cloud-based data and traffic book keeping and modeling of software testing
simulation - Applying and simulating large- and QoS requirements, including quality
scale online user accesses and traffic data (or assurance modeling.
messages) in connectivity interfaces is necessary
• Test environment service, which provides on-
in cloud testing, particularly in system-level
demand test environment services to establish
function validation and performance testing.
the required virtual (or physical) cloud-based
computing resources and infrastructures, as well
3.2. Testing as a Service (TaaS)
as the necessary tools.
There are several distinct features in cloud testing. • Test solution service, which offers diverse
One of them is testing as a service (TaaS). This is an systematic testing solutions (such as, test
innovative concept, and it refers to providing static/ modeling and test methods), and test-ware
Software Engineering : An International Journal (SEIJ), Vol. 1, No. 1, SEPTEMBER 2011 15
generation and management services. • TaaS pricing and billing, which enables TaaS
• Test simulation service, which establishes on- vendors to offer customers with selectable testing
demand test simulation environments with service contracts based pre-defined pricing
selected facilitates (such as tools), and supports models, and billing service.
the necessary test data/message generation.
3.3. Cloud Testing VS. Conventional Software Testing
• On-demand test service, which provides on-
demand test execution services based on selected Here, we compared the similarities and differences
schedules and test wares. between conventional software testing in cloud testing.
• Tracking and monitor service, which allows test Table 2 shows the details in different aspects.
engineers to track and monitor diverse program
behaviors at different levels in/on/over clouds for
the testing purpose.
TABLE 2
SOFTWARE TESTING AND CLOUD-BASED SOFTWARE TESTING
4. OPPORTUNITIES, ISSUES, CHALLENGES, AND NEEDS evaluation metrics, frameworks, and solutions
did not consider the special features in cloud
To effective perform cloud testing, it is very important to testing, such as dynamic scalability, scalable
understand the primary issues, potential challenges and testing environments, SLA-based requirements,
needs. This section first discusses the primary issues and and cost-models.
challenges, and then summarizes the essential needs in
cloud testing. As pointed out by [23], large internet-based • Testing security and measurement in clouds –
solution vendors (like IBM) have identified the priority Security testing has becoming a hot research
and cost-reduction opportunities in cloud testing service subject with many open questions in current
for large-scale internet-based applications and could- software testing community. Since security
based applications in the near future. becomes a major concern inside clouds and
security services become a necessary part in
4.1. Issues and Challenges in Cloud Testing modern SaaS and cloud technology, engineers
must deal the issues and challenges in security
There are a number of issues and challenges in testing validation and quality assurance for SaaS
clouds and cloud-based software. Here we discuss them and clouds. Here are some related issues and
from the following four areas. challenges:
• On-demand test environment construction – How o How can we assure the security of cloud-
to set up a testing environment systematically based application processes and business
(or automatically) for on-demand testing data inside a third-party cloud infrastructure
services in a cloud? Although the current cloud [17]?
technologies support automatic provision of o What are the QoS standards for security-
required computing resources for each SaaS (or oriented quality assurance for end-to-end
application) in a cloud, there are no supporting application process and related business data
solutions to assist engineers to set up a required in/on/over clouds?
test environment in a cloud using a cost-effective o What are the test models, test adequacy, test
way. It is necessary to provide an on-demand test techniques and tools for security testing for
environment for TaaS customers. To do this, TaaS end-end applications in/on/over clouds?
vendors need to provide a systematic solution o How can we assure and assess user privacy
to establish a required test environment based in a cloud infrastructure [18]?
on the user’s selection. In addition, engineers
also found that there is a lack of cost-effective • Integration testing in clouds - Although we
solutions for them to easily leverage their cloud- have seen numerous published research papers
based applications (or SaaS) in a cloud with the addressing software integration testing issues
existing test tools because most of them are not and strategies, not much research results have
cloud-enabled. been applied in the real engineering practice.
One of the major reasons is the existing
• Scalability and performance testing - Although software and components are developed without
many published papers discuss system enabling technology and solution to support and
performance testing and scalability evaluation facilitate systematic software integration. In a
in the past two decades, most of them address cloud infrastructure, engineers must deal with
issues and solutions in conventional distributed integration of different SaaS and applications in/
software or web-based software systems. over clouds in a black-box view based on their
According to our recent literature survey on provided APIs and connectivity protocols. This
this subject, most existing papers focus on could cause a lot of extra integration costs and
scalability evaluation metrics and frameworks difficulties due to the following issues.
for parallel and distributed systems [19][20][21]
[22]. Since these systems are set up with pre- o There is a lack of well-defined validation
configured system resources and infrastructures, methods and quality assurance standards
performance testing and scalability evaluation are to address the connectivity protocols,
usually conducted in a static and pre-fixed system interaction interfaces, and service APIs
environment (such as a test lab.), so the existing provided by SaaS and clouds APIs.
Software Engineering : An International Journal (SEIJ), Vol. 1, No. 1, SEPTEMBER 2011 17
o There is a lack of cost-effective integration scalability (such as scale-up and scale-down) and
solutions and framework to facilitate system performance (such as improvement and
software application integration and degradation). These models and metrics must
assembly inside clouds and over clouds. address scalable computing resources, dynamic
system loads, and pre-defined economic sales
• On-demand testing issues and challenges - (cost/price models).
In TaaS, software testing services must be
controlled and managed based on on-demand • Adequate integration models and criteria – To
testing requests. This kind of new testing service address software integration issues in cloud
model raised several issues and challenges. testing, engineers need adequate test models and
criteria addressing three types of integration in
o What is the automatic test process for TaaS cloud testing:
to support on-demand automation testing?
o What are the well-defined cost models for o Cloud-based connectivity protocols and
testing as a service? APIs crossing clouds
o How can engineers use a systematic approach o SaaS (or application) APIs and interactions
to model and define QoS requirements? to legacy systems outside clouds
o What are the intelligent approaches to coping o End-to-end application integration crossing
with the failures of software testing scripts/ clouds
test cases in an on-demand testing process?
Need #2: TaaS test processes and QoS standards
• Regression testing issues and challenges –
Supporting on-demand software validation in Today’s commercial SaaS and clouds provide different
clouds must address the regression testing issues types of Service Level Agreement (SLA) for users.
and challenges caused by software changes and However, both vendors and users need well-defined
bug-fixing. However, most existing research in testing and quality assurance standards as a theoretic
software regression testing pays most attention base to establish fair and sound service level agreements
to re-test a specific software version in a pre- between them. Here are some specific examples.
configured test environment. The multi-tenancy
feature of clouds may cause the difficulty to • Although application system and data security
apply the exsiting research work in cloud testing, should listed as a part of requirements for SaaS
specially for on-demand software regression and clouds, today’s cloud technologies and major
testing service whenever software changes. players only list the security requirements for
In addition, we also lack of dynamic software cloud infrastructure. One major reason is the lack
validation methods and solutions to address the of testing and QoS standards that address cloud
dynamic features of SaaS and clouds, for example and SaaS security in different aspects including,
automatic provisioned/de-provisioned features. application data security, end-to-end transaction
security, business process security, and user
4.2. Major Needs in Cloud Testing privacy.
There are a number of major needs in cloud testing. They • Since TaaS is a new concept and service model
are discussed below. for software testing, there is a lack of well-
defined TaaS processes and QoS standards for
Need #1: Adequate test models and criteria on-demand testing services, for example, price
models.
To effectively support cloud testing, engineers need new
adequate test models and criteria in the following areas. Need #3: Innovative test methods and solutions
• Scalability models for SaaS/Cloud-based The new features and new requirements of cloud-based
Applications - Engineers need well-defined applications and SaaS bring some demands on new test
adaptive test models and evaluation metrics methods and solutions.
for scalability and performance testing in
clouds to validate and measure dynamic system
18 Gao et al. : Cloud Testing-Issues, Challenges, Needs and Practice
TABLE 3
A COMPARISON VIEW ABOUT CLOUD TESTING PODUCTS, SOLUTIONS AND SERVICES FROM FOUR MAJOR PLAYERS
Test - Web 2.0, SOA, - Crossing browser - Agent-less approach for - Continuous validation
Monitoring and RIA, Ajax, Flex Flash monitoring open network protocols monitor
Virtualization Applications - Script-based test - Agent-based approach - End-to-end transparency
- BPM service monitoring monitoring for connections inside a and monitor of application
- Web REST service - Project status monitoring firewall behaviors at different
- Script report and monitor - Resource monitoring levels
- Performance monitoring
Test - Agile Test-First - Script-based execution - Real-time playback - Continuous and event-
Methodology Methodology - Record and replay - Record and replay based validation
and Solutions - Script-based test - Script-based test - Visual test creation, - Complete and collaborative
development development edition, and assembly test
- Record and replay
Interoperability HTML, Ajax, Web 2.0, IE (version 6-8), Firefox Internet Explorer, Firefox, No details
and Web Flex, and Flash Apple Safari, Google Safari, HTML, Ajax, and
Browsers & Chrome, and Opera JSON,
Technology
- Support Java, Jython, - Create, edit, execution, No detailed information Code-less test generation
Scripting Ruby and dynamic snippet of Selenium scripts available except Selenium from users’ perspectives
scripting languages - Upload/import/export
scripts
Test Execution - Single and current test - Scheduled and manual - Scheduled and manual test - Visual scheduled test
Support execution threads - Grouped/multi browsers execution control execution
- Script-based test - Grouped scripting and - Visualized test running & - Event-based test execution
execution their test execution control control and regression
Connectivity Ajax, Flex, Flash, SOAP - Script-Based Test API - SOAP, REST, HTTP(S) Integration to most J2EE
and API Support and REST, XML-RPC, - HTTP(S) - SSH, SNMP, RMI servers, integration suites,
HTTP(s), ESB/Message and ESBs
Queues
Service costs - Pay as you test - Pay as you test - Pay as you test - Pay as you test
- Monthly subscription ($75 for 500 tests)
5. CURRENT TECHNOLOGIES, SOLUTIONS, AND MAJOR performance evaluation using scalable system
PLAYERS appliances inside a firewall. According to its
website and white papers, SOASTA provides
Since 2008, testing as a service (TaaS) and cloud testing a management console with powerful browser
become hot topics in industry. IBM and Hewlett-Packard recorder and script editor, which allows testers to
have jumped into the market for cloud testing in clouds. edit, assembly and group test scripts easily with
Meanwhile, there is a handful of startups already offer a visual interface. In addition, SOASTA supports
their solutions on-premises testing on clouds. Based on our test engineers to validate large-scale web
recent survey of related industry products and services, we applications and services with many web pages,
summaries several leading technologies and solutions by messages and events. These web applications
major players here. A comparative view is given in Table may support tens or hundreds of thousands of
3. users, and have a variety of connectivity protocol.
Such as HTML, SOAP, REST, HTTP, Ajax and
• SOASTA – As a precursor on cloud testing so on. Although there is no price list posted on
market, SOASTA has its unique cloud testing the website for on-demand service testing, but
product family (known as SOASTA CloudTest™) customers can buy CloudTest Appliance or On-
to support common web application tests in Demand version.
performance and load testing, function testing,
and UI testing either inside a firewall or inside • iTKO – As one major player in cloud testing
"The Cloud". Their on-demand testing service service, iTKO provides its customers with a
(as a resident in the Cloud) offers users with a LISA product suite. It focuses on development
scalable cloud testing environment at affordable and testing service for cloud applications. iTKO's
costs for testing service. In addition, SOASTA’s LISATM Test is an integrated and collaborative
CloudTest-Appliance, allows customers automated testing solution designed for Cloud
perform affordable load testing and end-to-end
20 Gao et al. : Cloud Testing-Issues, Challenges, Needs and Practice
applications and other distributed application With Cloud Testing’s solutions, customers can
architectures that leverage SOA, BPM, focus on their work in web-based application
integration suites, and ESBs. It provides testers development, testing and execution.
a codeless testing environment allows QA
and engineers to develop tests for unit testing, • Push To Test – This is a small startup business
function testing, integration, regression, as well focusing on testing services for Grid-based and
as performance and load validation. According Rich Internet applications (using Ajax, Flex,
to the posted information, LISA TM Virtualize Flash) and SOA-based application systems. Its
eliminates system dependency constraints by major product is TestMaker, which is designed
"virtualizing" or capturing and modeling since it to support the validation of distributed web-
is able to simulate a targeted system's dynamic based applications with test scripts developed
behavior, performance and data so that it reacts in different scripting languages, such as Java,
and responds the same as the live system. Jython, and Ruby. The current version of
Using LISA Virtualize, test and development TestMaker focuses on function testing and load
teams are able to concurrently perform tests in testing. According to PushToTest, its TestMaker
24/7/365 to shorten their test process cycles. As works with a number of open-source testing
one of important solutions of iTKO, LISATM tools, such as SoapUI, Selenium, HTMLUnit,
Validate provides continuous or event-based Glassbox, SpikeSource, and Appcelerator. Now,
end-to-end function and performance validation PushToTest is moving to support cloud testing
for components, servers, and SaaSs over a by offering its OnDemand cloud testing solution
cloud infrastructure to reduce the risks and based on third-party cloud technology and
unintended consequences of change. iTKO’s environment, such as Amzon EC2. According to
LISATMPathfinder offers the visualization PushToTest, it also provides different monitoring
for cloud-based applications so that end-to- services to customers through a number of
end business application processes and system connectivity protocols, including Ajax, Flex,
behaviors can be monitored and virtualized. This Flash, SOAP and REST. In addition, it offers
will removes critical accessibility and capacity protocol handlers of XML-RPC, ESB/Message
constraints, while dramatically reducing the Queues, and HTTP.
impact of complexity and change in the Cloud.
Comparing with the products from other vendors, Clearly, these vendors are the pioneer in cloud testing.
LISA’s virtualization and validation solutions are There is still a long way to go to address the open issues,
essential for realizing elastic Cloud Application needs, and challenges in cloud testing because none
development and test environments. of them has any solutions to cope with security testing,
automatic validation, dynamic integration, and scalability
• Cloud Testing – Cloud Testing develops cloud- evaluation, as well as quality assurance standards and test
based testing solutions focusing on large-scale adequacy for cloud-based applications and infrastructures.
web-based application testing by leveraging with
cloud infrastructures. It offers different web-based 6. EXISTING RESEARCH WORK
testing crossing different browsers, including
IE, Firefox, Opera, Chrome, and Sadari. Cloud Since 2008, there are many published papers discussed
Testing allows engineers to create and maintain grid-based and cloud-based software infrastructure,
test scripts manually or to use the record-and- design, management, technologies, and standards.
replay approach. Cloud Testing offers three types However, there is a very few of articles discussing cloud
of testing services to allow developers, testers testing and cloud-based application testing. Although there
and website managers to automate and speed up are a number of vendors offering cloud testing services to
the testing and archiving of their websites using support cloud-based applications, there is a lack of clear
real browsers from the cloud. These include: a) understanding about cloud testing in terms of concepts,
cross browser testing, b) website archiving, and issues, challenges, and needs. This section briefly reviews
c) function testing. According to Cloud Testing, the published papers relating to software testing as service
it provide and delivers its services in a SaaS and cloud testing.
(Software as a Service) model, so its customers
have no need to invest in computing hardware, • Test modeling for clouds and cloud-based
software or consultancy before software testing. applications - T. Vengattaraman et al. in [2]
Software Engineering : An International Journal (SEIJ), Vol. 1, No. 1, SEPTEMBER 2011 21
propose their initial work on modeling of cloud- their experience and benefits in cloud testing
based application environment for software by leveraging cloud software and environments
testing by focusing On-Premises Applications [14].
over clouds. Its major objective is to present
the relationships between different application • Cloud testing environment and tools - Liviu
services over clouds and external consumer Ciortea et al. in [13] introduce Cloud9, a cloud-
services. The details about how to use this model based testing service that promises to make high-
in cloud testing are not addressed yet. W.K. Chan quality testing fast, cheap, and practical. Cloud9
et al. in [5] present a formal model to present is the first parallel symbolic execution engine to
clouds and their associated services using a graph run on large shared- clusters of computers, and its
model, known as cloud graph. Cloud computation test harness uses the aggregate memory and CPU
is represented as a set of paths in a subgraph resources based on compute utilities like Amazon
of the cloud such that every edge contains a EC2. The paper reports their initial prototype
predicate that is evaluated to be true. As indicated results. In addition, some initial cloud-based test
by W. K. Chan, there are no any existing testing experiments are reported.
criteria for cloud applications even though some
testing criteria for service-related systems have
7. CONCLUSION AND FUTURE WORK
been proposed [8].Our recent literature survey on
cloud software testing has confirmed this.
Cloud testing is becoming a hot research topic in cloud
computing and software engineering community. As the
• Software testing as a service (STaaS) – Leo van advance of cloud technology and testing as services, more
der Aalst in [12] provides his STaaS definition, research work must be done to address the open issues
process, infrastructure and some experience and challenges in cloud testing and TaaS. More innovative
results. In [5], Leah Muthoni Riungu et al. reports testing techniques and solutions, and QoS standards are
their recent study on software testing as online needed to support on-demand testing services in a scalable
services from practitioners in the industry. The cloud infrastructure. This paper provides a comprehensive
paper summarizes the findings based on their review and tutorial on cloud testing by discussing the related
Interviews with software testing providers and concepts, issues, and challenges. The major contributions
customers. The underlying research question of this paper include its insightful discussion about cloud
was: “What conditions influence software testing testing in terms of its special requirements, benefits, and
as an online service?” Based on the received features as well as the comparison with conventional
responses, they discuss the requirements, testing. Moreover, cloud testing opportunities, current
benefits, challenges, and some research issues major players, and existing research work are reviewed.
from the perspectives of online business vendors
and practitioners. Yang Yang at al. [11] discussed ACKNOWLEDEGMENT
that software testing can be conceptualized as a
service rather than being viewed as a sequential This research project was funded by Sun Microsystems in
line of responsibility in software development. 2009 and Tsinghua National Laboratory for Information
In their view, TaaS has two key aspects: (1) a Science and Technology (TNList) in 2010.
service to developers, and (2) a service to end
users. Their paper discusses software testing REFERENCES
as a service from software quality assurance
[1] J. Hurwitz, M. Kaufman, and R. Bloor, “Cloud Computing for
perspectives. George Candea, et al [7] discusses Dummies,” Wiley Publishing, Inc. 2010.
three types of TaaS services. These include (1) a
public certification service, which independently [2] T. Vengattaraman, P. Dhavachelvan, R. Baskaran, “Model of Cloud
assesses the reliability, safety, and security Based Application Environment for Software Testing,” (IJCSIS)
International Journal of Computer Science and Information
of software; (2) a "home edition" on-demand Security, Vol. 7, No. 3, 2010.
testing service for consumers before product
deployment; and (3) a "programmer's sidekick" [3] Leah Muthoni Riungu, Ossi Taipale, Kari Smolander, “Software
enabling developers to thoroughly and promptly Testing as an Online Service: Observations from Practice,” In Third
International Conference on Software Testing, Verification, and
test a developed program with minimal upfront Validation Workshops (ICSTW), 418-423, 2010.
resource investment. Recently, IBM reports
22 Gao et al. : Cloud Testing-Issues, Challenges, Needs and Practice
[4] Tauhida Parveen, Scott Tilley, “When to Migrate Software Testing [20] A.Y. Grama, A. Gupta, V. Kumar, Isoefficiency: “Measuring
to the Cloud?,” In Third International Conference on Software the Scalability of Parallel Algorithms and Architectures,” IEEE
Testing, Verification, and Validation Workshops (ICSTW), 424- Parallel and Distributed Technology, 12-21, Aug. 1993.
427, 2010.
[21] L. Duboc, D. S. Rosenblum, and T. Wicks, “A Framework for
[5] W. K. Chan, Lijun Mei, Zhenyu Zhang, “Modeling and Testing of Modeling and Analysis of Software Systems Scalability,” In 28th
Cloud Applications,” In 2009 IEEE Asia-Pacific Service Computing International Conference on Software Engineering (ICSE’06),
Conference (APSCC 2009), Singapore; Dec 7-11, 2009. May 20–28, Shanghai, China, 2006.
[6] Liu Gu, Shing-Chi Chenug, “Constructing and testing privacy- [22] Y. Chen and X. Sun, “STAS: A Scalability Testing and Analysis
aware services in a cloud computing environment: challenges System,” in IEEE International Conference on Cluster Computing.
and opportunities,” In the First Asia-Pacific Symposium on Available at:http://ieeexplore.ieee.org/, 1-10, 2006.
Internetware, Beijing, China, 2009.
[23] G. Candea, S. Bucur, and C. Zamfir, “Automated software testing
[7] George Candea, Stefan Bucur, Zamfir Cristian, “Automated as a service,” In the 1st ACM symposium on Cloud computing
Software Testing as a Service (TaaS),” In the 1st ACM Symposium (SoCC '10), 2010.
on Cloud Computing, 2010.
[24] L. Ciortea, et al, “Cloud9: a software testing service,”ACM SIGOPS
[8] H. Lu, W. K. Chan, and T. H. Tse., “Testing pervasive software Operating Systems Review, vol. 43, no. 4, January, 2010.
in the presence of context inconsistency resolution services,” In
the 30th International Conference on Software Engineering (ICSE [25] P. Williams, “Value versus cost: governing IT on a reduced budget”,
2008), 61–70, 2008. ComputerWeekly.com, Friday 08, February 2002.
[9] G. Goth, “Googling test practices? Web giant’s culture encourages ABOUT THE AUTHORS
process improvement,” IEEE Software, vol. 25, no. 2, 92-94, 2008.
[14] “IBM Smart Business Development and Test Cloud,” IBM Global He has published widely in IEEE/ACM journals and
Technology Services, 2010. URL: http://www935.ibm.com/
services/us/index.wss/offering/midware/a1030965
International conferences. He has co-authored three
technical books in software engineering and mobile
[15] Y Liu, “Testing as a Service over Cloud,” In the Fifth IEEE computing, published by IEEE Computer Society Press,
International Symposium on Service Oriented System Engineering, Artech publishing House, and Wiley. Meanwhile, he also
2010.
edited numerous conference proceedings for international
[16] Lian Yu, Shuang Su, Jing Zhao, et al, “Performing Unit Testing conferences and workshops. Up to now, he has over 110
Based on Testing as a Service (TaaS) Approach,” In the published referred technical papers in IEEE/ACM journals,
International Conference on Service Science (ICSS), 2008. magazines, and international conferences and workshops.
[17] B. Wrenn, CISSP, ISSEP, “Unisys Secure Cloud Addressing the
One of the books is listed as one of the Bestsellers in
Top Threats of Cloud Computing,” (white paper). 2004 and 2005. In addition, he has published numerous
book chapters, and edited a number of special issues
[18] AppLabs, “Testing the Cloud,” white paper, Internet: http://www. for archived journals, and served as an editorial board
applabs.com/html/TestingtheCloud_786.html.
member and an associate editor for several international
[19] P. Jogalekar , M. Woodside. “Evaluating the scalability of distributed journals in software engineering and electronic commerce.
systems,” IEEE Trans. Parallel and Distributed Systems, vol. 11, Since 2005, he has been very active in organizing many
no. 6, 589–603, 2000. international professional conferences and workshops as
a conference chair, co-program chair, and workshop chair,
Software Engineering : An International Journal (SEIJ), Vol. 1, No. 1, SEPTEMBER 2011 23