基于云平臺(tái)的測(cè)試任務(wù)調(diào)度策略的研究
本文選題:Hadoop + 權(quán)重調(diào)度算法; 參考:《長(zhǎng)春工業(yè)大學(xué)》2017年碩士論文
【摘要】:隨著軟件行業(yè)的快速發(fā)展,軟件的開(kāi)發(fā)周期和開(kāi)發(fā)成本越來(lái)越被重視,軟件測(cè)試作為軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),不僅僅為軟件產(chǎn)品提供質(zhì)量把關(guān),而且還能降低人力重復(fù)投入的風(fēng)險(xiǎn),從而縮短開(kāi)發(fā)周期、減少開(kāi)發(fā)成本。云計(jì)算的出現(xiàn)與發(fā)展,為軟件測(cè)試技術(shù)提供了新的方向,將測(cè)試任務(wù)遷移到云平臺(tái),在云環(huán)境下執(zhí)行測(cè)試任務(wù),不僅可以節(jié)省配置環(huán)境的成本,而且還極大的加快了測(cè)試任務(wù)的執(zhí)行速度,減少測(cè)試時(shí)間的同時(shí)還減少了測(cè)試人員的冗余工作。在云平臺(tái)上執(zhí)行測(cè)試任務(wù),高效的任務(wù)調(diào)度算法是必不可少的。優(yōu)秀的調(diào)度算法可以提高整個(gè)系統(tǒng)的資源利用率,縮短任務(wù)的執(zhí)行時(shí)間。目前云環(huán)境中的調(diào)度算法一般都存在著一些局限性,不能完全適應(yīng)測(cè)試任務(wù),因?yàn)闇y(cè)試任務(wù)不同于一般的任務(wù),測(cè)試任務(wù)不僅本身帶有不同的優(yōu)先級(jí)別,而且測(cè)試任務(wù)之間還存在著依賴關(guān)系。尤其是在執(zhí)行回歸測(cè)試任務(wù)時(shí),調(diào)度算法變得更為重要。因此本文針對(duì)云平臺(tái)下的回歸測(cè)試任務(wù)調(diào)度問(wèn)題,對(duì)測(cè)試任務(wù)的調(diào)度策略進(jìn)行了深入的研究。針對(duì)優(yōu)先級(jí)不同的特性,提出了一種基于權(quán)重的調(diào)度算法Weight Scheduler,算法不僅考慮了測(cè)試任務(wù)的初始優(yōu)先級(jí),還可以根據(jù)集群的具體資源使用情況,調(diào)度測(cè)試任務(wù);為了避免出現(xiàn)饑餓現(xiàn)象,對(duì)于等待時(shí)間較長(zhǎng)的測(cè)試任務(wù)給予適當(dāng)增長(zhǎng)權(quán)重,使調(diào)度盡可能公平。對(duì)比的實(shí)驗(yàn)結(jié)果表明,Weight Scheduler調(diào)度算法比Hadoop自帶調(diào)度算法Capacity Scheduler效率更高。針對(duì)任務(wù)間依賴關(guān)系,策略中首先對(duì)測(cè)試任務(wù)進(jìn)行預(yù)處理,根據(jù)用戶上傳的測(cè)試任務(wù)抽象出DAG圖。從DAG圖中劃分出路徑,每條路徑中的節(jié)點(diǎn)間有依賴,不同路徑之間任務(wù)可并行。然后根據(jù)DAG圖中路徑,整合測(cè)試用例和修改測(cè)試腳本?紤]了腳本維護(hù)成本問(wèn)題,實(shí)現(xiàn)了測(cè)試腳本的參數(shù)化。最后,將測(cè)試腳本和測(cè)試用例上傳到Hadoop的HDFS文件系統(tǒng)。結(jié)合MapReduce編程模型,對(duì)修改后的測(cè)試腳本設(shè)計(jì)map函數(shù)和reduce函數(shù),其中加入啟動(dòng)自動(dòng)化測(cè)試工具語(yǔ)句,自動(dòng)執(zhí)行測(cè)試,回收測(cè)試結(jié)果。MapReduce的執(zhí)行需要Weight Scheduler來(lái)控制,算法根據(jù)Hadoop云平臺(tái)狀態(tài)對(duì)測(cè)試任務(wù)進(jìn)行調(diào)度。結(jié)合自動(dòng)化測(cè)試工具Selenium在Hadoop上搭建云測(cè)試任務(wù)管理平臺(tái),以校內(nèi)網(wǎng)站為被測(cè)目標(biāo)進(jìn)行了測(cè)試整個(gè)平臺(tái)的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果證明了本文研究算法的高效性以及調(diào)度策略的有效性,相比于單機(jī)執(zhí)行測(cè)試任務(wù),在云平臺(tái)下節(jié)省了測(cè)試時(shí)間,加快了測(cè)試速度。
[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.
【學(xué)位授予單位】:長(zhǎng)春工業(yè)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2017
【分類號(hào)】:TP311.53
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 趙斌飛;劉磊;;測(cè)試腳本自動(dòng)生成器的設(shè)計(jì)與實(shí)現(xiàn)[J];計(jì)算機(jī)科學(xué);2008年06期
2 王莉;殷鋒;李奇;;軟件自動(dòng)化測(cè)試腳本設(shè)計(jì)研究[J];西南民族大學(xué)學(xué)報(bào)(自然科學(xué)版);2006年02期
3 萬(wàn)琳;廖飛雄;;一種分層結(jié)構(gòu)測(cè)試腳本技術(shù)[J];計(jì)算機(jī)系統(tǒng)應(yīng)用;2011年07期
4 蔣云;趙佳寶;;自動(dòng)化測(cè)試腳本自動(dòng)生成技術(shù)的研究[J];計(jì)算機(jī)技術(shù)與發(fā)展;2007年07期
5 喻鋼;徐中偉;杜軍威;;場(chǎng)景—事件驅(qū)動(dòng)的安全苛求軟件系統(tǒng)仿真測(cè)試腳本語(yǔ)言研究[J];計(jì)算機(jī)應(yīng)用;2010年02期
6 吳立松;楊根興;蔡立志;;基于構(gòu)件的測(cè)試腳本復(fù)用技術(shù)研究[J];計(jì)算機(jī)應(yīng)用研究;2009年04期
7 殷永峰,劉斌,陸民燕;實(shí)時(shí)嵌入式軟件測(cè)試腳本技術(shù)研究[J];計(jì)算機(jī)工程;2003年01期
8 祁琳瑩;洪玫;馮麗云;周寧;文婷婷;;一種針對(duì)單元測(cè)試框架的測(cè)試腳本重用方法[J];計(jì)算機(jī)應(yīng)用研究;2013年06期
9 黃盛;基于SAP項(xiàng)目的自動(dòng)化測(cè)試腳本開(kāi)發(fā)技術(shù)研究[J];計(jì)算機(jī)工程;2004年S1期
10 馬慶利;王瀾;;自動(dòng)生成XML測(cè)試腳本的類測(cè)試[J];信息技術(shù);2006年11期
相關(guān)會(huì)議論文 前2條
1 程菲;汪玲;;基于三次握手的網(wǎng)絡(luò)自動(dòng)化測(cè)試腳本的設(shè)計(jì)與實(shí)現(xiàn)[A];2011年通信與信息技術(shù)新進(jìn)展——第八屆中國(guó)通信學(xué)會(huì)學(xué)術(shù)年會(huì)論文集[C];2011年
2 李秀華;葉新銘;王玉龍;;WTML:基于XML的Web應(yīng)用測(cè)試腳本語(yǔ)言[A];第二十二屆中國(guó)數(shù)據(jù)庫(kù)學(xué)術(shù)會(huì)議論文集(技術(shù)報(bào)告篇)[C];2005年
相關(guān)重要報(bào)紙文章 前2條
1 中國(guó)建設(shè)銀行信息技術(shù)部 肖魯川;對(duì)比測(cè)試腳本制作技術(shù)[N];計(jì)算機(jī)世界;2004年
2 金力;速度之爭(zhēng)[N];中國(guó)電腦教育報(bào);2004年
相關(guān)碩士學(xué)位論文 前10條
1 張海攀;基于需求追蹤的Web應(yīng)用測(cè)試腳本修復(fù)和版本控制技術(shù)研究[D];復(fù)旦大學(xué);2014年
2 李建健;基于TestNG的自動(dòng)化測(cè)試腳本的設(shè)計(jì)與研究[D];西安工業(yè)大學(xué);2014年
3 鐘珀辰;面向Web軟件的分布式壓力測(cè)試工具的設(shè)計(jì)與實(shí)現(xiàn)[D];國(guó)防科學(xué)技術(shù)大學(xué);2013年
4 雷蕾;基于OSGi的自動(dòng)測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D];西安電子科技大學(xué);2015年
5 王榮麗;基于云平臺(tái)的測(cè)試任務(wù)調(diào)度策略的研究[D];長(zhǎng)春工業(yè)大學(xué);2017年
6 桑會(huì)蘭;自動(dòng)化軟件測(cè)試腳本管理工具研究和實(shí)現(xiàn)[D];上海交通大學(xué);2012年
7 王雪;基于逆向工程的測(cè)試腳本轉(zhuǎn)換框架的研究與實(shí)現(xiàn)[D];北京交通大學(xué);2009年
8 張盈謙;本體知識(shí)庫(kù)在軟件測(cè)試腳本自動(dòng)生成中的應(yīng)用[D];大連理工大學(xué);2006年
9 高則寶;人類知識(shí)輔助的GUI測(cè)試腳本修復(fù)技術(shù)[D];南京大學(xué);2013年
10 李小U,
本文編號(hào):2050363
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2050363.html