Cloud Testing, Advantages and Challenges

DOI : 10.17577/IJERTCONV4IS06012

Download Full-Text PDF Cite this Publication

Text Only Version

Cloud Testing, Advantages and Challenges

Jisha George A

Assistant Professor

Department of Computer Science & Applications St. Marys College, Thrissur-20

AbstractCloud computing is a model for enabling ubiquitous, convenient, on-demand access to a shared pool of configurable computing resources. It allows various organizations to focus on their business rather than setting up and manage the IT infrastructure. With the Help of Cloud, its Just a matter of seconds for the organization to turn up the testing environments/servers to fulfill project time lines through effective use of resources in a cost effective way. This paper provides a brief overview of cloud testing, advantages of cloud testing and the challenges in cloud testing and some additional information about some commonly used testing tools.

Keywords Cloud testing; cloud testing life cycle; advantages;scalability; types of testing using cloud; cloud testing tools ;challenges;

multiple users can access a single server without purchasing license for different applications.

Cloud based testing offers cost reduction, pay per use and elimination of upfront capital expenditures.

  1. CLOUD TESTING

    I. INTRODUCTION

    Software testing is the process of verifying and validating that a software program / Application

    • Meets the business and technical requirements that guided its design and development

    • Works as expected

    • Can be implemented with the same characteristic.

      Software testing plays a crucial role in Software Development Life Cycle. But

    • Testing should be done periodically whenever a change is made in the existing application.

    • New environment is required for a new project.

    • Very difficult to create and maintain a real time environment.

    • Establishing a testing environment is very expensive.

      Start Testing

      Leverage Cloud Servers

      One of the goals of software testing research is to automate as much as possible, thereby significantly reducing its cost, minimizing human error, and making regression testing easier. Conventionally, vendors of testing tools deliver a collection of testing products to their customers, who need to install, learn and maintain products. Cloud computing is a recent evolution of distributed computing paradigm which can support on-demand service sharing with higher level of flexibility and dynamic scalability. Cloud Computing is ' The practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer. It focuses on maximum utilization of shared resources. With Cloud computing,

      Cloud testing is a form of software testing in which web applications use cloud computing environments (a "cloud") to simulate real-world user traffic(Wikipedia definition). ) In another words, Cloud testing can be defined as the testing activities conducted through the effective use of Cloud technologies on a Cloud based environment. Cloud testing can also be termed as Testing as a Service ( Taas ). TaaS

      /cloud testing is used to test code by the developers, check the software by the end users, assess software reliability, safety and security for certification.

  2. CLOUD TESTING LIFE CYCLE:

    Setup Infrastruct ure

    Deliver Test Results

    Monitor Testing Goals

    The Figure shown below shows the cloud testing life cycle.

    Develop User Scenarios

    Design Test Cases

    Select Cloud Service Provider

    Once user scenarios are developed and the test cases are designed , companies will choose the appropriate cloud service provider and the infra structure set up will be done. The service providers leverage the cloud servers to generate web traffic and test execution will be performed. Once the test execution is completed the service providers will deliver the results and observations back to the companies.

    1. ADVANTAGES OF CLOUD TESTING

      • Testing in the cloud offers Scalability. It allows companies of all sizes to handle larger projects than they normally could, but it is an even bigger advantage for small- and medium-sized businesses. Development teams can obtain the infrastructure to match additional testing staff services when an extra testing push becomes necessary. This saves companies time and money that would have been spent on equipment and personnel that might have only been utilized for a specific project and a short amount of time.

      • Testing is done in an easier way using cloud infra structure. Extra testing for the global applications is also possible.

      • Effective unlimited storage, quick availability of the infrastructure

      • Cloud performance testing done in the actual production environment provides development teams with a rich understanding of potential issues and needed fixes.

      • Distributed testing environment reduce the execution time of testing of large applications and lead to cost- effective solutions.

      • 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.

      • It supports Green Computing. Cloud technology enables effective utilization of resources which helps companies to become more environmentally friendly.

    2. CLOUD TESTING FORMS

      Cloud testing can be broadly divided into four different categories based on what they aim to do:

      • Testing of the whole cloud: The cloud is viewed as a whole entity based on its features and testing is carried out based on that.

      • Testing within a cloud : This is the testing carried out inside of the cloud by checking each of its internal features

      • Testing across clouds: Based on specifications, here the testing is carried out on the different types of cloud like public, private and hybrid clouds.

      • SaaS testing in cloud: Functional and nonfunctional testing is performed based on requirements.

    3. TYPES OF TESTING USING CLOUD

      Cloud testing are not only limited to load and performance testing. It covers the following areas of testing.

      • Functional Testing: Functional testing of applications (both internet and non internet) are carried out in the cloud instead of on-site software testing.

      • Compatibility testing: Instances of different Operating system can be created whenever needed in cloud environment and compatibility of the application is tested

      • Latency Testing: Cloud testing is utilized to measure the latency between the action and the corresponding response for any application after deploying it on cloud.

      • Browser performance Testing: Applications are tested across various browsers from the cloud using various tools.

      • Load and Performance Testing: Response time need to be verified in the presence of a large amount of data. Proper utilization of resources should be done when less number of requests is present. By using cloud testing, it is easy to create both environment and vary the nature of traffic on-demand. This effectively reduces cost and time by simulating thousands of geographically targeted users.

      • Stress Testing: Any application should work properly and should be stable even in the presence of excessive stress. The cost for creating peak loads will be more ( by using simulators). Cloud testing offersan affordable alternative way for this.

        The Figure below shows the types of testing covered by cloud testing.

    4. TOOLS

      Leading cloud computing service providers include, among others, Amazon, Advaltis, 3-terra, Skytap, HP and SOASTA. Some of the tools for cloud testing include:

      • CloudTest: A cloud based application for load and performance tests of mobile and web applications. It was released in 2008 by SOASTA.

      • Soatest: This tool was developed by Parasoft for validating APIs and API driven applications

      • HP LoadRunner: This tool is used to test applicatons, measuring system behaviour and performance under load

      • App Thwack: It is a cloud-based simulator for testing Android, iOS and web apps on actual devices

      • Jenkins Dev@Cloud: It facilitates development, continuous deployment and integration on the cloud

      • Xamarin test cloud: 99It is UI acceptance test tool for mobile apps

    5. CHALLENGES

      There are some issues encountered in cloud testing because of the shared resources over internet. They are listed below.

      • Test Environment Creation: Some of the test cases may be modified when migrating testing to cloud. Sometimes for testing purposes, we require certain configurations: with respect to servers, storage or networking which may not be supported by the cloud provider. This sometimes makes it difficult to emulate customer environments or some results in a high initial set up cost.

      • Security Issues: Security is very important in cloud testing as cloud testing is based on internet. Research is going on to set up the security standards. User privacy protection and security of applications running in the cloud also need to be addressed

      • Performance :Test results may not be accurate because of the poor performance of the service provider's network and internet. Sometimes in case of maintenance activities the bandwidth may be insufficient.

      • Integration testing issues: The existing software and components are developed without Enabling

      technology and solution to support and facilitate systematic software integration. In a cloud infrastructure the testers must deal with integration services and applications in/over clouds in a black box view based on their provided APIs and connectivity protocols. Sometimes the tester will have to anticipate risks like crashes, network breakdown also.

    6. CONCLUSION

Most of the organizations are adopting cloud testing over traditional testing because of the easy deployment, scalability, unlimited resources, geographically independent and high productivity. But overcoming the challenges in cloud testing are also much important. More researches must be done to address these challenges. New techniques and solutions should be created to support a more scalable, affordable, secure and sophisticated cloud testing.

REFERENCES:

  1. http://www.softwaretestinghelp.com/getting-started-with-cloud- testing/

  2. Dr. Rahul Malhotra* & Prince Jain** Testing Techniques

  3. and its Challenges in a Cloud Computing Environment

  4. http://www.codeproject.com/Articles/580167/Overview-of-

    Testing-in-Cloud

  5. Deepak Dagar, Amit Gupta / International Journal of Engineering Research and Applications Going beyond Conventional Software Testing: Cloud Testing http://www.ijera.com/papers/Vol2_issue4/EC24817824.pdf

  6. Jerry Gao, Xiaoying Bai, Wei-Tek Tsai2 "Cloud Testing- Issues, Challenges, Needs and Practice"

  7. http://defencemanagement.org/system/files/28.17_Vilkomir.pdf

  8. https://en.wikipedia.org/wiki/Cloud_testing#Need_for_cloud_testi ng

  9. G. Gowri, M. Amutha " Cloud Computing Applications and their Testing Methodology"

  10. White papers by cognizant, Taking testing to the cloud, march 2011

  11. http://www.softwaretestinghelp.com/getting-started-with-cloud testing/

Leave a Reply