A Review Of Runtime Software Testing Of A Systems Migrate To The Cloud With A Taas Environment

DOI : 10.17577/IJERTV2IS2498

Download Full-Text PDF Cite this Publication

Text Only Version

A Review Of Runtime Software Testing Of A Systems Migrate To The Cloud With A Taas Environment

Pranali K. Bhowate

P.R.Patil College of Engg & Technology, Amravati

Abstract

Cloud computing is a relatively recent term, which basically defines a new paradigm for service delivery in every aspect of computing In order to stay in sync with the development process, the testing process need to constantly evolve as well. Migration of test is one form of software evolution. Software testing has been one of the best areas for migrating to the cloud environment. This paper reviews for migrating testing to the cloud.Software testing in the cloud can reduce the need for hardware and software resources and offer a flexible and efficient alternative to the traditional software testing process. A major obstacle to the wider use of testing in the cloud is related to security issues. Cloud computing leads an opportunity in offering testing as a service (TaaS) for clouds. Meanwhile, it causes new issue and challenges in software testing, particular in testing clouds and cloud-based applications.

  1. Introduction

    Cloud computing is a relatively recent term, which basically defines a new paradigm for service delivery in every aspect of computing. Cloud computing has gained significant attention in recent years as it changes the way of computation and providing the services to the customers. For example, it changes the supporting and managing the computing resources, such as database, storage system, file system etc. Today leading companies such as GOOGLE, MICROSOFT, and IBM provides the cloud infrastructure for services to the customers. [1][9].

    Cloud computing is the next stage of the Internet evolution. A cloud has several different properties such as elasticity and scalability, multi-tenancy, self-managed function capabilities, service

    Billing and metering function, connectivity interface and technologies.

    Prof. V.B. Gadicha

    P.R.Patil College of Engg & Technology, Amravati

    There are typical questions which are listed below.

    • What is cloud computing?

    • What is cloud testing?

    • What are the various testing types on cloud?

    • Importance of migrating software testing on cloud?

    • Impact, challenges and needs of testing on cloud?

    • What are the current practice, tools and major players?

    This paper is attempted to answer these question. This paper reviews about the basic concept of cloud testing, also includes the testing methodology and cloud.

  2. Cloud Computing

    Cloud computing is the use of computer technology to provide services over the Internet [2]. The word cloud is used as a metaphor for the Internet, based on the standardized use of a cloud- like shape to denote a network and to depict the Internet in computer networks as an abstraction of the underlying infrastructure it represents.

    The term service means delivering the resources over the networks that includes:

    1. Application:-that helps to user to perform a task. E.g. Google Apps, Microsoft Office 365, on live, GT Nexus.

    2. Infrastructures: – resources such as computer hardware including data storage systems, network equipment and system software.e.g. HP Cloud, Oracle infrastructure as a service.

      (C).Platforms:-provides development environments and execution environments to support application e.g. AWS Elastic Beanstalk, Cloud Foundry.

      Fig shows the framework of cloud computing.

      Framework of Cloud Computing

      Framework of Cloud Computing

      Rapid Elasticity

      On Demand

      Self Service

      Measur ed Service

      Broad Networ k

      Rapid Elasticity

      On Demand

      Self Service

      Measur ed Service

      Broad Networ k

      Essential Characteristics of Cloud

      Essential Characteristics of Cloud

      Software as a Service

      (SaaS)

      Platform as a Service

      (PaaS)

      Infrastructure as a Service

      (IaaS)

      Software as a Service

      (SaaS)

      Platform as a Service

      (PaaS)

      Infrastructure as a Service

      (IaaS)

      Service Model of Cloud

      Service Model of Cloud

      Public

      Private

      Hybrid

      Comm

      unity

      Public

      Private

      Hybrid

      Comm

      unity

      Deployment Model of Cloud

      Deployment Model of Cloud

      Figure 1. Framework of Cloud Computing

  3. Cloud Testing

    Software testing has been one of the best practice areas for migrating to cloud environment. Virtualization, which is an enabling technology of cloud computing, was first used for quickly creating virtual computing resources with different operating systems to test software applications on various platforms Testing new software often requires costly server, storage and network devices only for a limited time. These computing resources are either not used or underutilized after testing, thus incurring extra cost on budget. [1].

    The fundamentals of software testing will not change. Also there is no change in the Software Testing Life Cycle. [3]. Cloud testing uses the testers knowledge on the cloud test planning and test design. Cloud testing is not a different kind of testing. It uses the same principle as that of the software testing but just utilizing cloud

    Cloud Testing uses cloud infrastructure for software testing. Organizations pursuing testing in general and load, performance testing and production service monitoring in particular are

    challenged by several problems like limited test budget, meeting deadlines. [1].When we migrate the test to the cloud then this test uses the cloud infrastructure for software testing. There are high costs per test, large number of test cases, and little or no reuse of tests and geographical distribution of users add to the challenges. Cloud Testing is the solution to all these problems. And also it reduces the execution time. Cloud testing is also known as Testing as a service. Cloud testing is the combination of 2 different services such as IaaS and TaaS. IaaS provide the infrastructure so that we can apply the TaaS.

    The service provider may bundle IaaS and TaaS and label it Cloud Testing, but ultimately the cost drivers will depend on the consumption of each service (IaaS and TaaS).[1]

  4. Types of Testing on Cloud

There are various types of testing that are performing on the cloud they are:-

  1. Unit testing: – Unit testing is a testing of individual unit or groups of related units. It is the testing of a function, module or object in isolation from the rest of program.

  2. Integration testing:-Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates.

  3. System testing:-System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

  4. Load testing:-Load testing of an application involves creation of heavy user traffic, and measuring its response.

  5. Acceptance testing: – acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests. 6.Production testing: -Production is when software is installed on the client's hardware and is being used for real.

    DEV AND QUE LIVE

    up with preconfigured system resources and infrastructures, performance testing and scalablity evaluation are usually conducted in a static and pre- fixed system environment, so the existing evaluation metrics, frameworks, and solutions did not consider

    Unit

    Testing

    Devlop ment Enviro nment

    Integrat

    ion Testing

    Test Enviro nment

    Load

    Testing

    Test Environ ment (Replica of Productio

    Accepta

    nce Testing

    Test Environm ent (Replica Of Productio

    Producti

    on Testing

    Produ ction Envir onme nt

    the special features in cloud testing, such as dynamic scalability, scalable testing environments, SLA-based requirements, and cost-models.

  6. Migration of Testing Into Cloud.

    We have to consider how testing process should be migrated into the cloud. Software testing is a process of assessing the product quality base on analysis and execution.[4] When testing process is shifted into the cloud, the necessary requirements that are include in regular testing process needs to be transferred into new cloud environment. These requirements are the test cases, test plans, testing techniques, types of testing, and test environment such as test requirements, types of tools used for testing process, etc. Therefore, a controlled and

    Figure 2. Types of Testing on the Cloud Based

    Environment

    5. Challenges in Cloud Testing

    There are some challenges in some areas where testing on the cloud will have some limitations, of which organizations need to be aware.

    1. Privacy:-A privacy issue is a very difficult job and necessary to achieve in cloud environment as data may be moved to data centers which are located in many different countries and locations So an approach must be developed by customers and service providers to ensure the data is collected, stored, Accessed and managed in conformity of applicable privacy laws.

    2. Security Issues: – Security in cloud testing is the most important issues. Fundamentally the nature of cloud computing means the data of one consumer is often stored alongside the data of another. To some extent that challenge is being met through encryption, which is often used to segregate data-at- rest, but this is not a cure-all and a thorough evaluation of the encryption systems used should always be undertaken.

    3. Reliability, Availability, Scalability and Performance testing:-Although many published papers discuss system performance testing and scalability evaluation in the past two decades, most of them address issues and solutions in conventional distributed software or web-based software systems. According to the recent literature survey on this subject, most existing papers focus on scalability evaluation metrics and frameworks for parallel and distributed systems.[1] Since these systems are set

    correct process needs to be followed to achieve success while transferring testing process into cloud. When transferring the software to the cloud we have to understand the risks that are associated with transferring process. The main risk is the security because security is the main challenge in cloud.

  7. Traditional Testing Approach And Where Does Cloud Fits In?

    In Traditional Testing Scenario there was the Application to be tested located at some Lab with a Load Controller and then the Load Generators located at various remote locations, but there was always a limitation of the no. of Load Generators and no of locations. Here the Cloud fits in. There can be many Load Generator servers (can be Virtual Machines also) located at different places in different clouds and these Load Generators can be much more in no as compared to the independent Load Generators in Traditional Approach.

    Injection

    Hosting Provider

    Applica

    Commands

    Monitoring

    Database

    networks (CDN) distributed across multiple locations around the world, effect of network latency and this will be testing on a live network

    8.2. The Workflow of TaaS

    Taas is the important model in cloud testing. TaaS has wide attention due to its scalable testing environment, cost reduction, "pay-as-you-go, utility-based service models and on-demand testing services. The workflow of TaaS includes the following major TaaS service capabilities. [1]

    QoS REQ

    Management

    tion Server

    TaaS Pricing and Billing

    Security Policy

    Figure 3. Cloud Testing Methodology

  8. Testing as a Service (TaaS)

    Testing-as-a-service (TaaS) is a new model to provide testing capabilities to end users also TaaS is a new cloud based global delivery model can help you address these issues more effectively. In the areas of performance testing, security testing, reliability testing, experience in virtualization technologies and investments in hardware infrastructure, the third party independent testing [5].TaaS means delivering Testing with tools and people included as part of the service. It's got to be consumption-based, "pay-as-you-go", no upfront commitment.

    Users save the cost of complicated maintenance

    Tracking and Monitoring Service

    Self-Portal Service

    On-Demand Test Service

    Taas Process Management

    Test Simulation Service

    Test Environme nt

    Test Solution Service

    Test Tool evaluation

    and upgrade effort, and service providers can upgrade their services without impact on the end- users.

    Testing as a Service (Taas) is used to reduce the

    time, coding and workload. [8]

    TaaS is used to provide the dynamic on-demand testing services in/on/over clouds. [1].

    1. TaaS Used In Following Scenarios

      TaaS could be a platform for creating an agile based functional testing environment:-

      1. Load Testing TaaS could be used for creating various kinds of loads to stress test applications. The scale-in/scale-out nature of cloud computing comes in handy for generating variable loads.

      2. Regression testing Applications which are in maintenance mode, can make use of TaaS to run regression tests of previously written test scripts

      3. Mobile application testing Mobile applications can be tested on TaaS. TaaS provides a realistic platform to test mobile applications, and leverages the key advantages of cloud to test application performance using cloud based content delivery

        Figure 4. Workflow of Taas

        TaaS includes the following majors in TaaS service:-

        TaaS process management: – it offers test project management and process control.

        QoS requirements management:-which supports book keeping and modeling of software testing and QoS requirements, including quality assurance modeling.

        Security Policy: – it offers the security in test environment to establish the required cloud based testing.

        Test environment service:-which provides on demand test environment services to establish the required virtual cloud-based computing resources and infrastructures.

        Test solution service: – which offers diverse systematic testing solutions (such as, test modeling and test methods), and test-ware generation and management services.

        • Test simulation service:-which establishes on demand test simulation environments with selected facilitates (such as tools), and supports the necessary test data/message generation.

        • On-demand test service: – which provides on demand test execution services based on selected schedules and test wares.

          Self-portal service:-which provide the reduction of time required to provision test environments.

        • Tracking and monitor service: – which allows test engineers to track and monitor diverse program behaviors at different levels in/on/over clouds for the testing purpose.

        • TaaS pricing and billing:-which enables TaaS vendors to offer customers with selectable testing service contracts based pre-defined pricing models, and billing service.

      the client and the TaaS providing company. The client will have to sgn in the least cost policy agreement in which cost details will be available.

      The fourth layer will be the provisioning management in which the virtualization is done. Dealing the virtual machine is like dealing our physical system. Usage and metering billing and auditing is done for the application that is submitted by the client in the platform.

      Final layer will be the cloud adapter. The TaaS platform is integrated in the cloud using cloud adapters.

      Testing unit

      Registration/Service

      8.3. Architecture of Platform as TaaS

      Test pack

      Catalogue/Security Policy/Testing

      The purposed architecture gives a platform for testing the application. The TaaS architecture purposed of consists of four main entities. The client can access the TaaS platform into two ways by online or in person. [6].

      The client can use platform based three

      creation

      Workflow and Process Management

      Test

      maintenance

      Virtualization management/usage

      scenarios. [7] Client can upload the application on the TaaS platform and can ask their own tester to test the application and pay for the tools that are provided on the cloud or client can upload the application on cloud and ask the other testing company to test application and pay for the usage or client can directly go with the testing company for testing their application without uploading the application on cloud.

      The first layer in the TaaS architecture is unified view in which the user can directly access to TaaS platform through online or through help desk. Service catalogue gives the information about the services offered by the TaaS. Based on the service the tools for testing will be provided.

      The second layer, before entering into the main

      Test Platform Monitoring

      Financial consol

      metering and billing

      Cloud Adapter and Cloud Service Provider

      Cloud and cloud partner

      Figure 5. Taas Architecture

      platform, first the client need to get registered with the TaaS platform for availing the services offered by TaaS. After logging in to the platform client can create request. In the request page client need to enter his application details for which the testing has to done. In this page client can select the type of service and type of testing. Once he submits his request a request id will be generated for that particular request the pricing information and billing information will be generated based on the no of hits.

      The third layer is the satisfaction of management activities in which the client needs to sign in the SLA. It is necessary to make an agreement between

  9. Future Work

    Although cloud computing is doing phenomenal job at present. It has taken traditional testing mechanism to a new level. Cloud testing is becoming a hot research topic in cloud computing and software engineering community.

    As the advance of cloud technology and testing as services, more research work must be done to address the open issues and challenges in cloud testing and TaaS.

    Future research areas include advanced test generation and the automatic detection of different specific types of faults. Additionally, we can also expand upon automatic oracle generation. In future

    we will use this platform and highlight the issues related to security which is more important factor in cloud computing. Also there are many limitation in this system such as network bandwidth as well as know as very flexible, thus, in future the testing algorithms as well as the mechanisms must be modified in such a way that it can remove the problem of bandwidth.

  10. Conclusion

    Cloud testing is becoming a vital research topic in cloud computing and software engineering community. As the advance of cloud technology and testing as services, more research work must be done to address the open issues and challenges in cloud testing and TaaS.This paper provides a comprehensive review and tutorial on cloud testing by discussing the related concepts, issues, and challenges and proposed a new TaaS architecture which provides various kinds of testing services to the customers and also discussed about key features of the architecture. The major contributions of this paper include its insightful discussion about cloud testing in terms of its special requirements, benefits, and features as well as the comparison with conventional testing.

  11. References

  1. Jerry Gao, Xiaoying Bai, and Wei-Tek Tsai, Cloud Testing- Issues, Challenges, Needs and Practice, Software Engineering: An International Journal (SEIJ),

    Vol. 1, No. 1, September 2011

  2. A. Weiss, Computing in the Clouds, netWorker, vol. 11, no. 4, pp. 1625, 2007.

  3. Prakash.V, Bhavani. R. CLOUD TESTING MYTHS FACTS AND CHALLENGES, International Journal of Reviews in Computing. Vol. 9, 10th April 2012.

  4. G.Jagadeesh, SandeepAluri,Dr.Anirban Basu, Cloud based testing: need of testing in cloud infrastructures and cloud platforms, International Journal of Computer Science and Information Technology & Security (IJCSITS), Vol. 2, No.2, April 2012

  5. K. Priyadarsini,V. Balasubramanian,S. Karthik, Cloud Testing As A Service, International Journal Of Advanced Engineering Sciences And TechnologiesVol No. 6, Issue No.2,

  6. K.V.Arunkumar, E.Samlinson, Testing As A Service (Taas) An Enhanced Security Framework for Taas In Cloud Environment, International Journal Of Internet Computing Vol- 1, Iss- 4 2012

  7. Abhinava Kumar Srivastava (Student) Divya Kant Yadav Sandeep Kumar Pandey

    TaaS: An Evolution of Testing Services using Cloud Computing, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET)

    Volume 1, Issue 10, December 2012

  8. William Jenkins, SergiyVilkomir, Puneet Sharma, George Pirocanac, Framework for Testing Cloud

Platforms and Infrastructures, 2011 International Conference on Cloud and Service Computing

International Journal of Engineering Research & Technology (IJERT)

ISSN: 2278-0181

Vol. 2 Issue 2, February- 2013

Leave a Reply