当前位置:主页 > 科技论文 > 软件论文 >

基于云平台的测试任务调度策略的研究

发布时间:2018-06-21 22:49

  本文选题:Hadoop + 权重调度算法 ; 参考:《长春工业大学》2017年硕士论文


【摘要】:随着软件行业的快速发展,软件的开发周期和开发成本越来越被重视,软件测试作为软件开发过程中的一个重要环节,不仅仅为软件产品提供质量把关,而且还能降低人力重复投入的风险,从而缩短开发周期、减少开发成本。云计算的出现与发展,为软件测试技术提供了新的方向,将测试任务迁移到云平台,在云环境下执行测试任务,不仅可以节省配置环境的成本,而且还极大的加快了测试任务的执行速度,减少测试时间的同时还减少了测试人员的冗余工作。在云平台上执行测试任务,高效的任务调度算法是必不可少的。优秀的调度算法可以提高整个系统的资源利用率,缩短任务的执行时间。目前云环境中的调度算法一般都存在着一些局限性,不能完全适应测试任务,因为测试任务不同于一般的任务,测试任务不仅本身带有不同的优先级别,而且测试任务之间还存在着依赖关系。尤其是在执行回归测试任务时,调度算法变得更为重要。因此本文针对云平台下的回归测试任务调度问题,对测试任务的调度策略进行了深入的研究。针对优先级不同的特性,提出了一种基于权重的调度算法Weight Scheduler,算法不仅考虑了测试任务的初始优先级,还可以根据集群的具体资源使用情况,调度测试任务;为了避免出现饥饿现象,对于等待时间较长的测试任务给予适当增长权重,使调度尽可能公平。对比的实验结果表明,Weight Scheduler调度算法比Hadoop自带调度算法Capacity Scheduler效率更高。针对任务间依赖关系,策略中首先对测试任务进行预处理,根据用户上传的测试任务抽象出DAG图。从DAG图中划分出路径,每条路径中的节点间有依赖,不同路径之间任务可并行。然后根据DAG图中路径,整合测试用例和修改测试脚本。考虑了脚本维护成本问题,实现了测试脚本的参数化。最后,将测试脚本和测试用例上传到Hadoop的HDFS文件系统。结合MapReduce编程模型,对修改后的测试脚本设计map函数和reduce函数,其中加入启动自动化测试工具语句,自动执行测试,回收测试结果。MapReduce的执行需要Weight Scheduler来控制,算法根据Hadoop云平台状态对测试任务进行调度。结合自动化测试工具Selenium在Hadoop上搭建云测试任务管理平台,以校内网站为被测目标进行了测试整个平台的实验。实验结果证明了本文研究算法的高效性以及调度策略的有效性,相比于单机执行测试任务,在云平台下节省了测试时间,加快了测试速度。
[Abstract]:With the rapid development of software industry, more and more attention has been paid to software development cycle and development cost. As an important part of software development, software testing not only provides quality control for software products. Moreover, it can reduce the risk of repeated input, thus shorten the development cycle and reduce the development cost. The emergence and development of cloud computing provide a new direction for software testing technology. Migration of test tasks to cloud platform and execution of test tasks in cloud environment can not only save the cost of configuration environment, It also greatly speeds up the execution of the test task, reduces the test time and reduces the redundant work of the testers. Efficient task scheduling algorithm is necessary to execute test task on cloud platform. The excellent scheduling algorithm can improve the resource utilization of the whole system and shorten the execution time of the task. At present, the scheduling algorithms in cloud environment generally have some limitations and can not be fully adapted to test tasks, because test tasks are different from normal tasks, and test tasks not only have different priority levels, There are also dependencies between test tasks. Especially when performing regression testing, scheduling algorithm becomes more important. Therefore, in this paper, the scheduling strategy of test task is deeply studied in view of the problem of regression test task scheduling on cloud platform. According to the characteristics of different priority, a weight-based scheduling algorithm, weight Scheduler, is proposed. The algorithm not only considers the initial priority of the test task, but also can schedule the test task according to the specific resource usage of the cluster. In order to avoid the phenomenon of hunger, the test task with longer waiting time is given the appropriate increase weight to make the scheduling as fair as possible. The experimental results show that weight Scheduler is more efficient than Hadoop's own capacity Scheduler. According to the dependency relationship between tasks, the test task is preprocessed firstly, and the DAG diagram is abstracted according to the test task uploaded by the user. The path is divided from the DAG graph, the nodes in each path have dependencies, and the tasks between different paths can be parallel. Then integrate test cases and modify test scripts according to the path in the DAG diagram. The cost of script maintenance is considered, and the parameterization of test script is realized. Finally, the test scripts and test cases are uploaded to Hadoop's HDFS file system. Combined with MapReduce programming model, the map function and reduce function are designed for the modified test script, in which the automatic test tool statement is added, the test is executed automatically, and the execution of the test result. MapReduce needs weight Scheduler to control the execution of the test result. The algorithm schedules test tasks according to Hadoop cloud platform state. The cloud test task management platform was built on Hadoop with selenium, and the whole platform was tested on the campus website. The experimental results show that the algorithm is efficient and the scheduling strategy is effective. Compared with single machine, the test time is saved and the test speed is accelerated under the cloud platform.
【学位授予单位】:长春工业大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP311.53

【相似文献】

相关期刊论文 前10条

1 赵斌飞;刘磊;;测试脚本自动生成器的设计与实现[J];计算机科学;2008年06期

2 王莉;殷锋;李奇;;软件自动化测试脚本设计研究[J];西南民族大学学报(自然科学版);2006年02期

3 万琳;廖飞雄;;一种分层结构测试脚本技术[J];计算机系统应用;2011年07期

4 蒋云;赵佳宝;;自动化测试脚本自动生成技术的研究[J];计算机技术与发展;2007年07期

5 喻钢;徐中伟;杜军威;;场景—事件驱动的安全苛求软件系统仿真测试脚本语言研究[J];计算机应用;2010年02期

6 吴立松;杨根兴;蔡立志;;基于构件的测试脚本复用技术研究[J];计算机应用研究;2009年04期

7 殷永峰,刘斌,陆民燕;实时嵌入式软件测试脚本技术研究[J];计算机工程;2003年01期

8 祁琳莹;洪玫;冯丽云;周宁;文婷婷;;一种针对单元测试框架的测试脚本重用方法[J];计算机应用研究;2013年06期

9 黄盛;基于SAP项目的自动化测试脚本开发技术研究[J];计算机工程;2004年S1期

10 马庆利;王澜;;自动生成XML测试脚本的类测试[J];信息技术;2006年11期

相关会议论文 前2条

1 程菲;汪玲;;基于三次握手的网络自动化测试脚本的设计与实现[A];2011年通信与信息技术新进展——第八届中国通信学会学术年会论文集[C];2011年

2 李秀华;叶新铭;王玉龙;;WTML:基于XML的Web应用测试脚本语言[A];第二十二届中国数据库学术会议论文集(技术报告篇)[C];2005年

相关重要报纸文章 前2条

1 中国建设银行信息技术部 肖鲁川;对比测试脚本制作技术[N];计算机世界;2004年

2 金力;速度之争[N];中国电脑教育报;2004年

相关硕士学位论文 前10条

1 张海攀;基于需求追踪的Web应用测试脚本修复和版本控制技术研究[D];复旦大学;2014年

2 李建健;基于TestNG的自动化测试脚本的设计与研究[D];西安工业大学;2014年

3 钟珀辰;面向Web软件的分布式压力测试工具的设计与实现[D];国防科学技术大学;2013年

4 雷蕾;基于OSGi的自动测试平台的设计与实现[D];西安电子科技大学;2015年

5 王荣丽;基于云平台的测试任务调度策略的研究[D];长春工业大学;2017年

6 桑会兰;自动化软件测试脚本管理工具研究和实现[D];上海交通大学;2012年

7 王雪;基于逆向工程的测试脚本转换框架的研究与实现[D];北京交通大学;2009年

8 张盈谦;本体知识库在软件测试脚本自动生成中的应用[D];大连理工大学;2006年

9 高则宝;人类知识辅助的GUI测试脚本修复技术[D];南京大学;2013年

10 李小U,

本文编号:2050363


资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2050363.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户083b4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com