基于云计算的软件测试服务研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着信息技术的日益发展,软件业竞争的日趋激烈,人们对软件产品的质量意识逐渐加强。仅仅依靠以劳动密集型为特征的传统手工测试,已经不能满足人们对快节奏的软件开发和测试的需求。自动化测试技术为此提供了有效的解决方案,它能够帮助企业降低人力成本,缩短测试周期。然而,软件测试所需的资源不是现成的,所以每次测试都需花“巨资”建立和拆除测试环境,这给测试人员带来了很大的不便。云计算是一种新的计算模式,是分布式计算、并行计算和网格计算的发展。云计算的超大规模、虚拟化、高可用性、通用性、可扩展性和按需服务的特点,为构建虚拟、可靠的软件测试环境,方便低成本的软件测试服务提供了更多的可能性。用户不再需要准备自己的测试环境,可以按需获得测试服务,本文为此建立一套基于云计算环境下的测试系统。
     本文以上海市教育委员会科研项目“基于云计算的分布式系统并行测试”为背景构建云测试的实验系统框架。通过分析云计算技术及自动化测试技术,采用Eucalyptus作为构建基于云计算的软件测试服务系统的底层架构,采用Autotest作为自动化测试框架。利用Eucalyptus可以灵活的管理虚拟机,如动态的分配、删除虚拟机。Autotest架构可以灵活的添加客户端,其只需通过命令cli add就可以将虚拟机添加至客户端列表。
     在云测试实验系统框架的基础上本文设计了三个系统模块:镜像匹配模块、控制管理模块、用户管理模块。镜像匹配模块主要负责帮助云端选择具体某个镜像创建虚拟机并搭建测试环境,根据被测系统所需环境及虚拟机镜像的多样性,定义基于xml的镜像及被测软件环境需求的描述规范进行镜像匹配。控制管理管理模块基于Pxssh协议实现数据传输。用户管理模块利用Django框架实现云测试系统客户端。
     本文根据测试任务所涉及的子任务的拓扑序列及各类测试资源的使用状况提出了以测试用例级为粒度,在原有的表调度算法的基础上加以改进的调度方法。对测试任务,采用表调度算法,对于子任务,则采用优先级、任务依赖关系等任务调度原则进行虚拟机的动态生成与分配。
     实践证明,本云测试系统在使用过程中,能自动选择镜像进行创建虚拟机,任务调度也大大提高了软件测试效率,并且该系统具有良好的易用性,达到了最初的设计目标,具有重要的理论意义和实用价值。
Along with the development of information technology, and the fierce competition of the software industry, people gradually product strengthened consciousness on the quality of software. Traditional manual testing, whose characteristic is labor intensive and high strength, cannot meet the demand of fast software development and test. Test automation technology provides the solution for it effectively. It helps to lower labor costs and shorten test cycle for enterprises. However, the resources of software testing are not ready-made, and every time the test engineers should take much time to establish and dismantle test environment, such as server installation, database client installation, the measured software installation. It brings a great amount of inconvenience to the testers.
     Cloud computing, which is a new calculation model, is the development of distributed computing, parallel computing and grid computing. At present, the cloud computing concept has been acquired widespread approval of the industry. Its characters of large scale, virtualization, high availability, versatility, scalability and on-demand service provide better possibilities to build a virtual and reliable software testing environment for low cost software test services. Users no longer need to prepare their own testing environment, but can demand for testing services.The software testing under cloud computing environment is called cloud testing, and the cloud computing environment which supports software test is call test cloud in this paper. Cloud testing is a new testing service model.
     Through analyzing the technology of cloud computing and automated software, this thesis adopted Eucalyptus to build cloud computing environment, which is the bottom architecture of software testing service system, and it also used Autotest as its auto test framework. According to use Eucalyptus, people can manage virtual machines flexibly, such as dynamic allocation, delete the virtual machine. The structure of Autotest make it easy to use a virtual machine as its client, because it adds clients only by one command of cli_add.
     Because of the diversity of the tested system and images of virtual machine, this paper defines the image description and the environmental requirements using xml format to help cloud to choose a specific mirror. Then cloud creates a virtual machine using the image and sets up test the environment. And this paper is used the Django framework as the user client interface and used Pxssh deal to be responsible for communication between cloud and Autotest server.
     According to the attributes of sub tasks and the resources in the testing platform, the paper adopted a algorithm whose cloud test system-level scheduling method is based on test cases for the size, and the original list scheduling algorithm is improved. The test tasks use of list scheduling algorithms,while sub-tasks uses of priority, task dependencies as task scheduling principles to dynamically generated and distribute virtual machines.
引文
[1]齐治昌,谭庆平,宁洪,软件工程[M].北京:高等教育出版社,2001年.
    [2]周涛,航天型号软件测试[M],北京:宇航出版社,1999年.
    [3]单锦辉,姜瑛,孙萍,软件测试研究进展[J],北京大学学报(自然科学版),第41卷,第一期,2005年1月.
    [4]廖新粮,基于任务调度的自动测试方法及系统实现[D],成都:电子科技大学,2011年.
    [5]云计算,维基百科:http://zh.wikipedia.org/zh-cn/%E4%BA%91%E8%AE%A1%E7%AE%97.
    [6]雷葆华,饶少阳,江峰,汪峰,云计算解码技术架构和产业运营[M],电子工业出版社,2011年.
    [7]James Murty,Programming Amazon Web Service[M],O'Reilly,2008年.
    [8]陈全,邓倩妮,云计算及其关键技术[J],计算机应用,2009年.
    [9]黄鹤,云计算体系结构论述[J],现代工业贸易,2010年.
    [10]朱炯,虚拟化技术的发展及应用[J],科技浪潮,2006年.
    [11]黄景昌,Xen虚拟化技术简述[J],科技浪潮,2007年.
    [12]罗婕,宁天桥,服务器虚拟化技术在计算机实验室的实践应用[J],计算机时代,2007年.
    [13]M.FENN,M.A.MURPHY,J.MARTIN,An Evaluation of KVM for Use in Cloud Computing[J],ACM Transactions on Computational Logic,Month 2010.
    [14]李群,基于Vmware软件的虚拟实验环境的构造[J],今日科苑,2010年.
    [15]刘震宇,基于VMware vSphere4_0的PC服务器资源池构建[D],大连:大连海事大学,2010年.
    [16]黄景昌,Xen虚拟化技术简述[J],科技浪潮,2007年.
    [17]Xen,维基百科:http://zh.wikipedia.org/zh-cn/Xen.
    [18]崔泽永,基于KVM的虚拟机调度方法研究[D],北方工业大学,2010年.
    [19]崔泽永,赵会群,基于KVM的虚拟化研究及应用[J],计算机技术与发展,2011年6月,第21卷第6期.
    [20]陈波,唐灵丽,周忠海,袁志平,基于VMware vSphere SDK的虚拟化客户应用程序实现[J],电脑知识与技术,2010年.
    [21]吴朱华,云计算核心技术剖析[M],人民邮电出版社,2011年5月.
    [22]房秉毅,张云勇,程莹,徐雷,云计算国内外发展现状分析[J],电信科学,2010年8A期.
    [23]佟伟光,软件测试[M],人民邮电出版社,2008年5月.
    [24]朱少民,软件测试方法和技术[M],清华大学出版社,2010年7月.
    [25]Elfriede Dustin,Thom Garrett,Implementing Automated Software Testing[M],机械工业出版社.
    [26]云测试,http://www.51testing.com/html/32/n-232232.html.
    [27]云测试,http://www.chinatesting.cn/h/2792/369021-19395.html#pager.
    [28]Cloud Testing,http://www.cloudtesting.com/.
    [29]Keynote,http://kite.keynote.com/.
    [30]SOASTA CloudTest Architecture. http://www.soasta.com/technology/architecture/.
    [31]Alldaytest,http://www.alldaytest.com/.
    [32]陆建豪,Taas应用——无锡云计算中心实验[J],程序员,2009年12月
    [33]Tariq M. King, Annaji Sharma Ganti, Migrating Autonomic Self-Testing to the Cloud, Third International Conference on Software Testing. Verification, and Validation Workshops,2010.
    [34]T. Vengattaraman, P. Dhavachelvan, R. Baskaran, A Model of Cloud Based Application Environment for Software Testing(IJCSIS) International Journal of Computer Science and Information Security, Vol.7, No.3,2010.
    [35]The Future of Automatic Test System (ATS) Brought by Cloud Computing, IEEE AUTOTESTCON,2009.
    [36]Zohar Ganon and Itai E. Zilbershtein, Cloud-based Performance Testing of Network Management Systems, IEEE 14th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks,2009.
    [37]Takayuki Banzai, Hitoshi Koizumi, Ryo Kanbayashi, D-Cloud:Design of a Software Testing Environment for Reliable Distributed Systems Using Cloud Computing Technology,2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.
    [38]Lian Yu, Le Zhang, Huiru Xiang, Yu Su, Wei Zhao, Jun Zhu, A Framework of Testing as a Service, MASS '09. International Conference on Management and Service Science,2009.
    [39]Lian Yu, Wei-Tek Tsai, Xiangji Chen, Linqing Liu, Yan Zhao, Liangjie Tang, Wei Zhao,Testing as a Service over Cloud,2010 Fifth IEEE International Symposium on Service Oriented System Engineering.
    [40]Liviu Ciortea, Cristian Zamfir, Stefan Bucur, Vitaly Chipounov, George Candea, Cloud9:A Software Testing Service, ACM SIGOPS Operating Systems Review, Volume 43 Issue 4,January 2010.
    [41]付新华,肖明清,夏锐,基于蚁群算法的并行测试任务调度[J],系统仿真学报,第20卷第16期,2008年8月.
    [42]Daniel Nurmi,Rich Worlski,Chris Grzegorczyk, Graziano Obertelli, Sunil Soman,Lamia Youesff,Dmitrii Zagorodnov,The Eucalyptus Open-source Cloud-computing System,9thIEEE/ACM Internationl Svmposium On Cluster Computing and the grid.
    [43]Amazon EC2.http://aws.amazon.com/ec2/.
    [44]Eucalyptus System, http://www.eucalyptus.com/.
    [45]Autotest structure overview, http://Autotest.kernel.org/wiki/AutotestStructure.
    [46]杜杰,网格环境中基于DAG的并行任务调度算法研究[D],上海交通大学,2009年.
    [47]孟宪福,刘伟伟,基于选择性复制前驱任务的DAG调度算法[J],计算机辅助设计与图形学学报,2010年,22(6).
    [48]华强胜,基于DAG模型的高效并行任务调度算法研究[D],中南大学,2004年.
    [49]李佳,网格环境中任务DAG调度算法研究[D],中南大学,2008年.
    [50]Tae-Joong Lee,Jun-Woo Kang,Young-Hwa Kim. AN EFFICIENT AUTOMATIC TESTING ALGORITHM FOR POWER SUPPLIES IN ELECTRONIC SYSTEMS. TENCON. Cheju Island:IEEE,1999.
    [51]陈杰,Intel Viiv Media Server项目中的AutoCCU自动化黑盒测试[D],南京大学,2007年.
    [52]涂唆霖,B/S环境下功能测试平台的研究与设计[D],华南理工大学,2009年.
    [53]冷知见,软件自动化测试方法的研究与应用[D],武汉理工大学,2011年.
    [54]Xiao Xun,Wang Jiangqing.An Application of Vertex Partition for Parallel Test Tasks,Scheduling in Automatic Test System.CSSE.Washington DC:IEEE Computer Society,2008.
    [55]H.-Ch.Dahmen,U.Glaser,H.T.Vierhaus.An Efficient Dynamic Parallel Approach to Automatic Test Pattern Generation. VLSI. Urbana-Champaign, IL:IEEE,1997.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700