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

面向軟件錯誤定位的測試用例約簡技術綜述

2014-04-29 00:00:00龔丹丹蘇小紅王甜甜馬培軍
智能計算機與應用 2014年3期

收稿日期:2014-03-08

基金項目:國家自然科學基金(61173021,61202092)。

作者簡介:龔丹丹(1982-),女,吉林省吉林市人,博士研究生,主要研究方向: 軟件錯誤定位、測試用例約簡;

蘇小紅(1966-),女,黑龍江哈爾濱人,博士,教授,博士生導師,主要研究方向: 軟件缺陷檢測、軟件錯誤定位;

王甜甜(1980-),女,遼寧丹東人,博士,副教授,主要研究方向: 程序分析、軟件錯誤定位;

馬培軍(1963-),男,山東濰坊人,博士,教授,博士生導師,主要研究方向: 軟件工程、智能信息處理與信息融合。

摘要:在整個軟件開發周期中,軟件測試占軟件開發和維護成本的一半以上,而軟件錯誤定位是一個最困難,最耗時的任務。錯誤定位技術以定位軟件中的錯誤代碼為目的,通過在待測程序上運行合適的測試用例的基礎上,分析并定位錯誤語句。由于錯誤定位的精度高度依賴于選擇的測試用例,測試用例的數量和質量是決定錯誤定位的成本和有效性的關鍵因素,因此,面向錯誤定位選擇有效的測試用例,不僅有助于分析軟件錯誤產生的原因,還能極大地提高軟件錯誤定位的效率。首先對面向錯誤定位的測試用例約簡方法進行了分類,并對各類測試用例約簡方法進行了分析和總結,進而指出了其中存在的問題和未來的研究方向。

關鍵詞:軟件測試; 錯誤定位; 測試用例約簡

中圖分類號:TP311.5文獻標識碼:A文章編號:2095-2163(2014)03-0039-03

A Survey of Test Cases Reduction Approach Oriented to Software Fault Localization

GONG Dandan,SU Xiaohong,WANG Tiantian,MA Peijun

(School of Computer Science and Technology,Harbin Institute of Technology,Harbin 150001,China)

Abstract:Software testing run through the entire software development cycle,which consumes more than 50% of the development and maintenance effort.Fault localization is the most difficult and time-consuming task.Aimed at locating faults in software,fault-localization approach locates faults by running suitable test cases.The effectiveness of fault localization highly depends on the test cases,and the quantity and quality of the test cases are to demine the cost and effectiveness of fault localization.Thus,selecting suitable test cases is helpful to understanding why a faulty statement cause failure and improving the efficient of fault localization.In this paper,the test cases reduction approach oriented to fault localization is classified,and the different methods of test cases reduction approach are analyzed and summarized.After that,the paper points out the existing problems and the future research direction.

Key words:Software Testing; Fault Localization; Test Cases Reduction

0引言

計算機軟件正廣泛應用于經濟、軍事、商業等各個領域中,對其可靠性問題的研究也日益得到了人們的廣泛重視。保證軟件高可靠性已成為系統開發和維護工作中不可或缺的一個重要方面。隨著軟件規模越來越大、邏輯越來越復雜,對軟件可靠性的要求也日漸提高。然而,軟件并不是如人們預期般總能可靠地運行,影響軟件可靠性的一個主要因素就是軟件中潛在的錯誤,這些潛在的軟件錯誤極有可能對計算機應用系統帶來不利影響。在此背景下,軟件錯誤自動定位的目的就是通過執行程序源代碼,分析程序運行過程中的運行時狀態,檢測程序中的異常情況,并將其獨立出來作為需要進一步調試的可疑代碼,從而將與軟件錯誤無關的代碼自動過濾掉,縮小錯誤代碼的搜索范圍,輔助開發人員快速有效地定位軟件錯誤。

錯誤定位技術以定位軟件中的錯誤代碼為目的,可通過在待測程序上運行合適的測試用例,進而分析并定位錯誤語句。因此,錯誤定位的精度要更多地依賴于所執行的測試用例的質量。相應地,制定合適的測試用例約簡方法,得到適合定位程序錯誤的測試用例的集合,已經成為亟需解決的問題。

本文在介紹測試用例的基礎上,對面向錯誤定位的測試用例約簡方法進行了分類,并對各類測試用例約簡方法進行了介紹,最后對現有的測試用例約簡方法進行了分析和總結。

1面向軟件錯誤定位的測試用例約簡方法概述

目前,關于測試用例的研究大多用于軟件測試\\[1-2\\],該方法首先在被測程序上執行測試用例,分析被測程序的動態行為和運行結果,由此而發現程序錯誤或功能缺陷,追求的目標是測試的充分性,因此,軟件測試所使用的測試用例的集合一般都會比較大。但是該測試用例的集合中,很大一部分測試用例對錯誤定位的貢獻不大,甚至一些冗余或偶然正確的測試用例還會降低錯誤定位的精度和效率。針對這一問題,很多學者提出了不同的測試用例約簡方法,并進一步研究測試用例的約簡對錯誤定位精度的影響。

測試用例約簡是指在原測試用例的集合基礎上,根據不同的測試需求,采用相應的約簡策略,刪除與測試需求無關的測試用例。目前,測試用例約簡的研究大多面向軟件測試,而用于錯誤定位的測試用例約簡方法的研究較少。在研究面向錯誤定位的測試用例約簡方法\\[7-12\\]中,學者們的研究對象主要是程序在執行過程中的程序譜\\[13\\]信息,即根據程序運行測試用例時的語句覆蓋情況進行分析,據此再進行測試用例的約簡。

2面向軟件錯誤定位的測試用例約簡方法分類

面向錯誤定位的測試用例約簡方法主要分為基于語句覆蓋的測試用例約簡方法、基于語句向量的測試用例約簡方法和突出考慮錯誤測試用例對錯誤定位影響的測試用例約簡方法。下面對這三種約簡方法逐一地展開分析。

第3期龔丹丹,等:面向軟件錯誤定位的測試用例約簡技術綜述智能計算機與應用第4卷 2.1基于語句覆蓋的測試用例約簡方法

該類方法主要目的是保證各語句在約簡后的測試用例的集合中皆被執行。即在原測試用例集合的基礎上,制訂不同的策略,選擇部分測試用例,最終達到各語句皆被執行的目的。通常,基于語句覆蓋的測試用例約簡方法得到的約簡后的測試用例數目較少,但與未約簡的測試用例的集合相比,約簡后的測試用例的集合很難提高錯誤定位的精度。

下面舉例說明基于語句覆蓋的測試用例約簡方法。圖1為實例程序mid()和所執行的測試用例的集合{t1,t2,t3,t4,t5,t6,t7,t8}。該實例程序mid()已廣泛應用于錯誤定位和測試用例約簡方法中,以驗證其方法的有效性。其中,程序mid()的功能為,輸入三個整數,輸出三個整數的中間值。程序的第7行“m=y”為錯誤語句,正確語句應為“m=x”。程序的右側為8個測試用例t1~t8。●表示執行測試用例t時,第i條語句被執行。由此可以看出,語句5僅被測試用例t2覆蓋,則約簡后的測試用例的集合應包含t2,語句11僅被t4覆蓋,則約簡后的測試用例的集合也應包含t4。對于語句6,同時被t1、t5、t7和t8覆蓋,各學者對此提出了不同的策略,在t1、t5、t7和t8中選取其一。按照以上方法,當所有語句皆被覆蓋時,即可得到最終約簡后的測試用例的集合。在語句覆蓋的測試用例約簡方法中,一些學者首先將正確測試用例和錯誤測試用例進行區分,再制訂相應的測試用例約簡策略,最終得到不同的測試用例的集合。

Baudry等\\[14\\]將相同測試用例所覆蓋的語句定義為動態基本塊,研究了動態基本塊的數量對錯誤定位精度的影響。結果表明錯誤定位的精度受動態基本塊數量的影響。

Zhang等\\[15\\]將相對冗余的思想應用于錯誤定位約簡方法中,研究成果表明,均衡語句覆蓋可以提高錯誤定位的精度。

2.2基于語句覆蓋的測試用例約簡方法

該方法主要將測試用例執行后的覆蓋信息以向量為對象進行分析。例如,執行測試用例t1的向量為<1,1,1,1,0,1,1,0,0,0,0,0,1>,執行測試用例t2的向量為<1,1,1,1,1,0,0,0,0,0,0,0,1>,由此可以看出,t1的向量與t2的向量不同,則約簡后的測試用例的集合應同時包含t1和t2。t1、t7和t8所對應的向量相同,則可根據不同的策略,選擇其中之一。同時,也可以將正確測試用例和錯誤測試用例區別對待,再制訂相應的測試用例約簡策略,最終得到不同的測試用例的集合。

mid() {

int x ,y ,z ,m ;測試用例t1t2t3t4t5t6t7t83,3,51,2,33,2,15,5,55,3,47,5,42,1,34,3,51: read ( x,y,z ) ;●●●●●●●●2:m=z;●●●●●●●●3:if(yy)●●●10:m=y;●●11:else if (x>z )●12:m=x;13:printf(m);●●●●●●●●}Pass / Fail StatusPPPPPPFF圖1實例程序及測試用例

Fig.1Example program and its test cases

Yu\\[16\\]等在語句向量的基礎上,將相對冗余思想用于測試用例約簡,并將結果與基于語句覆蓋的測試用例約簡方法相對比。實驗結果證明,與基于語句覆蓋的測試用例約簡方法相比,基于語句向量的測試用例約簡方法刪除了較少的測試用例,但約簡后的測試用例更有利于錯誤定位。

2.3突出考慮錯誤測試用例對錯誤定位影響的測試用例約簡方法該類方法主要目的是保證各語句在約簡后的測試用例的集合中皆可得到執行。即在原測試用例的集合的基礎上,制訂不同的策略,選擇部分測試用例,最終達到各語句皆可執行的目的。通常,基于語句覆蓋的測試用例約簡方法得到的約簡后的測試用例數目較少,但與未約簡的測試用例的集合相比,約簡后的測試用例的集合很難提高錯誤定位的精度。

在以上兩類測試用例約簡方法中,盡管一些學者提出了將正確測試用例和錯誤測試用例分類,但并未突出考慮錯誤測試用例對錯誤定位的影響。而研究表明,與正確測試用例相比,錯誤測試用例更有助于錯誤定位。

Wang\\[18\\]等提出根據錯誤路徑生成最相似的正確路徑,但算法的復雜度很高并只能生成一條成功路徑且對賦值錯誤的定位不太敏感。

Chen\\[19\\]等研究了根據測試需求直接生成測試用例集合的方法。文中指出,測試用例需求的好壞,直接影響所生成的測試用例的質量。在構造需求關系圖的基礎上,首先生成測試用例需求,并在此基礎上進行測試需求的優化,由此即構造出與測試需求相關的測試用例。

3結束語

目前的測試用例約簡方法,都只研究了程序運行時的語句覆蓋情況,忽略了程序運行時的具體執行路徑信息,因為具有相同語句覆蓋的測試用例所對應的執行路徑未必相同,而且約簡測試用例時對錯誤定位的需求考慮并不充分,因此,約簡后的測試用例對錯誤定位的精度沒有明顯提高,甚至某些測試用例選擇方法還會降低錯誤定位的精度。如果能夠在分析程序執行路徑基礎上,面向錯誤定位需求約簡出對錯誤定位有效的測試用例,那么不僅能降低錯誤定位的復雜度,而且也必將有助于提高錯誤定位的精度。

參考文獻:

\\[1\\]VESSEY I.Expertise in debugging computer programs\\[J\\].International Journal of Man-Machine Studies: A Process Analysis,1985,23(5):459-494.

\\[2\\]WAGNER D.A first step towards automated detection of buffer overrun vulnerabilities\\[C\\]// Proc.7th Network and Distributed System Security Symp,Internet Soc,2002: 3-17.

\\[3\\]ALEXANDRE P,RUI A,ANDRE R.A dynamic code coverage approach to maximize fault localization efficiency\\[J\\].Journal of Systems and Software,2014:18-28.

\\[4\\]JARED D D,RICHARD J E,WILLIAM F P.Systematic bug finding and fault localization enhanced with input data tracking\\[J\\].Computer Security,2013,32:130-157.

\\[5\\]MAO X G,YAN L,DAI Z Y,et al.Slice-based statistical fault localization\\[J\\].Journal of Systems and Software,2014,89:51-62.

\\[6\\]FEYZULLAH K,HASAN S,RRI A.Spectrum-based fault localization for diagnosing concurrency faults\\[J\\].Testing Software and Systems,2013,8254:239-254.

\\[7\\]GROCE A.Error explanation with distance metrics\\[C\\]//Tools and Algorithms for the Construction and Analysis of Systems(TACAS),Barcelona,Spain,March/April,2004:108-122.

\\[8\\]CHAKI S,GROCE A,STRICHMAN O.Explaining abstract counterexamples\\[C\\]//Foundations of Software Engineering.Newport Beach,California,November,2004:73-82.

\\[9\\]JEFFREY D,GUPTA N.Improving fault detection capability by selectively retaining test cases during test suite reduction\\[J\\].IEEE Trans.Softw.Eng.,2007,33 (2):108-123.

\\[10\\]SHEN Shengyu,QIN Ying,LI Sikun.Localizing errors in counterexample with iteratively witness searching\\[C\\]//the Proceedings of 2nd International Conference on Automated Technology for Verification and Analysis,Taipei,Taiwan,2004:56-469.

\\[11\\]葉俊民,張濤,董威,等.基于程序靜態分析和故障樹的軟件故障檢測\\[J\\].計算機工程,2008,34(16):75-79.

\\[12\\]呂春燕.用于程序錯誤定位的運行路徑聚類方法\\[D\\].大連海事大學,2011.6.

\\[13\\] REPS T,BALL T,DAS M,et al.The use of program profiling for software maintenance with applications to the year 2000 problem\\[C\\]//Proceedings of the 6th European Software Engineering Conference Held Jointly with the 5th ACM SIGSoFT International Symposium on Foundations of SoftwareEngineering(ESEC’97/FSE-5).Zurich,Switzerland,1997:432-449.

\\[14\\] BAUDREY B,FLEUREY F,TRAON Y L.Improving test suites for efficient fault localization\\[C\\]//International Conference on Software Engineering,Shanghai,China,May 2006: 82-91.

\\[15\\] ZHANG X,GU Q,CHEN X,et al.A study of relative redundancy in test-suite reduction while retaining or improving fault-localization effectiveness.SAC,2010:2229-2236.

\\[16\\] SANTELICES R,JONES J A,YU Yanbing,et al.Lightweight fault-localization using multiple coverage types\\[C\\]//Proceedings of the 31st International Conference on Software Engineering,May 16-24,2009:56-66.

\\[18\\] WANG Tao,ROYCHOUDHURY A.Automated Path Generation for Software Fault Localization,2005:347-351.

\\[19\\] CHEN Z,XU B,ZHANG X,et al.A novel approach for test suite reduction based on requirement relation contraction.SAC,2008:390-394.

主站蜘蛛池模板: 黄色成年视频| 日韩成人在线一区二区| 免费人成视网站在线不卡| 亚洲国产看片基地久久1024 | 亚洲无码高清一区| 久久国产高潮流白浆免费观看| 1024你懂的国产精品| 中文毛片无遮挡播放免费| 精品久久蜜桃| 免费国产不卡午夜福在线观看| 国产精品久久久久鬼色| 在线精品自拍| 久久免费视频6| 青青青视频蜜桃一区二区| 国产精品亚洲一区二区三区在线观看| 成年人国产视频| 久久99国产综合精品女同| 亚洲视频免| 久久99国产综合精品女同| 国产精品九九视频| 国产成熟女人性满足视频| 狠狠色噜噜狠狠狠狠色综合久| 国产18在线播放| 成人在线观看不卡| 亚洲精品波多野结衣| 色播五月婷婷| 欧美精品二区| 久久久久亚洲AV成人人电影软件| 亚洲天堂久久新| 香蕉在线视频网站| 东京热一区二区三区无码视频| 激情亚洲天堂| 五月天香蕉视频国产亚| 99色亚洲国产精品11p| 欧洲亚洲一区| 好紧好深好大乳无码中文字幕| 97久久精品人人| 国产精品hd在线播放| 亚欧美国产综合| 国产白浆视频| 国产主播一区二区三区| 五月六月伊人狠狠丁香网| 中文无码精品A∨在线观看不卡| 亚洲精品卡2卡3卡4卡5卡区| 国产成人无码综合亚洲日韩不卡| 亚洲日本精品一区二区| 欧美日韩在线亚洲国产人| 久久青草精品一区二区三区| 毛片基地视频| 国产毛片不卡| 久久久国产精品无码专区| 欧美激情首页| 一区二区三区高清视频国产女人| 97av视频在线观看| 青青青国产视频| 小13箩利洗澡无码视频免费网站| 九月婷婷亚洲综合在线| 99久久亚洲精品影院| 欧美福利在线播放| 亚洲国产一成久久精品国产成人综合| 在线观看网站国产| 欧美www在线观看| 久久特级毛片| 国产精品免费p区| 2021精品国产自在现线看| AV老司机AV天堂| 久久无码高潮喷水| …亚洲 欧洲 另类 春色| 69国产精品视频免费| 久久国产拍爱| 国产精品丝袜视频| 天天摸夜夜操| 国产人人乐人人爱| 日韩色图区| 日本久久网站| 美女扒开下面流白浆在线试听| 2022精品国偷自产免费观看| 中文字幕av一区二区三区欲色| 国产精品无码久久久久久| 天天综合天天综合| 日日拍夜夜操| 亚洲国产成人精品一二区|