[發明專利]測試用例自動生成的方法、裝置、計算機設備及存儲介質有效
| 申請號: | 201711227912.2 | 申請日: | 2017-11-29 |
| 公開(公告)號: | CN107885663B | 公開(公告)日: | 2021-01-22 |
| 發明(設計)人: | 王劍亮;李冬;劉奕宏 | 申請(專利權)人: | 中國電子產品可靠性與環境試驗研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 黃曉慶 |
| 地址: | 511300 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 測試 自動 生成 方法 裝置 計算機 設備 存儲 介質 | ||
1.一種測試用例自動生成的方法,其特征在于,包括以下步驟:
加載被測程序,接收測試數據;
根據所述測試數據執行所述被測程序中的當前程序語句,檢測分支語句;
若所述分支語句為非線性邏輯表達式,則調用預設結果值取代所述非線性邏輯表達式中的變量值,所述預設結果值為與所述非線性邏輯表達式對應程序處理所述測試數據得到的結果值,所述非線性邏輯表達式指的是表達式中包含變量的表達式;
若所述分支語句為調用函數,則調用預設運行結果取代所述調用函數,所述預設運行結果為與所述調用函數對應的函數處理所述測試數據得到的運行結果,所述預設運行結果為二進制數和根據測試數據得到的具體數值中的至少一種;
更新所述被測程序對應路徑,在ture的分支語句中執行所述被測程序的下一程序語句,將所述下一程序語句作為當前程序語句,返回所述根據所述測試數據執行所述被測程序中的當前程序語句的步驟;
當所述對應路徑執行完畢時,生成測試用例;
所述檢測分支語句的步驟前還包括:
判斷所述程序語句是否為程序末語句;
當所述程序語句不為程序末語句時,根據所述程序語句執行結果更新符號值并進入所述檢測分支語句的步驟;
當所述程序語句為程序末語句時,判斷所述被測程序中的所有路徑是否執行完畢;
所述當所述對應路徑執行完畢時,生成測試用例的步驟之后,還包括:
判斷所述被測程序中所有路徑是否執行完畢。
2.根據權利要求1所述的測試用例自動生成的方法,其特征在于,所述加載被測程序的步驟前還包括:
在所述被測程序中插樁進行符號執行的函數。
3.根據權利要求1所述的測試用例自動生成的方法,其特征在于,所述接收測試數據的步驟前還包括:
接收并符號化處理原始數據,生成所述測試數據。
4.根據權利要求2所述的測試用例自動生成的方法,其特征在于,所述在所述被測程序中插樁進行符號執行的函數的步驟前還包括:
構建所述被測程序的函數調用關系圖。
5.根據權利要求1所述的測試用例自動生成的方法,其特征在于,所述若所述分支語句為調用函數,則調用預設運行結果取代所述調用函數之前,還包括:
根據調用函數預設對應的函數處理模塊,通過所述函數處理模塊根據測試數據的不同輸出對應的不同預設運行結果。
6.根據權利要求1所述的測試用例自動生成的方法,其特征在于,所述判斷所述被測程序中的所有路徑是否執行完畢的步驟包括:
當所述被測程序中的所有路徑執行完畢時,輸出所有生成的測試用例;
當所述被測程序中還有未執行路徑時,依次取反其余約束條件執行所述未執行路徑,判斷所述未執行路徑是否有解;
當所述未執行路徑有解時,生成測試用例,返回所述判斷被測程序中的所有路徑是否執行完畢的步驟。
7.根據權利要求6所述的測試用例自動生成的方法,其特征在于,所述判斷所述未執行路徑是否有解包括:
采用約束解釋器判斷所述未執行路徑是否有解。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子產品可靠性與環境試驗研究所,未經中國電子產品可靠性與環境試驗研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711227912.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種方艙升降機構和自裝卸式消防方艙
- 下一篇:新型移動傳媒車裝置





