Software Testing in the Cloud Migration and ution.pdf

上传人:爱问知识人 文档编号:5117112 上传时间:2020-02-04 格式:PDF 页数:109 大小:3.20MB
返回 下载 相关 举报
Software Testing in the Cloud Migration and ution.pdf_第1页
第1页 / 共109页
Software Testing in the Cloud Migration and ution.pdf_第2页
第2页 / 共109页
Software Testing in the Cloud Migration and ution.pdf_第3页
第3页 / 共109页
Software Testing in the Cloud Migration and ution.pdf_第4页
第4页 / 共109页
Software Testing in the Cloud Migration and ution.pdf_第5页
第5页 / 共109页
亲,该文档总共109页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Software Testing in the Cloud Migration and ution.pdf》由会员分享,可在线阅读,更多相关《Software Testing in the Cloud Migration and ution.pdf(109页珍藏版)》请在三一文库上搜索。

1、Scott Tilley Tauhida Parveen Software Testing in the Cloud Migration and Execution 123 Scott Tilley Department of Computer Sciences Florida Institute of Technology Melbourne, FL USA Tauhida Parveen Independent Consultant Melbourne, FL USA ISSN 2191-5768ISSN 2191-5776(electronic) ISBN 978-3-642-32121

2、-4ISBN 978-3-642-32122-1(eBook) DOI 10.1007/978-3-642-32122-1 Springer Heidelberg New York Dordrecht London Library of Congress Control Number: 2012943956 ACM Computing Classifi cation (1998): D.2, K.6 ? The Author(s) 2012 This work is subject to copyright. All rights are reserved by the Publisher,

3、whether the whole or part of the material is concerned, specifi cally the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfi lms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, compu

4、ter software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifi cally for the purpose of being entered and executed on a computer system, for

5、exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publishers location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtain

6、ed through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specifi c statement,

7、that such names are exempt from the relevant protective laws and regulations and therefore free for general use. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal r

8、esponsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Printed on acid-free paper Springer is part of Springer Science+Business Media () Additional online material available under www.stitc.org a

9、nd To my parents Scott Tilley To mom, dad, and grandpa Tauhida Parveen Its testing, Jim, but not as we know it Foreword This book fi lls a much-needed gap in research and guidance for advanced prac- titioners and scholarly investigators. It focuses on the neglected, but important topic of software

10、testing in the cloud. Testing in the cloud is far more complex than standard software testing because resources constantly shift for different executions, many of the resources are not controlled by the consuming organi- zation, and the business case for success is signifi cantly different for cloud

11、 pro- viders and consumer organizations. However, it is precisely for these reasons that testing of potential cloud applications can make or break the business case for migration to the cloud. Testing with the use of cloud resources can provide substantial potential ben- efi ts because of the potent

12、ial for large-scale economies of scale and the ability to access state of the practice computer resources without a substantial IT investment. However, it is not a solution for every organization; nor are its benefi ts automatic. Because of these factors, testing in the cloud requires a sober strate

13、gic and tech- nical analysis that fully identifi es goals of the effort, total costs, potential risks, and expected outcomes. This type of analysis, while still not commonplace, can demonstrate its worth by enabling decisions to be made with facts and logic rather than emotion. This book introduces

14、a set of methods and tools to begin systematic testing in the cloud. During the 15 years that I have been associated with Prof. Scott Tilley, he has consistently tackled hard problems with a rare combination of tight discipline, pragmatic application, and strong technical insight. This book is no ex

15、ception. Scott recognized the potential of cloud computing when it was merely a speck on the horizon, and he began to organize a community of interest around the topic of testing in the cloud. Scotts collaboration with Dr. Tauhida Parveen has been fruitful in the writing of this book and the develop

16、ment of a community of interest. Tauhida has co-developed, implemented, and refi ned the SMART-T decision framework and the HadoopUnit execution environment over the past several years. Each of the three major sections of the book illustrate how the co-authors routinely improve on ideas, methods, an

17、d tools and then apply them to novel situations. The SMART-T framework provides the decision-making backbone for vii the rest of the book. This method extends the SMART framework that several colleagues and I developed at Carnegie Mellons Software Engineering Institute. The extensions to cloud testi

18、ng provide a unique foundation for making informed business, technical, and operational decisions. While the SMART-T framework enables rational decision-making, Hadoop- Unit builds on Apache Hadoop, which is a framework for supporting large-scale distributed applications. HadoopUnit provides a distr

19、ibuted environment for con- current execution of testing on a cluster of machine using cloud resources. This enables empirical verifi cation of the decisions that are made, detailed data on whether the anticipated economies of scale in the use of cloud testing are being realized, and early feedback

20、on whether mid-course corrections are needed. The fi ve case studies represent the third leg of this tightly woven book. They demonstrate promising early results and provide practical lessons learned in migrating testing to the cloud through a combination of SMART-T and HadoopUnit. These cases studi

21、es, which were developed to vary both in com- plexity and in the nature of the application, measure the relative performance improvement of using the cloud in testing as opposed to single machine testing. I found the following lessons learned to be particularly compelling for advanced practitioners:

22、 the wisdom of factoring in suffi cient time to master the complexities of the current testing environment, the advisability of planning for partial and phased migrating testing to the cloud, the importance of the selection of test cases to take advantage of the perfor- mance improvement from the us

23、e of HadoopUnit with large test suites, the need to plan for the challenges of selection, confi guration, and automation of software because of the lack of visibility into key infrastructure elements that is inherent in testing in the cloud, the necessity of detailed analyses to determine the causes

24、 for failures in the execution of test cases because of the multitude of factors that may be causing the failures, such as bandwidth, network latency, and other confi gurations. For researchers, this book offers an intellectual foundation that provides a set of building blocks for future research pr

25、ograms. For practitioners considering a migration to the cloud, this book, with its focus on strong intellectual grounding and practical applications, should be required reading. The empirical applications serve the interests of both the practitioner and research communities and provide a much-neede

26、d practical basis for the methods and tools that are introduced. Dennis Smith Software Engineering Institute Carnegie Mellon University viiiForeword Preface This book is focused on one of the most important and long-standing problems facing the software testing community: lengthy test execution time

27、s. For a large, complex system, the amount of test cases in a regression test suite can range from a few hundred to several thousands, which can take hours or even days to execute. Regression testing also requires considerable resources that are often not readily available, precluding their use in a

28、n interactive setting, further contributing to an ineffi cient testing process. Traditional approaches to reduce the execution time for regression testing typically focus on excluding selected tests from the suite that need to be run after a change is made to the system. This research provides an al

29、ternate solution that does not require test case exclusion: leveraging the resources provided by cloud computing infrastructure to facilitate the concurrent execution of test cases. Cloud computing offers the use of virtualized hardware, effectively unlimited storage, and software services that can

30、aid in reducing the execution time of large test suites in a cost-effective manner. This book presents a decision framework called SMART-T to support migra- tion of software testing to the cloud, a distributed environment called HadoopUnit for concurrent execution of test cases in the cloud, and a s

31、eries of case studies illustrating the use of the framework and the environment. Experimental results indicate a signifi cant reduction in test execution time is possible when compared with a typical sequential environment. What Is Unique About This Book? Our work in software testing in the cloud be

32、gan in 2009 with a collaborative project with a large industrial partner. In April 2010, we organized the workshop on the topic at the IEEE ICST conference in Paris 117. The interest generated from this event resulted in the edited volume, Software Testing in the Cloud: Perspectives on an Emerging D

33、iscipline 118. ix Our own focus has been primarily on test execution. To facilitate this, we also examined the precursor issue of migrating testing to a cloud-based environment. Accordingly, the unique work described in this book has three primary objectives: 1. Create a decision framework that faci

34、litates the disciplined migration of soft- ware testing to the cloud. 2. Develop a prototype distributed execution framework for concurrent test exe- cution in the cloud. 3. Demonstrate the viability and evaluate the effectiveness of the approach using case studies carried out in real world settings

35、. This work has the potential to signifi cantly impact the three major areas of software testing, cloud computing, and system migration. The results reported in the book affi rm that a new area of research can benefi t from a judicious blending of best practices from the others. We illustrate the ne

36、ed for a decision framework for migrating testing to the cloud and provide the testing community a sample deci- sion framework that they can use. We also demonstrate that Hadoop, typically used for distributed data processing at scale, can also be benefi cial when used in software testing. The intel

37、lectual merit of this research is the advancement of knowledge and understanding of the nascent fi eld of software testing in the cloud. A creative blend of the underlying areas of software testing, cloud computing, and system migration was used to develop this potentially transformative area of res

38、earch. Our results show that when migrating software testing is desirable from a business point of view, and feasible from a technical point of view, the results can be acceptable from an operational point of view. For example, as described in Chap. 4, a 165x performance improvement was realized aft

39、er migrating test cases for GCC to the cloud. Who Should Read This Book? Software testing in the cloud is a subject that should interest advanced practitio- ners, academic researchers, and those in education and training. For advanced practitioners, the issue of cloud computing and its impact on the

40、 fi eld of software testing is becoming increasingly relevant. For academic researchers, this is a subject that is replete with interesting challenges; there are so many open problems that graduate students will be busy for years to come. The topic of software testing in the cloud is an excellent ve

41、hicle for educational exploration. For example, it builds upon core knowledge of software testing while introducing new concepts such as cloud computing into the course material. This topic was used in a graduate course on software engineering with considerable success: the students seemed to enjoy

42、the exposure to a leading-edge research program, and the instructors benefi ts from the contributions of the students in the xPreface assignments and group projectwhich closely followed the main themes pre- sented in this book 116. To disseminate the results of this work, a community of interest was

43、 created called Software Testing in the Cloud (www.STITC.org). This community has been active in working together and sharing ideas in migrating testing to the cloud, performing testing in the cloud, and testing of the cloud itself. We encourage you to contact us and get involved in this exciting ne

44、w area. Outline of This Book The book is structured according to the three key elements of our research: migrating software testing to the cloud using SMART-T, executing test cases in the cloud using HadoopUnit, and performing case studies to illustrate the use of the approach in a variety of proble

45、m settings. SMART-T: Chapter 2 describes SMART-T, a decision framework for migrating testing in the cloud. The descriptive framework has three parts: (1) addressing business drivers (why migrate to the cloud); (2) technical factors (when to migrate to the cloud); and (3) operational results (how to

46、migrate to the cloud). Each part of the framework ends in a decision point related to the desirability (business), feasibility (technical), and acceptability (operational) of the migration to the cloud. HadoopUnit: Chapter 3 explains HadoopUnit, a distributed environment for concurrent execution of

47、test cases in the cloud. HadoopUnit is built upon Hadoop, the open source implementation of the MapReduce programming model. Several techniques were illustrated to migrate test cases from a legacy environment to the cloud-based environment, such as wrapping test cases using JUnit interfaces. Case St

48、udies: Chapter 4 presents several case studies where SMART-T and HadoopUnit has been applied. Experimental results indicate a signifi cant reduction in test execution time is possible when compared with a typical sequential envi- ronment. The results also showed that migrating testing to the cloud i

49、s not always the best solution to the problem; sometimes a different approach might be needed, such as reengineering the test cases to identify shortcomings before any migration is attempted. The book concludes with Chap. 5, which provides a summary of the results from the case studies and summarizes our lessons learned. Acknowledgments We are extremely grateful for the wonderful personnel at Springer who helped make this book a reality, In particular, we would like to thank Ralf Gerstner for his patience and enc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程管理


经营许可证编号:宁ICP备18001539号-1