[發明專利]面向路徑的軟件測試數據進化生成系統無效
| 申請號: | 201110004891.4 | 申請日: | 2011-01-10 |
| 公開(公告)號: | CN102331966A | 公開(公告)日: | 2012-01-25 |
| 發明(設計)人: | 鞏敦衛;羅永金;張巖;吳川;姚香娟;任麗娜;張婉秋 | 申請(專利權)人: | 中國礦業大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 221008 江蘇省徐州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 路徑 軟件 測試數據 進化 生成 系統 | ||
技術領域
本專利涉及軟件測試領域,設計并開發了一個面向路徑的軟件測試數據自動生成系統。
背景技術
軟件測試是軟件質量保證的關鍵,是軟件開發中不可缺少的環節,也是軟件工程的重要組成部分,測試的效果直接關系到軟件產品的質量。據美國工業界的統計,軟件測試占整個軟件開發周期總成本的50%以上,包括十分耗時、枯燥、非常困難且容易出錯的諸多環節。另外,隨著計算機控制對象復雜度的不斷提高和軟件功能的不斷增強,軟件的規模也在不斷地增大。大型系統的代碼量甚至達到了千萬行以上,這使得軟件測試的開銷也越來越大。在軟件測試工作中最重要的環節就是測試數據的生成,這也是非常耗時的一個環節,則試數據的合理、準確與否常常關系到整個測試的成敗。因此如果將該環節自動化,無疑將會縮短軟件的開發周期,提高軟件質量。
近幾十年來,國際上和國內少數研究機構針對不同的計算機語言開發出路徑覆蓋測試數據生成的系統,其中Scott開發的系統是針對Fortran語言的,但只考慮了有限的Fortran語句,如if語句,和一些簡單的算術分支謂詞以及簡單的變量類型;Ferguson和Korel開發了一個名為TESTGEN的測試數據生成系統,該系統支持Pascal語言編寫的程序模塊的測試數據生成。這個系統具有以下的限制性:只支持整型數據的生成;只支持簡單的算術和布爾分支謂詞;只支持了Pascal語言的一個子集,一些很重要的元素不能應用,如過程等。單錦輝等在2002年《計算機工程與科學》第24卷第1期上給出了一種面向路徑的測試數據自動生成工具的設計與實現,但是該方法使用的測試數據生成方法是基于改進的松弛迭代方法進行的,需要用戶實現的初始操作較多,面對非專業的軟件測試人員是較難使用;劉義等2005年在《中國科教博覽》雜志上發表的C程序路徑覆蓋及測試數據自動生成系統,該方法只是針對分支覆蓋準則的路徑覆蓋;李寶林等在2007年《計算機工程》第33卷第15期中提出的面向路徑的測試數據自動生成工具,該方法在路徑選擇和測試數據生成方法方面均有待改進,且測試數據生成的效率有待提高。
目前在軟件測試各種覆蓋準則中,路徑覆蓋對程序的覆蓋程度最高,檢錯效率也最高,因此設計開發基于路徑覆蓋的測試數據自動生成系統十分必要。現有路徑覆蓋的測試數據生成方法有很多,遺傳算法作為一種高效的全局搜索方法,已經被廣泛應用于測試數據生成中,現有使用該方法自動生成路徑覆蓋測試數據的系統軟件采用的都是傳統遺傳算法,遺傳算法的個體編碼方式、適應值計算、選擇方式、交叉方式以及變異方式等均只使用一種方法,測試數據生成的效率有待提高。實際上被測程序是多種多樣的,如能針對不同被測程序,可以采用不同的編碼方式和不同的適應值計算方法,將能夠有效提高測試數據的生成效率。軟件測試行業需要一種能夠結合現有改進的遺傳算法,快速生成被測程序測試數據的軟件,真正實現軟件測試數據生成的自動化。
發明內容
為了實現軟件測試數據生成的自動化,提高軟件測試的效率和質量,本發明開發出一套面向路徑的軟件測試數據進化生成系統,該系統不僅能夠根據用戶所選擇的測試路徑,自動生成穿越這些目標路徑的測試數據,而且在使用遺傳算法生成測試數據的過程中,提供了多種可供選擇的遺傳算法個體編碼方式、適應值計算方法、選擇方式、交叉方式、變異方式等操作,方便用戶根據被測程序的不同類型選擇不同的測試數據生成方式,真正實現軟件測試數據自動化生成。主要包含以下三大模塊:
1、軟件測試系統管理模塊
本模塊主要實現的功能是被測程序的選擇、插裝、輸入輸出處理以及外部變理處理等一系列設置操作,是通過一個交互式界面來實現的。
1.1被測程序插裝是指為了動態的獲取某一數據在程序中的運行狀態,在程序中插入一些檢查語句,通過這些檢查語句的執行并輸出程序的運行特征數據。本系統主要針對被測程序中的分支語句進行插裝。
1.2輸入處理包含被測程序的導入、被測程序的編輯操作等部分。另外還包括對文件或程序的打開、保存、另存為、編輯、打印等一系列的操作處理。
1.3外部變量處理是對系統中軟件測試數據生成方法的選擇設置,還包含對系統本身的設置操作。
2、被測程序分析操作模塊
本模塊實現了通過對被測程序的內部分析,得出被測程序的輸入數據類型、被測程序的控制流圖、進一步得到針對路徑覆蓋準則的目標路徑等。
2.1被測程序的輸入值個數、輸入值類型及其范圍是應用遺傳算法生成測試數據的重要條件。不同的被測程序輸入值個數不同、輸入值類型及取值范圍也不會相同。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國礦業大學,未經中國礦業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110004891.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:輕型車燃油蒸發排放控制系統
- 下一篇:線路板電金用藍膠





