[發明專利]基于內部狀態檢查的單元測試方法有效
| 申請號: | 201310250702.0 | 申請日: | 2013-06-21 |
| 公開(公告)號: | CN103365775A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 熊英飛;祝韜;郝丹;張路;謝冰 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙) 11360 | 代理人: | 朱紅濤 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 內部 狀態 檢查 單元測試 方法 | ||
1.一種基于內部狀態檢查的單元測試方法,其特征在于,用戶在測試用例中編寫內部狀態約束,所述約束為執行到被測代碼的目標位置時,相關變量應滿足的算術或邏輯約束,從而最終實現對被測代碼內部狀態進行檢查。
2.如權利要求1所述的單元測試方法,其特征在于,包括如下步驟:
A.使用者在測試用例中添加被測代碼中間狀態的約束;
B.根據用戶添加的約束生成插樁代碼,插樁代碼的功能是:獲取所關心的變量的值,并將其傳出,調用驗證方法對約束進行驗證;
C.從執行環境中獲取目標類的字節碼;
D.對目標字節碼進行插樁;
E.將插樁后的字節碼裝載進執行環境中,替換原來的可執行代碼;
F.運行測試用例,完成驗證。
3.如權利要求2所述的單元測試方法,其特征在于,所述步驟A包括:
A1.確定約束的內容;
A2.在測試用例中調用工具的添加約束的接口,添加上述約束的內容。
4.如權利要求2所述的單元測試方法,其特征在于,所述步驟B包括:
B1.對約束的主體部分解析,提取出相關的變量;
B2.根據提取的相關變量,生成插樁的字節碼。
5.如權利要求2所述的單元測試方法,其特征在于,所述步驟B包括:不提取相關變量,直接獲取目標位置有效的全部變量和屬性,簡化實現時的工作和簡化了插樁代碼。
6.如權利要求2所述的單元測試方法,其特征在于,所述步驟D包括:
D1.在目標字節碼中找到目標位置;
D2.在目標位置插入上面生成的插樁代碼;
D3.修改目標字節碼,使整體保持合法性。
7.如權利要求2所述的單元測試方法,其特征在于,所述步驟F包括:
F1.運行到目標位置時,運行插樁代碼,獲取相關變量的值;
F2.調用驗證函數,結合獲取的變量值和約束主體判斷約束是否滿足;
F3.運行結束,展示運行結果。
8.如權利要求7所述的單元測試方法,其特征在于,步驟F3所述的運行結果包括:測試用例的通過、失敗數,以及失敗用例的錯誤路徑。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310250702.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:閃速存儲器模塊的地址映射方法
- 下一篇:一種方便使用的烤箱食品包裝袋





