999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

測試用例修復的方法與工具綜述

2017-02-23 06:48:36程雪梅翟宇鵬
現代計算機 2017年2期
關鍵詞:綜述分析方法

程雪梅,翟宇鵬

(四川大學計算機學院,成都 610065)

測試用例修復的方法與工具綜述

程雪梅,翟宇鵬

(四川大學計算機學院,成都 610065)

由于功能的增加、性能的優化、錯誤的修復等原因,軟件處于不斷演化中。軟件的變化導致在回歸測試中部分測試用例失效,直接丟棄失效用例會降低用例集檢測錯誤的能力,減弱回歸測試的有效性,測試用例修復技術很好地解決這個問題。測試用例修復旨在通過對失效測試用例中的測試元素進行添加、修改、刪除等修復操作,使該測試用例在新版本軟件的回歸測試中執行通過。通過系統文獻綜述的方法,首先對相關文獻進行檢索,然后通過EndNote、Bibexcel、RefViz工具對檢索結果進行文獻計量分析,最后完成文獻綜述。

回歸測試;測試用例修復;測試用例演化;系統文獻綜述;文獻計量分析

0 引言

科技的進步推動社會的發展,軟件系統逐漸應用于社會的各個領域中,人們對于軟件質量的要求也越來越高。為了保證改變過后的軟件的質量,必須對其進行回歸測試。軟件的變化往往導致原有的測試用例集中的某些測試用例失效,直接丟棄失效用例會降低用例集檢測錯誤的能力,減弱回歸測試的有效性,測試用例修復(test repair)技術解決了此問題。

回歸測試是軟件測試過程的一部分,是指對改變過后的新的軟件版本進行重新測試,旨在驗證軟件的改變部分沒有引進新的不可預期的錯誤。測試用例修復指對變化后程序中不可用的測試用例執行修復操作,使其可以在變化后的程序中順利執行通過[1]。

本文主要針對在回歸測試中測試用例修復的問題,對歷年的文獻進行整理分析,回答下面兩個問題:

(1)回歸測試中測試用例修復有哪些方法與工具?

(2)該領域目前的研究熱點和未來的發展趨勢是什么?

本文使用系統文獻綜述方法對課題進行分析,提取出研究學者正在或已經研究出來的方法和工具,總結目前沒有解決的難題,預測該領域未來的研究趨勢。為研究者做研究提供系統性的參考;為工業界提供決策的參考;為軟件工程教材的編寫提供有用的參考。

本文按照圖1的系統文獻綜述框架開展了回歸測試中測試用例修復方法和工具的系統文獻綜述。

1 文獻計量分析

1.1 作者分析

總共檢索出302篇相關文獻。利用工具Bibexcel對這302篇文獻的作者進行分析。【結論】結果顯示Khurshid Safraz和Orso Alessandro出現的次數分別為6次和5次,發表的相關文獻較多,是較為有影響力的作者,但是整體上未能形成核心作者群,高產作者較少。

1.2 期刊分析

使用EndNote工具對檢索到的302篇文獻進行期刊類型分析。【結論】結果顯示目前對于該課題的研究成果的主要呈現形式是會議記錄,其次是期刊文章,顯示出該課題在近幾年逐漸引起研究者的關注,會議中被提及的次數較多但是成熟的研究成果并不多見。

圖1 系統文獻綜述框架

1.3 年份分析

通過閱讀文獻的關鍵詞進行第一輪篩選,剩下84篇文獻,對這84篇文獻進行年份分析。【結論】從結果可以看出從2003年開始,回歸測試用例修復問題的關注度呈上升趨勢,特別是從2009年到2010年上升幅度最明顯且在2010年達到頂峰。

1.4 關鍵詞分析

關鍵詞分析可以揭示文獻所屬領域和研究主題。對篩選過后剩下的84篇文獻進行關鍵詞分析,使用Bibexcel工具對其進行關鍵詞詞頻分析。【結論】test、testing、testingsoftware、GUI、Web、Unit出現頻次相對較高。

1.5 研究熱點分析

通過RefViz工具對剩下的84篇文獻進行聚類分析。在工具中查看文獻分析的Matrix圖,圖2,圖中有顏色的小方塊的顏色越深表示詞匯共現頻率越高,其中execution、dynamic、flow等詞共現頻率較高。結合matrix圖的結果可以看出當前關于回歸測試用例修復問題的研究熱點為符號化執行方法、動態分析方法和靜態分析方法,主要針對的程序類型為GUI和Web程序。

2 測試用例修復方法與工具

2.1 GUI測試用例修復

由于GUI測試用例執行的方式,往往現實中對對GUI程序的構造小小的變化都會導致大量的回歸測試用例不可用。

圖2 Refviz分析結果(matrix圖)

(1)基于事件流圖(EFG)的GUI測試用例修復

Memon等人在2003年提出GUI回歸測試中不可用測試用例的修復問題,起始狀態不正確、中間事件對的非法執行順序是導致GUI回歸測試用例不可用的兩個原因。如果一個測試用例的起始狀態不正確,那么它不可修復。針對中間事件對的非法執行順序的情況,他們運用GUI事件流圖建立GUI回歸測試框架。

(2)基于測試腳本維護的GUI測試用例修復

Grechanik等人在2009年提出通過測試腳本將測試過程自動化,測試腳本通過作用于GUI的對象達到測試的效果。Grechanik等人通過研究GUI對象變化及其對應的測試腳本關系,提出一種維護黑盒測試腳本的REST[1-3]方法:確定GUI程序的哪些對象被修改了,通過此信息找出且確認測試腳本中被修改影響到的部分。

(3)動靜分析結合的GUI測試腳本修復

Daniel等人在2011年提出采用將靜態分析和動態分析相結合的白盒方法進行GUI腳本的修復。在靜態分析GUI腳本并建立狀態結果后,用動態分析方法將GUI腳本和修改結合進行測試用例修復。該方法能夠直接獲得只被GUI修改部分影響的測試用例集,在修復時不需要執行所有的測試腳本,只修改被修改影響到的部分[1,4]。

2.2 Web測試用例修復

當代Web應用在生活中廣泛得到使用,回歸測試對于提高Web應用可靠性來說是一個很有建設性的方法。為了提高Web回歸測試的效率,提出了Web回歸測試用例修復的技術[5-7]。

(1)基于自動修復會話數據的Web測試用例修復

Alshahwan等人在2008年提出了基于會話數據的Web測試用例修復技術,一種完全自動化的的技術。由于web應用的變化,導致一些會話數據可能被淘汰,在新版本上無法正常使用。Alshahwan等人提出了一種基于會話概念的算法,當會話在新版本上不可使用時,該算法可以修復會話,是第一個基于會話數據的Web回歸測試方法。

(2)基于版本行為比較的Web測試用例修復

2011年Choudhary等人提出了一種針對下面兩種失效測試用例的自動修復方法:1)測試用例由于Web頁面的元素的期望值與實際值不一致而執行失敗;2)測試用例由于Web頁面元素移動位置或者發生改變而執行失敗。

在小學體育學科教學中教師必須考慮到小學生的身心發展特點,從而制定出小學生喜聞樂見的教學方式方法。為此,在小學體育學科教學的實踐創新上應當盡量采用游戲、比賽、情景等教學方法,激發學生的運動興趣,讓學生體驗到運動所帶來的愉悅感,從而產生強大、持久的內驅力,培養學生的終身體育意識。由于小學生的年齡特點,興奮占優勢,興奮抑制轉換快,好奇心重,上進心強,故適度變換教學手段會取得比較好的效果,這也是未來小學體育學科教學中實施實踐創新的突破口。

(3)Web測試用例修復工具

Druk等人在2013年提出ReFit工具,用于對合適的測試用例進行重構的Eclipse插件。

ReFit的目的在于當發生重構時通過讓產品代碼、測試需求和測試代碼保持一致的方式自動維護有效的測試用例。

2.3 白盒測試用例修復

在軟件系統的發展中測試是一項很重要的工作。白盒測試是基于源代碼的測試。白盒測試用例修復問題越來越受到人們的關注[8,9]。

(1)白盒測試用例修復方法

①基于符號執行的測試用例修復

②針對方法聲明改變的測試用例修復

在程序演化中,由于方法聲明的改變,部分原有測試用例集可能無法使用。Mirzaaghaei等人在2010年提出了一種叫TcA(TestCareAssistant)的技術,它能夠自動修改測試用例和使參數適應改變了的方法來達到修復測試用例和保持其原來的行為的目的。TcA結合了源代碼定義和數據流分析來修復由于參數或返回值改變而沒有通過編譯的測試用例。

(2)白盒測試用例修復工具

①ReAssert工具

Daniel等人在2009年研發的輔助工具ReAssert,第一個用于單元測試的能夠自動修復不可用用例的工具。ReAssert可以作為Eclipse的插件使用,也可以通過Java library或者命令行使用,可以修復用JUnit 3.*和4.*寫的測試用例[10]。

②TestCareAssistant工具

Mirzaaghaei等人在2010年提出了TcA技術,該技術解決了方法聲明改變造成測試用例編譯出錯導致測試用例失效的問題,在2011年他們將此技術運用于實踐,開發出了工具TestCareAssistant,TestCareAssistant是一個Eclipse插件用來自動修復失效的測試用例。

2.4 測試用例修復方法與工具總結

通過前面對回歸測試中測試用例修復目前存在的方法與工具的介紹,進行簡單的總結與比較,結果如表格1所示。

3 總結與討論

3.1 目前存在的挑戰

軟件系統的發展是處于不斷演化中的,導致用于回歸測試的測試用例集也處于不斷演化中,吸引了大量研究學者對于回歸測試中測試用例修復問題的關注。目前測試用例修復的研究面臨的挑戰包括:(1)對于測試用例是否可修復的判定,仍然沒有明確的定義;(2)現有的修復技術所應用的領域很狹隘;(3)缺乏有效的測試用例修復工具;(4)如何提高測試用例修復技術的準確性依然是一個難題。

3.2 研究熱點和趨勢

針對本文中提出的現有的測試用例修復的技術,并且通過RefViz工具對文獻進行分析后,目前對于該課題的研究熱點包括為符號化執行方法、動態分析方法和靜態分析方法,主要針對的程序類型為GUI和Web程序。可以總結出關于回歸測試中測試用例修復問題在未來的發展趨勢如下:(1)符號化執行方法在測試用例修復問題中的研究;(2)動靜態分析方法結合分析的研究;(3)如何將現有的測試用例修復技術應用到其他程序中將會被越來越多的學者關注。

表1 回歸測試中測試用例修復方法與工具總結表

[1]張智軼,陳振宇,徐寶文.et al.測試用例演化研究進展.軟件學報,2013.

[2]Grechanik M,Q Xie,F Chen.Maintaining and Evolving GUI-Directed Test Scripts[C].Software Engineering,2009.ICSE 2009.IEEE 31st International Conference on.Year:408-418.

[3]Grechanik M,Q Xie,F Chen.Experimental Assessment of Manual Versus Tool-Based Maintenance of GUI-Directed Test Scripts[C]. Software Maintenance,2009.ICSM 2009.IEEE International Conference on.Year:9-18.

[4]Daniel B,Q Luo,M Mirzaaghaei.et al.Automated GUI Refactoring and Test Script Repair(Position Paper)[J].2011,

[5]Dobolyi K,W Weimer.Harnessing Web-Based Application Similarities to Aid in Regression Testing[C].Software Reliability Engineering,2009.ISSRE'09.20th International Symposium on.Year:71-80.

[6]Choudhary S R,D Zhao,H Versee.et al.Water:Web Application Test Repair[C],Year:24-29.

[7]Marin B,T Vos,G Giachetti.et al.Towards Testing Future Web Applications[C].Research Challenges in Information Science(RCIS),2011 Fifth International Conference on.Year:1-12.

[8]Daniel B,T Gvero,D Marinov.On Test Repair Usinqg Symbolic Execution[C],Year:207-218.

[9]Mirzaaghaei M,F Pastore,Pezze.et al.Automatically Repairing Test Cases for Evolving Method Declarations[C].Software Maintenance(ICSM),2010 IEEE International Conference on.Year:1-5.

[10]Daniel B,V Jagannath,D Dig.et al.ReAssert:Suggesting Repairs for Broken Unit Tests[C].Automated Software Engineering,2009. ASE'09.24th IEEE/ACM International Conference on.Year:433-444.

A Survey of Methods and Tools for Test Case Repair

CHENG Xue-mei,ZHAI Yu-peng

(College of Computer Science,Sichuan University,Chengdu 610065)

Due to the increase in function,performance optimization,the error of repair,the software is in continuous evolution.The software change lead to part of the test cases in regression testing failure,simply discard this part of the test cases will will reduce the ability to detect and weaken the effectiveness of regression testing,the test repair technology solved the problem very well.the test repair aims to repair failure test cases in the test element having repair operations such as add,modify,delete,make the test case in the new version software regression testing performed by.Through systematic literature review method,first retrieve the relevant literature,and then through endnote, bibexcel tool for retrieving results bibliometric analysis,and finally completed the literature review.

Regression Testing;Test Case Repair;Test Cases Evolution;Literature Review System;Literature Measurement Analysis

1007-1423(2017)02-0025-05

10.3969/j.issn.1007-1423.2017.02.006

程雪梅(1991-),女,重慶萬州人,碩士,研究方向為軟件工程與軟件測試

2016-11-22

2017-01-10

四川省應用基礎研究項目(No.2014JY0112)

翟宇鵬(1992-),男,江蘇興化人,碩士,研究方向為嵌入式軟件開發與測試

猜你喜歡
綜述分析方法
隱蔽失效適航要求符合性驗證分析
SEBS改性瀝青綜述
石油瀝青(2018年6期)2018-12-29 12:07:04
NBA新賽季綜述
NBA特刊(2018年21期)2018-11-24 02:47:52
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
JOURNAL OF FUNCTIONAL POLYMERS
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
綜述
江蘇年鑒(2014年0期)2014-03-11 17:09:58
主站蜘蛛池模板: 精品夜恋影院亚洲欧洲| 精品一区二区三区中文字幕| 亚洲欧美日韩天堂| 国产精品真实对白精彩久久| 久久96热在精品国产高清| 日韩欧美网址| 99精品视频在线观看免费播放| 日韩欧美中文在线| 亚洲欧美日韩另类| 久久免费看片| 天天躁夜夜躁狠狠躁躁88| 国产69精品久久| 女同国产精品一区二区| 久久国产热| 亚洲第一精品福利| 欧美日韩专区| 婷婷丁香色| 日本人真淫视频一区二区三区| 凹凸国产分类在线观看| 欧美精品亚洲二区| 亚洲一区色| 无码一区18禁| 天堂中文在线资源| 亚洲不卡av中文在线| 热re99久久精品国99热| 国产又粗又猛又爽视频| 亚洲色图欧美激情| 成年人福利视频| 91无码国产视频| 国产无码精品在线播放| 亚洲日韩高清无码| 欧美一区二区三区不卡免费| 中文字幕在线欧美| 日本黄色不卡视频| 日韩乱码免费一区二区三区| 国模私拍一区二区| 欧美日韩中文国产va另类| 日韩中文无码av超清| 最新日本中文字幕| 久久91精品牛牛| 欧美天天干| 国产成人一级| 成人一级免费视频| 无码福利视频| 天天躁夜夜躁狠狠躁躁88| 精品国产中文一级毛片在线看 | 日韩黄色精品| 国产精鲁鲁网在线视频| 国内精品伊人久久久久7777人| 亚洲国产欧美中日韩成人综合视频| 一级毛片在线播放免费观看| 青草免费在线观看| 欧美不卡二区| 91久久大香线蕉| 丝袜国产一区| 无码人中文字幕| 国产精品久久久久无码网站| 国产三级毛片| 亚洲欧美综合另类图片小说区| 99热这里都是国产精品| 亚洲天堂视频网站| 国产精品毛片一区| 欧美日韩国产高清一区二区三区| 亚洲青涩在线| 国产又粗又猛又爽视频| 九九热免费在线视频| 国产在线观看91精品| 凹凸精品免费精品视频| 2022国产无码在线| 91无码人妻精品一区二区蜜桃| 91色爱欧美精品www| 精品1区2区3区| 精品少妇人妻无码久久| 亚洲精品另类| 欧美一级高清片久久99| 欧美日本在线观看| 欧美福利在线| 免费啪啪网址| 午夜免费小视频| 国产综合网站| 日韩不卡高清视频| 亚洲欧美日韩中文字幕在线一区|