[發明專利]一種確定代碼執行覆蓋率的方法和裝置有效
| 申請號: | 201210489469.7 | 申請日: | 2012-11-27 |
| 公開(公告)號: | CN103838666B | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 趙輝;王昭;徐建;李正文;劉哲文 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京鴻德海業知識產權代理事務所(普通合伙)11412 | 代理人: | 倪志華 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 確定 代碼 執行 覆蓋率 方法 裝置 | ||
1.一種確定代碼執行覆蓋率的方法,其特征在于,該方法包括:
通過在解析器增加插件的方式使得解析器在針對被測腳本程序生成語法樹的過程中對每個節點注入標識信息,所述標識信息包括每個節點的文件標識和在被測腳本程序中的位置信息,所述語法樹的節點為可執行代碼;
從所述語法樹中獲取可執行代碼以及可執行代碼的位置信息,利用可執行代碼的位置信息生成key寫入數據庫;
通過在代碼執行裝置中增加插件的方式使得所述代碼執行裝置在執行到所述語法樹的節點時,發送被執行節點的標識信息;
在所述代碼執行裝置執行被測腳本程序的過程中,從所述代碼執行裝置發送的被執行節點的標識信息獲取執行代碼,將執行代碼的執行狀況信息在所述數據庫中針對執行代碼對應的key進行標注;
利用所述數據庫中的執行代碼數量和可執行代碼數量的比值確定所述被測腳本程序的執行覆蓋率。
2.根據權利要求1所述的方法,其特征在于,所述利用可執行代碼的位置信息生成key寫入數據庫具體包括:
計算各可執行代碼的簽名并作為對應可執行代碼的key寫入數據庫,其中所述可執行代碼的簽名由可執行代碼所屬的文件標識和可執行代碼在被測腳本程序中的位置信息計算得到。
3.根據權利要求2所述的方法,其特征在于,所述將執行代碼的執行狀況信息在所述數據庫中針對執行代碼對應的key進行標注具體包括:
依據執行代碼所屬的文件標識和執行代碼在被測腳本程序中的位置信息計算簽名,針對所述數據庫中該簽名對應的key標注執行代碼狀態。
4.根據權利要求2或3所述的方法,其特征在于,所述在被測腳本程序中的位置信息包括行號和行內偏移。
5.根據權利要求1或3所述的方法,其特征在于,該方法還包括:
在所述數據庫中針對執行代碼對應的key進一步標注執行次數,在向測試人員反饋所述執行覆蓋率時,進一步反饋各執行代碼的執行次數。
6.一種確定代碼執行覆蓋率的裝置,其特征在于,該裝置包括:
安裝在解析器中的插件,用于在所述解析器針對被測腳本程序生成語法樹的過程中對每個節點注入標識信息,所述標識信息包括每個節點的文件標識和在被測腳本程序中的位置信息,所述語法樹的節點為可執行代碼;
解析信息標注單元,用于從所述語法樹中獲取可執行代碼以及可執行代碼的位置信息,利用可執行代碼的位置信息生成key寫入數據庫;
安裝在代碼執行裝置中的插件,用于在所述代碼執行裝置執行到解析器生成的語法樹的節點時,發送被執行節點的標識信息;
執行信息標注單元,用于在所述代碼執行裝置執行被測腳本程序的過程中,從所述代碼執行裝置發送的被執行節點的標識信息獲取執行代碼,將執行代碼的執行狀況信息在所述數據庫中針對執行代碼對應的key進行標注;
標注信息解析單元,用于利用所述數據庫中的執行代碼數量和可執行代碼數量的比值確定所述被測腳本程序的執行覆蓋率。
7.根據權利要求6所述的裝置,其特征在于,所述解析信息標注單元具體包括:
第一代碼獲取模塊,用于從所述語法樹中獲取可執行代碼;
第一信息標注模塊,用于計算各可執行代碼的簽名并作為對應可執行代碼的key寫入數據庫,其中所述可執行代碼的簽名由可執行代碼所屬的文件標識和可執行代碼在被測腳本程序中的位置信息計算得到。
8.根據權利要求7所述的裝置,其特征在于,所述執行信息標注單元具體包括:
第二代碼獲取模塊,用于在代碼執行裝置執行被測腳本程序過程中,從所述代碼執行裝置發送的被執行節點的標識信息獲取執行代碼;
第二信息標注模塊,用于依據執行代碼所屬的文件標識和執行代碼在被測腳本程序中的位置信息計算簽名,針對所述數據庫中該簽名對應的key標注執行代碼狀態。
9.根據權利要求7或8所述的裝置,其特征在于,所述在被測腳本程序中的位置信息包括行號和行內偏移。
10.根據權利要求6或8所述的裝置,其特征在于,所述執行信息標注單元在所述數據庫中針對執行代碼對應的key進一步標注執行次數;
所述標注信息解析單元在向測試人員反饋所述執行覆蓋率時,進一步反饋各執行代碼的執行次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210489469.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:具有檢測結構的換刀裝置
- 下一篇:一種電機輻板軸焊接專用分度支架





