[發(fā)明專利]代碼覆蓋率測(cè)試方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202110379033.1 | 申請(qǐng)日: | 2021-04-08 |
| 公開(kāi)(公告)號(hào): | CN115203004A | 公開(kāi)(公告)日: | 2022-10-18 |
| 發(fā)明(設(shè)計(jì))人: | 史倩月 | 申請(qǐng)(專利權(quán))人: | 北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京英創(chuàng)嘉友知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11447 | 代理人: | 李柯瑩 |
| 地址: | 100041 北京市石景山區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 覆蓋率 測(cè)試 方法 裝置 存儲(chǔ) 介質(zhì) 電子設(shè)備 | ||
1.一種代碼覆蓋率測(cè)試方法,其特征在于,所述方法包括:
響應(yīng)于接收到覆蓋數(shù)據(jù)文件,解析所述覆蓋數(shù)據(jù)文件,得到所述覆蓋數(shù)據(jù)文件對(duì)應(yīng)的函數(shù)覆蓋信息,所述函數(shù)覆蓋信息包括函數(shù)對(duì)應(yīng)的函數(shù)名和覆蓋次數(shù);
根據(jù)所述函數(shù)覆蓋信息和第一函數(shù)文件映射關(guān)系,確定所述函數(shù)覆蓋信息對(duì)應(yīng)的文件覆蓋信息,所述第一函數(shù)文件映射關(guān)系用于表征源碼文件對(duì)應(yīng)的插樁產(chǎn)物中函數(shù)與函數(shù)文件間的對(duì)應(yīng)關(guān)系;
從代碼項(xiàng)目倉(cāng)庫(kù)獲取所述源碼文件相較于歷史源碼文件的修改文件信息,并根據(jù)所述修改文件信息在所述文件覆蓋信息中確定目標(biāo)文件覆蓋信息;
確定所述目標(biāo)文件覆蓋信息對(duì)應(yīng)的函數(shù)實(shí)體信息,并根據(jù)所述覆蓋次數(shù)和所述函數(shù)實(shí)體信息,確定所述覆蓋數(shù)據(jù)文件的行覆蓋率。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解析所述覆蓋數(shù)據(jù)文件,得到所述覆蓋數(shù)據(jù)文件對(duì)應(yīng)的函數(shù)覆蓋信息,包括:
解析所述覆蓋數(shù)據(jù)文件,得到所述覆蓋數(shù)據(jù)文件中所有函數(shù)的函數(shù)信息,并從所述函數(shù)信息中過(guò)濾未包括在所述第一函數(shù)文件映射關(guān)系中的函數(shù)信息,以得到所述覆蓋數(shù)據(jù)文件對(duì)應(yīng)的函數(shù)覆蓋信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述目標(biāo)文件覆蓋信息對(duì)應(yīng)的函數(shù)實(shí)體信息,包括:
從本地緩存中讀取所述目標(biāo)文件覆蓋信息對(duì)應(yīng)的函數(shù)實(shí)體信息;
若從本地緩存中讀取所述目標(biāo)文件覆蓋信息對(duì)應(yīng)的函數(shù)實(shí)體信息失敗,則根據(jù)第二函數(shù)文件映射關(guān)系,從數(shù)據(jù)庫(kù)中讀取所述目標(biāo)文件覆蓋信息對(duì)應(yīng)的函數(shù)實(shí)體信息,所述第二函數(shù)文件映射關(guān)系用于表征所述源碼文件對(duì)應(yīng)的插樁產(chǎn)物中函數(shù)文件與函數(shù)實(shí)體信息間的對(duì)應(yīng)關(guān)系,所述數(shù)據(jù)庫(kù)中存儲(chǔ)有所述第二函數(shù)文件映射關(guān)系中各函數(shù)文件對(duì)應(yīng)的函數(shù)實(shí)體信息。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述函數(shù)覆蓋信息包括多個(gè)覆蓋次數(shù)數(shù)組,每一所述覆蓋次數(shù)數(shù)組具有函數(shù)標(biāo)識(shí)信息,且每一所述覆蓋次數(shù)數(shù)組中的每個(gè)元素用于表征對(duì)應(yīng)函數(shù)中每行代碼的執(zhí)行次數(shù),所述根據(jù)所述覆蓋次數(shù)和所述函數(shù)實(shí)體信息,確定所述覆蓋數(shù)據(jù)文件的行覆蓋率,包括:
針對(duì)所述函數(shù)覆蓋信息中的每一函數(shù),執(zhí)行如下處理:
確定所述函數(shù)對(duì)應(yīng)的函數(shù)實(shí)體信息,并根據(jù)所述函數(shù)的函數(shù)標(biāo)識(shí)信息,在所述多個(gè)覆蓋次數(shù)數(shù)組中確定對(duì)應(yīng)的覆蓋次數(shù)數(shù)組;
根據(jù)對(duì)應(yīng)的所述函數(shù)實(shí)體信息和所述覆蓋次數(shù)數(shù)組,確定行覆蓋信息;
聚合每一所述函數(shù)的行覆蓋信息,得到所述覆蓋數(shù)據(jù)文件的行覆蓋率。
5.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述函數(shù)文件映射關(guān)系是通過(guò)如下方式得到的:
解析所述源碼文件對(duì)應(yīng)的插樁產(chǎn)物,得到所述源碼文件中所有函數(shù)的函數(shù)名和函數(shù)屬性信息,所述函數(shù)屬性信息包括函數(shù)代碼塊信息;
解析所述函數(shù)代碼塊信息,得到所述源碼文件中每一函數(shù)所屬的函數(shù)文件信息以及每一函數(shù)對(duì)應(yīng)的代碼塊在所屬函數(shù)文件中的位置信息;
根據(jù)所述源碼文件中每一函數(shù)的函數(shù)名稱、每一函數(shù)所屬的函數(shù)文件信息以及每一函數(shù)對(duì)應(yīng)的代碼塊在所屬函數(shù)文件中的位置信息,建立函數(shù)文件映射關(guān)系。
6.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
從數(shù)據(jù)庫(kù)獲取所述源碼文件的歷史行覆蓋率;
將所述歷史行覆蓋率與所述覆蓋數(shù)據(jù)文件的行覆蓋率進(jìn)行累加,以得到所述源碼文件的目標(biāo)行覆蓋率。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110379033.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:有機(jī)電致發(fā)光元件
- 下一篇:一種綿柔濃香型白酒的釀制工藝
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 覆蓋率驅(qū)動(dòng)的隨機(jī)驗(yàn)證的方法
- 一種由流程圖自動(dòng)產(chǎn)生覆蓋率代碼的方法及裝置
- 一種功能驗(yàn)證方法和裝置
- 測(cè)試覆蓋率統(tǒng)計(jì)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 覆蓋率測(cè)試方法,測(cè)試裝置,服務(wù)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 覆蓋率測(cè)試方法、測(cè)試裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- PHP代碼覆蓋率報(bào)告的生成方法及裝置
- 一種通用接口覆蓋率模型驗(yàn)證環(huán)境自動(dòng)生成方法、系統(tǒng)及介質(zhì)
- 一種基于遺傳算法的覆蓋率收斂方法及系統(tǒng)
- 驗(yàn)證方法、裝置、電子設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 軟件測(cè)試系統(tǒng)及測(cè)試方法
- 自動(dòng)化測(cè)試方法和裝置
- 一種應(yīng)用于視頻點(diǎn)播系統(tǒng)的測(cè)試裝置及測(cè)試方法
- Android設(shè)備的測(cè)試方法及系統(tǒng)
- 一種工廠測(cè)試方法、系統(tǒng)、測(cè)試終端及被測(cè)試終端
- 一種軟件測(cè)試的方法、裝置及電子設(shè)備
- 測(cè)試方法、測(cè)試裝置、測(cè)試設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 測(cè)試裝置及測(cè)試系統(tǒng)
- 測(cè)試方法及測(cè)試系統(tǒng)
- 一種數(shù)控切削指令運(yùn)行軟件測(cè)試系統(tǒng)及方法
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





