[發(fā)明專利]覆蓋率測試方法、裝置及存儲設備在審
| 申請?zhí)枺?/td> | 201810237218.7 | 申請日: | 2018-03-21 |
| 公開(公告)號: | CN108519945A | 公開(公告)日: | 2018-09-11 |
| 發(fā)明(設計)人: | 林英 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 深圳翼盛智成知識產權事務所(普通合伙) 44300 | 代理人: | 黃威 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 版本代碼 代碼覆蓋 覆蓋信息 覆蓋率測試 測試應用程序 差異信息 存儲設備 應用程序 覆蓋 映射 覆蓋率 | ||
本發(fā)明實施例公開了一種覆蓋率測試方法、裝置及存儲設備,其中覆蓋率測試方法包括:獲取測試應用程序的第一版本代碼得到的第一覆蓋信息文件,以及獲取測試應用程序的第二版本代碼得到的第二覆蓋信息文件,所述第一覆蓋信息文件中包括所述第一版本代碼的代碼覆蓋行,所述第二覆蓋信息文件中包括所述第二版本代碼的代碼覆蓋行;對比所述第一版本代碼和所述第二版本代碼,得到所述第一版本代碼與所述第二版本代碼的代碼差異信息;根據所述代碼差異信息將所述第一版本代碼的代碼覆蓋行映射至所述第二版本代碼,得到所述第二版本代碼的歷史覆蓋行;根據所述第二版本代碼的歷史覆蓋行和所述第二版本代碼的代碼覆蓋行,計算所述應用程序的整體覆蓋率。
技術領域
本發(fā)明實施例涉及軟件測試技術領域,特別是涉及一種覆蓋率測試方法、裝置及存儲設備。
背景技術
覆蓋率是軟件測試中的一種度量,其描述程序中代碼被執(zhí)行的比例和程度。覆蓋率測試是一種有效發(fā)現問題的手段,通過對代碼覆蓋率進行分析,可以快速定位到哪些代碼是沒有運行的,從而構造相應的測試用例來覆蓋這些代碼,以發(fā)現軟件設計中存在的缺陷和錯誤。
目前,軟件代碼覆蓋率測試廣泛使用的是gcov工具(一款代碼覆蓋率檢測工具),它通過編譯階段,在當前版本代碼中插入探針函數(也稱插樁,用來標識代碼的運行次數),來記錄代碼是否運行,并根據記錄的運行信息分析出當前版本代碼的覆蓋情況。
測試時,首先將探針函數的位置信息記錄在一個文件中,通常將該位置信息記錄在以.gcno結尾的文件中,后面簡稱為gcno文件。
在程序運行過程中,對代碼的覆蓋信息進行統(tǒng)計,即運行過的代碼,相應的探針函數便會計數,最后將統(tǒng)計的覆蓋信息寫入一個文件中,通常將該覆蓋信息記錄在以.gcda結尾的文件中,后面簡稱為gcda文件。
將gcno文件和gcda文件置于同一目錄下,測試結束時,如圖1所示,采用gcov工具從gcno文件和gcda文件中收集和匯總代碼的覆蓋率信息,產出當前版本的覆蓋率報告。
上述覆蓋率檢測工具只能得到單個版本的覆蓋率信息,但是,在實際測試過程中,由于開發(fā)人員在不斷地對應用程序進行漏洞修復、需求開發(fā),這是一個不斷迭代的過程,使得同一應用程序往往會存在多個版本,單個版本的覆蓋率情況對我們的意義并不大,從產品管理的過程來看,更希望能夠拿到整個測試過程中應用程序的整體的覆蓋率信息。
發(fā)明內容
本發(fā)明實施例提供了一種覆蓋率測試方法、裝置及存儲設備,能夠得到應用程序的整體覆蓋率。
本發(fā)明實施例提供的覆蓋率測試方法,包括:
獲取測試應用程序的第一版本代碼得到的第一覆蓋信息文件,以及獲取測試所述應用程序的第二版本代碼得到的第二覆蓋信息文件,所述第一覆蓋信息文件中包括所述第一版本代碼的代碼覆蓋行,所述第二覆蓋信息文件中包括所述第二版本代碼的代碼覆蓋行;
對比所述第一版本代碼和所述第二版本代碼,得到所述第一版本代碼與所述第二版本代碼的代碼差異信息;
根據所述代碼差異信息將所述第一版本代碼的代碼覆蓋行映射至所述第二版本代碼,得到所述第二版本代碼的歷史覆蓋行;
根據所述第二版本代碼的歷史覆蓋行和所述第二版本代碼的代碼覆蓋行,計算所述應用程序的整體覆蓋率。
本發(fā)明實施例提供的覆蓋率測試裝置,包括:
獲取單元,用于獲取測試應用程序的第一版本代碼得到的第一覆蓋信息文件,以及獲取測試所述應用程序的第二版本代碼得到的第二覆蓋信息文件,所述第一覆蓋信息文件中包括所述第一版本代碼的代碼覆蓋行,所述第二覆蓋信息文件中包括所述第二版本代碼的代碼覆蓋行;
對比單元,用于對比所述第一版本代碼和所述第二版本代碼,得到所述第一版本代碼與所述第二版本代碼的代碼差異信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810237218.7/2.html,轉載請聲明來源鉆瓜專利網。





