Novel Testing Tools for a Cloud Computing Environment-A Review

ISSN: 2321 – 2381 © 2013 | Published by The Standard International Journals (The SIJ) 83 Abstract—A cloud is an internetwork of different types of server which share resources. To manage, compute resources and services available in the cloud, a model is required, which is known as cloud computing model. To build an economic, efficient and scalable cloud computing model, a good testing tool is needed. For this, there is need of several thousand test cases for a large scale cloud computing system. Software Testing tools that are basically used for testing of conventional applications are of little use when it is applied to cloud computing. However, traditional testing tools are available in market but to test cloud incurs high cost to simulate user activity from different geographic locations. To test the cloud based software systems, modern techniques and tools are necessary to address quality aspect of the cloud infrastructure. A growing variety of Cloud based Open Source Software Testing Tools are being invented. Five major Cloud computing testing tools available in market are CloudTest, LoadRunner, CloudTestGo, TestMaker and Cloud9. The work mainly focuses on the introduction, characteristics and advantages of five major Novel tools available.


INTRODUCTION
LOUD computing is a model for convenient and ondemand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management efforts [Prince Jain, 2012; Prince Jain et al., 2013].The aim of the cloud computing is to provide scalable and inexpensive ondemand computing infrastructures with good quality of service levels [Prince Jain et al., 2011].
Cloud testing is a form of testing in which web applications uses cloud computing environment and infrastructure to simulate real world user traffic by using cloud technologies and solutions.Cloud testing basically aligns with concept of cloud and SaaS.Cloud testing provides with the ability to test cloud by using the cloud infrastructure such as hardware and bandwidth that more closely simulate real world conditions and parameters.In simple words, Testing a Cloud refers to the verification and validation of applications, environments and infrastructure that are available on demand by conforming these to the expectations of the cloud computing business model [Prince Jain, 2012; Prince Jain et al., 2013].Cloud Testing is defined as testing as a Service (TaaS).TaaS is considered as a new business and service model, in which a provider undertakes software testing activities of a given application in a cloud infrastructure for customers.TaaS can be used to validation of various products owned by organizations that deal with testing products and services which are making use of a cloud based licensing model for their clients.
To build an economic, efficient and scalable cloud computing network, a good testing tool is needed.The number of tests cases for a large scale cloud computing system can range from several hundred to many thousands which requiring significant computing resources, infrastructure and lengthy execution times [Vinaya Kumar Mylavarapu, 2011; Sergiy Vilkomir, 2012].Software Testing tools that are basically used for testing of conventional applications are of little use when it is applied to cloud computing.A traditional software testing approach to test cloud includes high cost to simulate user activity from different locations.Moreover, testing firewalls and load balancers involves expenditure on hardware, software and its maintenance [Sergiy Vilkomir, 2012].Traditional approaches to reduce the execution time by excluding selected tests from the suite [Neha Mehrotra, 2011].
To test the cloud based software systems, techniques and tools are necessary to address quality aspect of the cloud infrastructure such as massive scalability and dynamic configuration.The tools can also be built on the cloud platform to benefit from virtualized platform and services, massive resources, and parallelized execution.Major These tools are discussed and explored in the following sections.Issues and characteristics of traditional testing tool used for cloud computing in discussed in Section 2.

Traditional Cloud Testing Tools
Customer wants the speed and cost-effectiveness of a cloud server, for this, developer sacrifice performance, control and flexibility to scale.Software Testing tools that are used for testing of conventional applications are of little use when applied to Cloud Testing as there is a need for tools to allow Software developers and Tester to analyze the network, desktop and implications of changes within the Cloud.A growing variety of Cloud based Open Source Software Testing Tools are being published.Cloud computing offers an alternate solution to this problem by the use of virtualized hardware, effectively unlimited storage and software services that reduce execution time of large test suites in a cost effective manner [Eljona Proko & Ilia Ninka, 2012].A traditional approach to test cloud incurs high cost to simulate user activity from different geographic locations.Moreover, testing firewalls and load balancers involves expenditure on hardware, software and its maintenance.In case of applications where rate of increase in number of users is unpredictable or there is variation in deployment environment depending on client requirements, cloud testing is more effective.Traditional approaches to reduce the execution time by excluding selected tests from the suite.Cloud test platform provides an infrastructure for resource sharing, software hosting and service delivering in a pay-per-use manner.To test the cloud based software systems, techniques and tools are necessary to address quality aspect of the cloud infrastructure such as massive scalability and dynamic configuration.The tools can also be built on the cloud platform to benefit from virtualized platform and services, massive resources, and parallelized execution.It identifies the needs for cloud testing tools including multilayer testing, SLA-based testing, large scale simulation, and on-demand test environment.To address the needs, it investigates the new architecture, designing techniques, testing tools, migrated conventional tools, research tools, commercial tools and benchmark.

SOASTA CloudTest
Today's performance engineers and quality assurance professionals are being asked to test web sites and mobile applications faster and more rigorously but in a less cost.In a world with rapid product development cycles, event-based marketing and growing access by mobile devices, SOASTA's CloudTest product provides customer business critical web and mobile applications that will function correctly and reliably even under extreme loads.CloudTest is the one of the fast, scalable and affordable cloud testing tool.CloudTest is a cloud computing testing single and integrated platform especially for functional and performance testing provided by SOASTA [Sergiy Vilkomir, 2012; Prakash & Gopala Krishanan, 2012].
CloudTest is a patented visual test creation environment which enables rapid creation and editing of test cases even for most complex tests.In CloudTest, tests cases can be distributed globally executed at any scale and run affordably.These test cases use real-time analytics having immediate and actionable intelligence and available as on-demand service in the cloud or in a physical or virtual appliance.CloudTest is a seamless integration of test design, monitoring, and reporting test cases which offers everything that a service provider wish to test which ultimately delivers high quality web applications and services at an affordable price

HP LoadRunner
HP LoadRunner is an automated testing and performance product from Hewlett Packard (HP) for examining system behavior and performance in actual load.LoadRunner can simulate thousands of concurrent users so that application can be simulated by real life user loads while collecting information from key infrastructure components.LoadRunner supports various application protocols such as Flex AMF, Citrix ICA, Remote Desktop Protocol (RDP), ERP/CRM, Mail Clients, Web Services and AJAX TruClient.LoadRunner trial version supports various environments and wide range of technologies for user to start software testing for a load testing applications.LoadRunner is the de facto integrated software testing tool which built for ease of use but also has powerful flexibility [Vinaya Kumar

SOA
LoadRunner software allows user to prevent application performance problems by detecting bottlenecks before a new system or upgrade is deployed.The testing solution LoadRunner enables user to test rich Internet applications, Web 2.0 technologies, ERP and CRM applications, and legacy applications.It gives you a picture of end-to-end system performance so that user can verify that new or upgraded applications meet performance requirements.And it reduces hardware and software costs by accurately predicting application scalability and capacity [Sergiy Vilkomir, 2012; http://www.load-testing-tools.com/loadrunner.html,HP LoadRunner, 2013].
HP announced that an on-demand version of the application performance testing software would be available via Amazon Elastic Compute Cloud.LoadRunner in the Cloud is offered as beta software in the U.S. and is available with pay-as-you-go pricing.The software is intended for performance testing for businesses of very big size [Neha Mehrotra, 2011; HP LoadRunner, 2013].

CSS CloudTestGO
Enterprises today are continuously challenged in managing the performance of their applications to deliver desired services.This requires great investments in infrastructure,

III. CONCLUSION AND FUTURE SCOPE
New types of testing tools will be needed because of service provider cannot do testing with the software and application development testing tools for a LAN.Tool Provider needs tools that understand the network and desktop implications as cloud computing is a big market coming down road.However, there is good bunch of cloud computing testing platform available but still there is need for improvement in it and require new tools which test all aspect and service in a cloud network.Based on the analysis of state-of-the-art practices, the paper further investigates future trend of testing tool research and development from both capability and usability perspectives.

Figure 1 :
Figure 1: A Snapshot of SOASTA's CloudTest CloudTest helps in building, executing and analyzing performance tests on a single, powerful and intuitive platform.CloudTest provides cloud-based testing services and browser-based website testing product which simulates thousands of users visiting a website simultaneously.Website tests include load testing, software performance testing, functional testing and user interface testing.CloudTest allows customers to use predefined tests or create customized tests to automatically test their web applications [http://www.soasta.com/testing-solutions/performance-andload-testing-tools/;SOASTA, 2012].

Figure 4 :
Figure 4: Characteristics of Parasoft's SOA Parasoft provides the basic testing functionality such as static analysis through WSDL testing, functional testing, unit testing, regression testing, security testing and load testing.Parasoft introduced the concept of Service virtualization using the server emulation and stubs [SOASTA, 2012].This service virtualization functionality is available in Parasoft Virtualized and used by many organizations such as Cisco, IBM, HP, Fidelity, Bloomberg, Vanguard, AT&T, IRS, CDC and Sabre [http://www.soasta.com/testingsolutions/performance-and-load-testing-tools/].

Figure 5 :
Figure 5: A Snapshot of HP LoadRunner resources and buying expensive software in creating test environment they need [Vinaya Kumar Mylavarapu, 2011; Sergiy Vilkomir, 2012].CSS Corporation provides CloudTestGo with the help of performance engineering expertise.CloudTestGo is an on-demand Cloud Performance Testing solution that enables Load testing of products including web, non-web applications and services in the Cloud.Using CloudTestGo, enterprises can quickly create a real world Load Testing environment without using any complex infrastructures, new hardware and expensive software licensing in a cost-effectively manner [Neha Mehrotra, 2011; Stefan Bucur et al., 2011].
SIJ Transactions on Computer Science Engineering & its Applications (CSEA), Vol. 1, No. 3, July-August 2013 Cloud9 is 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 [Neha Mehrotra, 2011; Stefan Bucur et al., 2011; Liviu Ciortea et al., 2013].