[發(fā)明專利]代碼覆蓋率收集方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201611248183.4 | 申請(qǐng)日: | 2016-12-29 |
| 公開(公告)號(hào): | CN106874187B | 公開(公告)日: | 2020-09-11 |
| 發(fā)明(設(shè)計(jì))人: | 符陽輝;任洪平 | 申請(qǐng)(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 廣州華進(jìn)聯(lián)合專利商標(biāo)代理有限公司 44224 | 代理人: | 何平;鄧云鵬 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 覆蓋率 收集 方法 裝置 | ||
一種代碼覆蓋率收集方法及裝置,一個(gè)實(shí)施例的方法包括:接收終端發(fā)送的業(yè)務(wù)請(qǐng)求,業(yè)務(wù)請(qǐng)求包括應(yīng)用標(biāo)識(shí);根據(jù)業(yè)務(wù)請(qǐng)求獲取與應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的源文件、源文件標(biāo)識(shí)以及源文件的語法樹信息;將源文件的源代碼加載到內(nèi)存;執(zhí)行加載到內(nèi)存的源代碼,并在源代碼的執(zhí)行過程中,基于語法樹信息記錄執(zhí)行源代碼的代碼行的覆蓋率數(shù)據(jù);向覆蓋率收集中心服務(wù)器發(fā)送覆蓋率上報(bào)信息,覆蓋率上報(bào)信息包括所述源文件標(biāo)識(shí)、所述覆蓋率數(shù)據(jù),由覆蓋率收集中心服務(wù)器根據(jù)各覆蓋率收集終端服務(wù)器上傳的覆蓋率上報(bào)信息確定所述源文件的代碼覆蓋率。本實(shí)施例的方案不僅實(shí)現(xiàn)了對(duì)服務(wù)器的代碼覆蓋率的收集,而且無需對(duì)源代碼進(jìn)行修改,不影響開發(fā)人員對(duì)源代碼的再次編輯。
技術(shù)領(lǐng)域
本發(fā)明涉及測(cè)試技術(shù)領(lǐng)域,特別是涉及一種代碼覆蓋率收集方法以及一種代碼覆蓋率收集裝置。
背景技術(shù)
代碼覆蓋率(code coverage)是軟件測(cè)試中的一種重要的度量參數(shù),用以描述描述程序中源代碼被測(cè)試的比例和程度。而隨著JavaScript等解釋性語言的逐漸普及,基于JavaScript等解釋性語言實(shí)現(xiàn)的平臺(tái)的應(yīng)用的日益廣泛,對(duì)基于就采用JavaScript等解釋性語言實(shí)現(xiàn)的平臺(tái)的相關(guān)應(yīng)用的代碼覆蓋率進(jìn)行測(cè)試也成為測(cè)試領(lǐng)域中的一項(xiàng)重要內(nèi)容。
以JavaScript平臺(tái)為例,目前對(duì)于瀏覽器端運(yùn)行的JavaScript應(yīng)用,已經(jīng)有jscoverage等工具來實(shí)現(xiàn)瀏覽器端的代碼覆蓋率的收集。然而,類似于jscoverage這樣的工具,主要應(yīng)用場(chǎng)景為瀏覽器端運(yùn)行。其對(duì)Javascript代碼進(jìn)行適合瀏覽器端運(yùn)行的代碼插樁,插樁后的代碼,其代碼覆蓋率收集過程是基于瀏覽器的代碼執(zhí)行,無法直接應(yīng)用于服務(wù)器端執(zhí)行的平臺(tái)的應(yīng)用。
發(fā)明內(nèi)容
基于此,本發(fā)明實(shí)施例的目的在于提供一種代碼覆蓋率收集方法以及一種代碼覆蓋率收集裝置。
為達(dá)到上述目的,本發(fā)明實(shí)施例采用以下技術(shù)方案:
一種代碼覆蓋率收集方法,應(yīng)用在覆蓋率收集終端服務(wù)器,包括步驟:
接收終端發(fā)送的業(yè)務(wù)請(qǐng)求,所述業(yè)務(wù)請(qǐng)求包括應(yīng)用標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)請(qǐng)求獲取與所述應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的源文件、源文件標(biāo)識(shí)以及所述源文件的語法樹信息;
將所述源文件的源代碼加載到內(nèi)存;
執(zhí)行加載到內(nèi)存的所述源代碼,并在所述源代碼的執(zhí)行過程中,基于所述語法樹信息記錄執(zhí)行所述源代碼的代碼行的覆蓋率數(shù)據(jù);
向覆蓋率收集中心服務(wù)器發(fā)送覆蓋率上報(bào)信息,所述覆蓋率上報(bào)信息包括所述源文件標(biāo)識(shí)、所述覆蓋率數(shù)據(jù),由所述覆蓋率收集中心服務(wù)器根據(jù)各覆蓋率收集終端服務(wù)器上傳的覆蓋率上報(bào)信息確定所述源文件的代碼覆蓋率。
一種代碼覆蓋率收集方法,應(yīng)用在覆蓋率收集中心服務(wù)器,包括步驟:
接收各覆蓋率收集終端服務(wù)器發(fā)送的覆蓋率上報(bào)信息,所述覆蓋率上報(bào)信息包括源文件標(biāo)識(shí)以及對(duì)應(yīng)的覆蓋率數(shù)據(jù),所述覆蓋率數(shù)據(jù)為所述覆蓋率收集終端服務(wù)器在接收到終端發(fā)送的包含應(yīng)用標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求時(shí),獲取與所述應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的源文件、源文件標(biāo)識(shí)以及所述源文件的語法樹信息,并將所述源文件的源代碼加載到內(nèi)存后,在加載到內(nèi)存的所述源代碼的執(zhí)行過程中基于所述語法樹信息記錄執(zhí)行所述源代碼的代碼行的覆蓋率數(shù)據(jù);
根據(jù)各覆蓋率收集終端服務(wù)器發(fā)送的所述覆蓋率上報(bào)信息,確定所述源文件標(biāo)識(shí)對(duì)應(yīng)的源文件的代碼覆蓋率。
一種代碼覆蓋率收集裝置,設(shè)置在覆蓋率收集終端服務(wù)器,包括:
請(qǐng)求接收模塊,用于接收終端發(fā)送的業(yè)務(wù)請(qǐng)求,所述業(yè)務(wù)請(qǐng)求包括應(yīng)用標(biāo)識(shí);
文件及信息獲取模塊,用于根據(jù)所述業(yè)務(wù)請(qǐng)求獲取與所述應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的源文件、源文件標(biāo)識(shí)以及所述源文件的語法樹信息;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611248183.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
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),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(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ì)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(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ì)





