Please use this identifier to cite or link to this item:
|Title:||A Framework for Testing As a Service over Cloud|
|Keywords:||Software Testing;Cloud Computing|
|Abstract:||CloudComputingreferstoanewITparadigmthathastheabilitytoprovidesharedpoolofconﬁgurable computing resources from any computing devices such as laptop, tablet, mobile etc. with minimal management effort or support from service provider. Cloud computing paradigm helps software companies to save huge amount of ﬁnancial costs by relieving them from the tasks of procurement and maintenance. This provides an opportunity to software companies to focus on innovative practices of problem speciﬁc solutions. Software Testing is the most vital aspect of software development that should be performed judiciouslytoauthenticatethatthedevelopedsoftwaremeetsapprovedqualityprinciples. Ithas beenobservedandexperiencedbysoftwareindustrythatexpenditurefortestingthesoftwareis almost 30% of the total cost of the software development. Additionally, application is said to be robust if it has been tested on multiple operating systems and browsers of different versions. This ultimately raises the need of in-house testing labs that have the ability to cater required intricacies and diversities. But these labs often remain inoperative for a long period of time and have been proved as a massive drain on assets and computational resources. Therefore, software testing can be safely moved to the cloud as it offers high-quality testing at reduced cost and time and relieves the software companies from the burden of owning, reserving and maintaining private test labs. Thus, there is a need for offering a framework for testing as a service over cloud and is the motivation of this research work. To achieve the set objectives of addressing the challenges of creating cloud-based testing service, a comprehensive literature review has been done. Prevalent approaches of cloud-based testing models have been studied, analyzed and compared to identify inherent limitations of the existing work. A thorough study of automatic test data generation strategies has also been done as test case design is one of the most signiﬁcant activities of software testing and an intelligent selection of test cases can radically reduce the cost of software testing. A comparative study of existing soft-computing based test data generation strategies has been presented. Based on the literature survey, it has been found that there is a dire need of an automatic test data generation strategy that detects faults present in the software in minimum time and cost. Soft computing techniques such as genetic algorithms and particle swarm optimization algorithm are found to be more efﬁcient in solvingtestdatagenerationproblem. But,thebiggestchallengeconfrontingautomatedtestdata generationusingsoftcomputingtechniqueishugecomputationalcostandmassivetestsize. To address the above challenge, Apache Hadoop MapReduce has been used to distribute the task of test data generation to several mappers and enable concurrent execution on different nodes. Due to parallelization, time required to generate the optimal test suites has been reduced. The underlyingtestdatagenerationstrategyofproposedframeworkishybridofGeneticandParticle Swarm Optimization algorithm and uses the concept of pareto-optimality for the evaluation of ’gbest’ and ’pbest’ particles. Pareto optimal approach helps in ﬁnding the optimal solution that possesses best ﬁtness values for multiple objectives. Cloud computing services face signiﬁcant obstructions in acceptance due to lack of trust among potential users. A security mechanism has been incorporated in the proposed framework that ensures protection of data and code of different users by implementing role-based access control. Further, cost of service should also be minimized and satisfaction level of customers should be maximized. To address this challenge, a mathematical pricing model has been designed to fulﬁll the expectations of customers and to maximize the net proﬁt of service providers. Cloud service request model has also been proposed that postulates Service Level Agreements (SLA) between customers and service providers. The proposed framework utilizes open source proﬁling and prediction tool Starﬁsh to help users in decision making of resource selection. It provides users with the most appropriate cluster conﬁguration parameters like number and type of VMs and MapReduce conﬁguration parameters. Veriﬁcation and validation of the proposed framework has been done by conducting experiments onlocal Apache Hadoopcluster andcluster of AWSEC2 machines. The accuracyof the underlyingtestdatagenerationstrategyhasbeenassessedforvariousperspectivessuchasfault detection capability, branch coverage, resources utilized, time taken etc., that proves the effectivenessofproposedtestdatagenerationstrategies. Further,theefﬁcacyofproposedframework hasbeenassessedforcostandtimerequirementsbyexecutingitinthecloudenvironment. Statistical and practical differences between the proposed strategy and the other existing strategies havebeencomputedusingtwo-tailedMann-WhitneyU-test. Inordertoassessthemagnitudeof the improvements in the proposed strategy, Vargha and Delaney0s ˆ A12 statistics have been used as standardized effect size in conjunction with Null Hypothesis Signiﬁcance Testing (NHST). TheframeworkhasbeencomparedwithexistingcloudbasedtestingframeworkssuchasYETI, Cloud9 and HadoopUnit to validate the outcomes. The results show that the proposed framework successfully and collectively addresses the issues of offering testing as a cloud service.|
|Appears in Collections:||Doctoral Theses@CSED|
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.