[發(fā)明專利]一種面向軟件升級的軟件測試方法在審
| 申請?zhí)枺?/td> | 201310655851.5 | 申請日: | 2013-12-06 |
| 公開(公告)號: | CN104699595A | 公開(公告)日: | 2015-06-10 |
| 發(fā)明(設計)人: | 張潔;陳俊潔;郝丹;熊英飛;謝冰;梅宏 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/445 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙) 11360 | 代理人: | 朱紅濤 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 軟件 升級 測試 方法 | ||
技術領域
本發(fā)明提供一種面向軟件升級的基于等式描述的蛻變關系自動構造的軟件測試方法,該方法可以輔助蛻變測試的進行,屬于軟件測試領域。
背景技術
在軟件測試領域,測試人員通常憑借測試預言(test?oracle)判斷待測程序是否通過。但對很多程序而言(如科學計算程序),測試預言的獲取極其困難,測試人員往往無法判斷特定輸入下的輸出結果的正確性。蛻變測試技術是一種新型的軟件測試技術,該方法通過檢測程序多次輸出結果之間的蛻變關系來測試程序,不需要構造程序單次執(zhí)行的預期輸出。
蛻變關系是蛻變測試的核心。簡單說來,蛻變關系表明了程序多次執(zhí)行過程中輸入的改變對輸出結果的影響。以三角函數sin為例,sin(x+π)=-sin(x)是一個簡單的蛻變關系(輸入由x變?yōu)閤+π,則輸出結果互為相反數),當測試計算sin函數的程序P時,若測試用例為x=39°,測試人員很難得知sin(39°)的準確預期結果,卻能夠比較容易的判斷sin(39°+π)和-sin(39°)是否相等。若不相等,則程序P存在錯誤。
當前蛻變測試相關研究主要包括:蛻變測試過程的優(yōu)化、蛻變關系的篩選、蛻變測試與其他驗證或測試技術的結合、蛻變測試技術在特定領域中的應用等等。現有研究雖然可以有效彌補傳統(tǒng)測試方法的不足,但是缺少實用的蛻變關系構造方法,且到目前為止沒有方法能夠實現自動構造蛻變關系。
發(fā)明內容
本發(fā)明針對現有技術的不足,提供了一種面向軟件升級的基于等式描述的蛻變關系自動構造的軟件測試方法,可應用于軟件版本升級過程中的缺少測試預言(test?oracle)程序的檢錯。
本發(fā)明提供的技術方案如下:
一種面向軟件升級的軟件測試方法,其特征是,
A.在軟件升級前,測試人員針對現有軟件,構造每個程序的蛻變關系;所述程序指的是實現特定函數計算功能的程序代碼;
B.在軟件升級后,針對修改后的程序,測試人員產生n(該值可由用戶指定,例如,可以設置n=100或200等)個一定范圍內(如-5~5)的隨機數作為測試用例,然后將每個測試用例和其在修改后程序中相應的輸出代入修改之前程序構造出的蛻變關系式中,查看蛻變關系式是否成立,若修改后的程序不符合之前所構造出來的蛻變關系,則說明軟件在升級過程中存在錯誤。
其中,步驟A中,構造程序蛻變關系的步驟如下:
1)蛻變關系形式化:所有程序中的蛻變關系用如下公式表示:
其中,I1為程序原有輸入,I2為改變后的輸入;O1為和I1相對應的輸出,O2為和I2相對應的輸出,Ri代表I1和I2之間的關系,R0代表O1和O2之間的關系;
2)蛻變關系參數化:為了構造蛻變關系,將Ri和R0限制在等式范圍內,當Ri為線性等式時,包括如下情形:
情形A:Ro為線性等式;
情形B:Ro為二次等式;
情形C:Ro為三次等式;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學;,未經北京大學;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310655851.5/2.html,轉載請聲明來源鉆瓜專利網。





