D.Anitha et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (6) , 2014, 7553-7562
A Review on Software Testing Framework in Cloud Computing
D.Anitha1 and Dr.M.V.Srinath2 1 Research Scholar, Department Of Computer Science, STET Womens College Mannargudi. 2Director, Department of Computer Applications, STET Womens College, Mannargudi.
Abstract— Cloud computing has emerged as a new developers. It is based on .NET or Java extended computing paradigm that impacts several different research with cloud services. fields, including software testing. In cloud computing, the user 3. Infrastructure as a Service (Iaas) - It delivers cloud can use high end services in form of software that resides on computing infrastructures, namely, servers, different server and can be accessed from all over the world. software, data-center space and network It not only changes the way of obtaining computing resources but also alters the way of managing and delivering computing requirements. services, technologies and solutions. Software testing reduces The growth of cloud based services is evident, but the need for hardware and software resources and offers a cloud still undergoes development and testing before flexible and efficient cloud platform. Testing in the cloud deploying. The development of cloud-based services platform is effectively supported by engineers based on new increases with the need for testing their applications. Cloud test models and criteria. Prioritization technique is introduced computing provides cost effective and flexible means via to provide better relationship between test cases. These test scalable computing power and diverse services. The cloud cases are clustered based on priority level. The resources are computing deployments models are as follows, utilized well by implementing load balancing algorithm. Cloud 1. Private cloud ensures optimal usage of available resources. However, security and privacy concerns are considered as a main 2. Public cloud obstacle in cloud. This paper surveys various prioritization, 3. Hybrid cloud clustering, load balancing and security techniques to enhance 4. Community cloud the cloud environment. Moreover, the comparison between The third party uses the private cloud and these clouds various software testing techniques are demonstrated. are managed by the cloud computing provider. In the public cloud, the cloud infrastructure is made available to the Index Terms—Cloud computing, Cluster, Prioritization, general public or owned by the cloud providers. Hybrid Privacy, Security, Test cases. cloud is a combination of two or more general cloud. The cloud shared by several organization are called as I. INTRODUCTION community cloud. Cloud computing solution depends on loud computing has seized a substantial attention the availability of the infrastructure and the necessary C recently as it changes the way of computation and business applications for their customers. services to customers. It is a computing prototype, The features of cloud computing involves on-demand where a large pool of systems are connected in private or self-service, broad network access, resource pooling, rapid public networks. Cloud computing also provides elasticity and measured service. In On-demand self-service, dynamically scalable infrastructure for application, data the customer request and manages their own computing and file storage. Cloud services permits individuals and resources. Broad network access permit services to be businesses to use software and hardware that are managed issued over the internet. The customer can use resources by third parties at remote locations. Examples of cloud from a pool of computing resources. The need of hardware services includes, and software resources are minimized by the software • Online storage testing technique in cloud. Cloud based software testing • Social networking sites refers to testing and measurement activities on a cloud • Webmail based environments. It also offers a flexible and efficient • Online business applications alternative to the traditional software testing process. It has In presence of network connection, the information low entry barriers and reduces cost by leveraging with and computer resources can be accessed from anywhere. It computing resources in cloud. The cloud based testing contains a shared pool of resources, including data storage ensures the quality of the cloud-based applications space, networks, computer processing power, specialized deployed in a cloud. It also checks for the automatic corporate and user applications. Cloud providers offer functional services. Testing a cloud refers to the services that are clustered into three categories namely, verification and validation of applications, environments 1. Software as a Service (SaaS)-Highly scalable and infrastructure. internet based applications, which are introduced Moreover, software testing techniques are applied to on the cloud. the cloud environment in order to improve the security 2. Platform as a Service (Paas) - It contains level. Test cases are scheduled and prioritized by considerable potential to help enterprise prioritization techniques in order to maximize the scope.
www.ijcsit.com 7553 D.Anitha et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (6) , 2014, 7553-7562
Software test engineer schedule the test cases in a 2. The ratio of non-executed test cases in the path, sequential order to achieve the code coverage at the fastest with a higher weighted test cases towards the end rate. In general, the time needed to run all the test cases in of the path. the test suite is long. The profits obtained through test case 3. The number of non-executed test cases divided by prioritization method becomes more significant. Clustering the height of the path. models are useful to software service providers to access The DSP sum coverage measure reveals a higher weighted their own services to the cloud users. It also helps the path comprising of more non-executed test cases. It finds a service provider to increase the availability of software balance between longer paths, with few non-executed test service on the cloud environment. It allows cloud users to cases. The DSP sum of a path p is defined as follows estimate potential software services available on the cloud _ ( ) =# ∈1# |¬ ( ) (1) computing environment. Load balancing in cloud In which the # operator returns the size of a list or set. The environment provides an efficient solution to various issues DSP ratio coverage denotes the higher weight to paths that residing in cloud set-up and usage. It considers two tasks, have higher ratio of non-executed tests. DSP ratio is namely resource allocation and task scheduling. It also calculated by using the below formula # ensures that the resources are available based on the ∑ ( ) ( ) = , (2) demand. And the resources are effectively used under the # , ¬ ( ), condition of high/low load. This paper presents various ( ) = (3) techniques and algorithms that are used to formulate 0, ℎ software testing in cloud platform. The weighted sum of the path is calculated, which gives the This paper is organized as follows. Section 2 describes weight of a test case and index of the path [2]. The worst- the various test case prioritization, clustering, load case complexity for calculating the DSP ordering is balancing and cloud security techniques. Section 3 deals computed from the following equation. with results and discussion. Section 4 provides conclusions. | | + | | +2| |/2 . | | + | | (4) The time required to calculate as a set of linearly II. TESTING PLATFORM IN CLOUD COMPUTING independent paths in the graph is less. Fault rate detection The testing framework in cloud computing involves four is high and decreases the time consumption. major methods, namely, 1. Test case prioritization 2. Requirement-Based Prioritization Techniques 2. Clustering techniques The weight factors used in the prioritization techniques 3. Load balancing scenarios are customer priority, requirement complexity and 4. Security Mechanism requirement volatility [3]. The higher factor values denotes a need for prioritization of test case related to the A. PRIORITIZATION TECHNIQUES requirement. It adjusts the coverage information for Prioritization and test case scheduling is done in order remaining test cases and recursively selects a test case that to increase the objective of the function. These techniques yields the greatest coverage of requirement. The test cases provides a way to schedule and run test cases, which results with highest Weight Prioritization WP are executed first. in predicting the faults earlier. Some of the prioritization The weight priority is calculated from the following techniques are Dependency Structure Prioritization (DSP), formula Requirement based prioritization, Coverage based =(∑ )|(∑ ) (5) prioritization, Cost effective based prioritization and The factors that affect requirement based prioritization are Chronographic based prioritization. time-to-market limitations, number of stakeholders, implementation cost. It does not consider the dependency 1. Dependency Structure Prioritization (DSP) of test cases. The dependency structure between test cases is closely related to the interaction between the parts of the system 3. Coverage-Based Prioritization Techniques [1]. The priority for the test cases is assigned based on Test coverage analysis is a degree used in software graph coverage value. The graph coverage value of a test testing known as code coverage analysis [4]. It deals with case can be defined as the measurement of the complexities the amount of source code of program that has been of the dependent test cases. The graph coverage value of a exercised during the testing process. It is a form of white test case is measured based on the following ways, box testing, which checks the code directly. The process 1. The total number of dependents of the test case involved in coverage-based techniques are described as 2. The longest path of direct and indirect dependents follows, of the test case. 1. Discovering the areas of a program that are not Using these values, the depth-first search algorithm is used exercised by a set of test cases. to calculate the priority of tests. For closed dependency 2. Creation of additional test cases to increase structures, three ways are used to measure the graph coverage coverage value. The three coverage measures for paths are 3. Determining a quantitative measure of code 1. The number of non-executed test cases in the path. 4. Identification of redundant test cases It is a structural white box testing, which compares the test program behavior with the apparent intention of the source
www.ijcsit.com 7554 D.Anitha et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (6) , 2014, 7553-7562
code. The coverage prioritization technique prioritize the ( = ,……., ) test cases in decreasing order. The weight of the test cases = 1 | | in decreasing order are determined by the following = ∀ , equation: = | | 1 = + (6) = ,……., TW denotes the weight prioritization computed for each ( , ) = , , ∀ , ; , = , ( , ) test case. ReqSlice indicates the number of requirements = ( , ); ( ) depicted in the relevant slice of output for each test case. ReqExercise is a number of requirements exercised by test The cluster dissimilarity function d (A, B) also called case. This technique contains the extra comment line, as the distance function, computes the dissimilarity which is useless and the fault tolerance is low. It has high between the two clusters. The clusters with smallest value code complexity that means the dependency of the test case are chosen and grouped them into a single large cluster [8]. on other test case. In agglomerative hierarchical clustering the distance are measured using the following formulas. 4. Cost Effective-Based Prioritization Techniques • , = ( , ) called as single In this technique, the prioritization of test cases are ∈ , ∈ carried out based on cost analysis [5]. The actual time is linkage, which produces long and skinny clusters. measured for estimating the cost for each test cases. The The clustering can be stopped by setting the following variables are used to prioritize the test cases threshold value using the equation. where cost of analysis Ca(T) and cost of the prioritization • , = ( , ) termed as algorithm, Cp(T). ∈ , ∈ = ( ) + ( ) (7) complete linkage and the clusters are compact and WP is a weight prioritization value for each test case. Ca(T) equal in diameter. includes the cost of source code analysis, Cp(T) is the actual cost for running a prioritization tool and relies on the • ∑ ∈ , ∈ , , = is used to compute algorithm used. It concentrates only on the cost factor and | |. does not focus on risk factors. the distance between two items. Each agglomeration takes place at a greater distance 5. Chronographic history-based Prioritization Techniques between clusters. In this, the smaller clusters are generated, The test cases are prioritized based on the test which are useful for discovery. It produces an ordering of execution history [6]. By using historical information of the the objects, which are informative for data display. It has test cases and fault severities of the defects, which are high flexibility regarding the level of granularity. It can be covered by the test cases in a test suite. The historical value applicable to any attribute type and can easily handle any of the test cases is calculated and is used for the basis of the form of similarity or distance. prioritization of the test cases. Historical value is calculated from the previous cost and fault severity of the defect, 2. Cosine Similarity Algorithm which are covered by a test case in suite. Weight factor for The similarity based clustering is used for grouping the the history based prioritization is defined as the similar test cases in order to make the testing effective. Cosine similarity approach is used to form the clusters [9]. = (8) In the distributed system clusters are established, which Where is the mean value of C, relative cost and is provides better performance in fault detection. The number the mean value of FS, total relative fault severity. The fault of clusters is less than the number of distributed severity is high and consumes more time. environment in order to form the group of the clusters. It is B. CLUSTERING TECHNIQUES a measure of similarity between two vectors of an inner product space. This algorithm measures the cosine of the 1. Agglomerative Clustering angle between the vectors. Agglomerative hierarchical clustering is a bottom-up , = , = (9) clustering method, where the clusters consists of sub The similarity of two document vectors , , , clusters [7]. It is used in many areas because of its ability to use arbitrary clustering dissimilarity or distance function. It is defined as the cosine of the angle between the vectors. is a greedy algorithm that considers a set of points, which The inner product is calculated from the above equation for integrates geometric and non-geometric properties. A unit vectors. Cosine measure is used in a variant of k- binary clustering tree is constructed along with a cluster means called spherical means [10]. The k-means aims to dissimilarity function. The data points are initially reduce the Euclidean distance and spherical k-means considered as clusters of size 1. At, each step, it selects the maximizes the cosine similarity between documents in a cluster and the cluster’s centroid is measured by: best pair of clusters that are not part of a larger clusters and integrates them into a single larger cluster. The process ∑∑ ∈ (10) ‖ ‖ repeats until a single cluster containing all the data points is Cosine similarity is particularly used in positive space, created. where the outcome is bounded in [0, 1]
www.ijcsit.com 7555 D.Anitha et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (6) , 2014, 7553-7562