[發(fā)明專利]一種針對異常處理代碼的測試方法有效
| 申請?zhí)枺?/td> | 201610122013.5 | 申請日: | 2016-03-03 |
| 公開(公告)號: | CN105701016B | 公開(公告)日: | 2018-06-29 |
| 發(fā)明(設(shè)計)人: | 王林章;王錚然;李宣東 | 申請(專利權(quán))人: | 南京大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京知識律師事務(wù)所 32207 | 代理人: | 張?zhí)K沛 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 異常處理 測試 插樁 測試工具 可信度 代碼選擇 評估 開發(fā) | ||
本發(fā)明公布了一種針對java異常處理代碼的測試方法,該方法主要是通過評估不同插樁策略來解決使用插樁技術(shù)生成針對異常處理代碼的測試可信度不高的問題,實現(xiàn)了針對異常處理代碼的測試工具。包括以下步驟:步驟1:評價不同插樁策略對測試可信度的影響;步驟2:自動根據(jù)待測異常處理代碼選擇插樁策略;步驟3:開發(fā)測試工具來實現(xiàn)對異常處理代碼的測試。本發(fā)明通過以上步驟可以實現(xiàn)一個針對java異常處理代碼的測試方法,能產(chǎn)生測試用例對常規(guī)方法難以測試的異常處理結(jié)構(gòu)進行測試。
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于代碼插樁技術(shù)的針對異常處理代碼的白盒測試方法,主要是利用錯誤植入技術(shù)來解決異常處理代碼難以測試的問題,進而生成測試用例,完成測試任務(wù)。屬于軟件工程、白盒測試、錯誤植入交叉技術(shù)領(lǐng)域。
背景技術(shù)
隨著越來越多的程序設(shè)計語言中引入了異常處理結(jié)構(gòu),軟件設(shè)計者越來越多的體會到異常處理結(jié)構(gòu)對于程序設(shè)計帶來的便利。一方面,異常結(jié)構(gòu)幫助理清了編程者的思緒,也幫助代碼增強了可讀性,方便了維護者的閱讀和理解;另一方面,一些研究成果表明,異常處理結(jié)構(gòu)相關(guān)代碼的缺陷密度要遠遠高于軟件的平均缺陷密度。然而通過常規(guī)的測試方法,難以滿足異常的觸發(fā)條件,從而使通過測試的來提高代碼質(zhì)量的方法在異常處理時有些乏力。
軟件測試是工業(yè)界常用的確保軟件質(zhì)量的方法。軟件測試是軟件開發(fā)過程中的一個重要組成部分,是貫穿整個軟件開發(fā)生命周期、對軟件產(chǎn)品(包括階段性產(chǎn)品)進行驗證和確認的活動過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題。軟件測試在軟件的生命周期里扮演著越來越重的角色。
目前的針對異常處理結(jié)構(gòu)的測試工作,主要集中在構(gòu)建程序表達和覆蓋度準則。前者的工作是將異常處理結(jié)構(gòu)加入到一些分析技術(shù)如控制流分析、數(shù)據(jù)流分析、控制依賴分析等;后者的工作是將結(jié)構(gòu)加入到分析技術(shù)后,來評估已有的測試用例對于異常處理結(jié)構(gòu)的覆蓋情況。
異常處理結(jié)構(gòu)的測試,相比于一般程序代碼的測試有著固有的難點。對于常規(guī)的軟件測試,對于預期的輸入給出預期的輸出,使用常規(guī)的黑盒白盒測試方法就可以完成測試任務(wù),然而對于異常處理代碼,這些方法生成的測試用例只能有非常低的覆蓋率。原因是常規(guī)的測試輸入難以達到異常產(chǎn)生的條件,很難覆蓋到異常處理代碼。
錯誤植入技術(shù)是通過動態(tài)修改運行程序創(chuàng)造錯誤,破壞程序的前置條件或后置條件的滿足,通過這種方法人為的增加錯誤來改變程序的運行路徑,可以使程序執(zhí)行到原本執(zhí)行不到的路徑,從而提高測試覆蓋率。通過錯誤植入技術(shù)可以將異常處理代碼測試問題轉(zhuǎn)換為常規(guī)的測試問題。
發(fā)明內(nèi)容
技術(shù)問題:本發(fā)明的目的是針對異常處理代碼進行測試,以錯誤植入技術(shù)為基礎(chǔ),通過分析開源項目在不同位置進行錯誤植入對于測試結(jié)果的影響,構(gòu)造出分類器為待測代碼選擇最優(yōu)的錯誤植入的插樁策略,最終生成測試用例完成測試任務(wù)。
技術(shù)方案:為了實現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為:一種針對異常處理代碼的測試方法,首先選取有充足測試用例的開源項目,通過獲取程序特征以及不同插樁策略的錯誤植入對測試用例運行石的程序路徑的影響,構(gòu)造出針對程序特征的插樁策略分類器,用于選出對測試路徑影響最小的插樁策略;然后以分類器算法為核心完成測試工具,對待測項目生成對應錯誤植入集,選擇語句覆蓋測試工具生成測試用例覆蓋錯誤植入集,最終完成測試任務(wù)。
針對異常處理代碼的測試方法包括以下步驟:
步驟1:評價不同插樁策略對測試可信度的影響。
具體的步驟如下:
步驟1.1:獲取程序執(zhí)行路徑;
步驟1.2:根據(jù)不同插樁策略生成插樁位置;
步驟1.3:對不同插樁位置插樁后運行得到程序路徑;
步驟1.4:比較程序路徑和未插樁是否相同,獲得測試可信度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學,未經(jīng)南京大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610122013.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種多核處理器中裸核異常捕獲與存儲的方法及系統(tǒng)
- 一種嵌入式軟件異常監(jiān)控和處理裝置及其方法
- 一種網(wǎng)絡(luò)處理器異常處理方法及系統(tǒng)
- 基于Linux的軟件異常處理系統(tǒng)及方法
- 用于在異常驅(qū)動系統(tǒng)中處理異常的方法
- 一種異常運行的處理方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)
- 一種異常訂單處理的方法和裝置
- 業(yè)務(wù)異常數(shù)據(jù)處理方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 一種程序異常處理方法和裝置
- 異常處理方法、遠程泊車輔助系統(tǒng)及計算機存儲介質(zhì)





