两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

代碼覆蓋率的測試方法及裝置的制造方法

文檔序號(hào):9687346閱讀:971來源:國知局
代碼覆蓋率的測試方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及測試領(lǐng)域,特別是一種代碼覆蓋率的測試方法及裝置。
【背景技術(shù)】
[0002] 代碼覆蓋率(codecoverage)是反映測試用例對(duì)被測程序覆蓋程度的重要指標(biāo), 也是衡量測試完整性的一個(gè)參考值。
[0003] 在Android(安卓)平臺(tái)上,Jara代碼覆蓋率的測試可W使用Emma、Jacoco(Java codeCOverage)等開源工具,通過運(yùn)些開源工具可W方便地生成覆蓋率報(bào)告。然而,運(yùn)類工 具需要集成在Eclipse或AndroidStudio之類的IDE(IntegratedDevelopment 化viro皿ent,集成開發(fā)環(huán)境)中,并通過點(diǎn)擊IDE上的相關(guān)控件生成報(bào)告,運(yùn)就必須要求測 試人員對(duì)運(yùn)類I呢比較熟悉。
[0004] W在An化oidStudio上使用Jacoco為例,需要在An化oid工程的構(gòu)建工具gradle 里進(jìn)行一系列比較復(fù)雜的配置,重新clean工程(clean工程是指在An化oidStudio中刪除 原先編譯好的相關(guān)文件,并重新編譯),導(dǎo)出插粧后的安裝包,進(jìn)而安裝和測試,拷貝需要的 文件到指定的路徑,最后點(diǎn)擊AmlroidStudio上的指定按鈕生成代碼覆蓋率報(bào)告。
[0005]發(fā)明人發(fā)現(xiàn),在上述方案中,開發(fā)和測試過程沒有分開,導(dǎo)出插粧后的安裝包是開 發(fā)工作,而后面安裝、測試W及生成覆蓋率報(bào)告是測試工作,而由于Jacoco在Android Studio中使用方式的固定性,使得上述過程只能由開發(fā)獨(dú)自完成,亟待解決運(yùn)一問題。

【發(fā)明內(nèi)容】

[0006]鑒于上述問題,提出了本發(fā)明W便提供一種克服上述問題或者至少部分地解決上 述問題的代碼覆蓋率的測試方法及相應(yīng)的裝置。
[0007]依據(jù)本發(fā)明的一方面,提供了 一種代碼覆蓋率的測試方法,包括:
[000引新建特定的測試資源發(fā)布通道,其中,所述測試資源發(fā)布通道用于將測試資源部 署到測試環(huán)境中;
[0009]當(dāng)接收到對(duì)被測程序進(jìn)行測試的指令時(shí),利用所述測試資源發(fā)布通道將所述被測 程序部署到測試環(huán)境;
[0010] 在所述測試環(huán)境中對(duì)所述被測程序進(jìn)行測試,獲取所述被測程序的代碼覆蓋率數(shù) 據(jù)。
[0011] 可選地,在利用所述測試資源發(fā)布通道將所述被測程序部署到測試環(huán)境之前,所 述方法還包括:
[0012] 對(duì)被測程序的源碼進(jìn)行插粧處理;
[0013]對(duì)插粧處理后的源碼進(jìn)行編譯并打包,得到所述被測程序。
[0014] 可選地,利用所述測試資源發(fā)布通道將所述被測程序部署到測試環(huán)境,包括:
[0015]調(diào)用所述測試資源發(fā)布通道的第一接口接收所述被測程序;W及
[0016]調(diào)用所述測試資源發(fā)布通道的第二接口將接收的所述被測程序部署到所述測試 環(huán)境。
[0017]可選地,在所述測試環(huán)境中對(duì)所述被測程序進(jìn)行測試,得到所述被測程序的代碼 覆蓋率數(shù)據(jù),包括:
[0018]在所述測試環(huán)境中,調(diào)用第一線程執(zhí)行所述被測程序的測試用例,生成所述測試 用例的測試信息,其中,所述測試信息中包括代碼覆蓋率數(shù)據(jù);
[0019]新增獨(dú)立于所述第一線程的第二線程,其中,所述第二線程具備代碼覆蓋率數(shù)據(jù) 的獲取功能;
[0020] 在所述第一線程的執(zhí)行過程中,觸發(fā)所述第二線程從所述測試信息中獲取代碼覆 蓋率數(shù)據(jù)。
[0021 ] 可選地,所述方法還包括:
[0022] 利用所述測試資源發(fā)布通道將所述被測程序的源碼提交給代碼覆蓋率工具;
[0023]在測試完成后,調(diào)用代碼覆蓋率工具,由所述代碼覆蓋率工具根據(jù)所述代碼覆蓋 率數(shù)據(jù)、所述被測程序的源碼W及所述被測程序的代碼,生成代碼覆蓋率報(bào)告。
[0024]可選地,根據(jù)所述代碼覆蓋率數(shù)據(jù)、所述被測程序的源碼W及所述被測程序的代 碼,生成代碼覆蓋率報(bào)告,包括:
[0025]對(duì)比分析所述代碼覆蓋率數(shù)據(jù)、所述被測程序的源碼W及所述被測程序的代碼, 得到代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù);
[00%]根據(jù)所述代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù),生成代碼覆蓋率報(bào)告。
[0027]可選地,所述代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)包括下列至少之一:
[0028]指令覆蓋率數(shù)據(jù)、分支覆蓋率數(shù)據(jù)、圈復(fù)雜度覆蓋率數(shù)據(jù)、行覆蓋率數(shù)據(jù)、方法覆 蓋率數(shù)據(jù)、類覆蓋率數(shù)據(jù)。
[0029]可選地,根據(jù)所述代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù),生成代碼覆蓋率報(bào)告,包括:
[0030]計(jì)算各類代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)的百分比值,并確定所述各類代碼覆蓋率的統(tǒng)計(jì) 數(shù)據(jù)的重要程度系數(shù);
[0031]對(duì)所述各類代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)的百分比值和重要程度系數(shù)進(jìn)行加權(quán)求和,得 到綜合數(shù)值;
[0032]根據(jù)所述綜合數(shù)值,生成代碼覆蓋率報(bào)告。
[0033]可選地,所述測試資源發(fā)布通道包括web前臺(tái)頁面。
[0034]可選地,在生成代碼覆蓋率報(bào)告之后,所述方法還包括:
[0035] 在所述web前臺(tái)頁面展示所述代碼覆蓋率報(bào)告。
[0036]依據(jù)本發(fā)明的另一方面,還提供了 一種代碼覆蓋率的測試裝置,包括:
[0037]發(fā)布通道提供模塊,適于新建特定的測試資源發(fā)布通道,其中,所述測試資源發(fā)布 通道用于將測試資源部署到測試環(huán)境中;
[0038]導(dǎo)入模塊,適于當(dāng)接收到對(duì)被測程序進(jìn)行測試的指令時(shí),利用所述測試資源發(fā)布 通道將所述被測程序部署到測試環(huán)境;
[0039]獲取模塊,適于在所述測試環(huán)境中對(duì)所述被測程序進(jìn)行測試,獲取所述被測程序 的代碼覆蓋率數(shù)據(jù)。
[0040]可選地,所述裝置還包括:
[0041]插粧模塊,適于在所述導(dǎo)入模塊利用所述測試資源發(fā)布通道將所述被測程序部署 到測試環(huán)境之前,對(duì)被測程序的源碼進(jìn)行插粧處理;
[0042] 編譯模塊,適于對(duì)插粧處理后的源碼進(jìn)行編譯并打包,得到所述被測程序。
[0043] 可選地,所述導(dǎo)入模塊還適于:
[0044] 調(diào)用所述測試資源發(fā)布通道的第一接口接收所述被測程序;W及
[0045] 調(diào)用所述測試資源發(fā)布通道的第二接口將接收的所述被測程序部署到所述測試 環(huán)境。
[0046] 可選地,所述獲取模塊還適于:
[0047] 在所述測試環(huán)境中,調(diào)用第一線程執(zhí)行所述被測程序的測試用例,生成所述測試 用例的測試信息,其中,所述測試信息中包括代碼覆蓋率數(shù)據(jù);
[0048] 新增獨(dú)立于所述第一線程的第二線程,其中,所述第二線程具備代碼覆蓋率數(shù)據(jù) 的獲取功能;
[0049] 在所述第一線程的執(zhí)行過程中,觸發(fā)所述第二線程從所述測試信息中獲取代碼覆 蓋率數(shù)據(jù)。
[0050] 可選地,所述裝置還包括:
[0051] 提交模塊,適于利用所述測試資源發(fā)布通道將所述被測程序的源碼提交給代碼覆 蓋率工具;
[0052] 生成模塊,適于在測試完成后,調(diào)用代碼覆蓋率工具,由所述代碼覆蓋率工具根據(jù) 所述代碼覆蓋率數(shù)據(jù)、所述被測程序的源碼W及所述被測程序的代碼,生成代碼覆蓋率報(bào) 告。
[0化3] 可選地,所述生成模塊還適于:
[0054] 對(duì)比分析所述代碼覆蓋率數(shù)據(jù)、所述被測程序的源碼W及所述被測程序的代碼, 得到代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù);
[0055] 根據(jù)所述代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù),生成代碼覆蓋率報(bào)告。
[0056] 可選地,所述代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)包括下列至少之一:
[0057] 指令覆蓋率數(shù)據(jù)、分支覆蓋率數(shù)據(jù)、圈復(fù)雜度覆蓋率數(shù)據(jù)、行覆蓋率數(shù)據(jù)、方法覆 蓋率數(shù)據(jù)、類覆蓋率數(shù)據(jù)。
[0化引可選地,所述生成模塊還適于:
[0059] 計(jì)算各類代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)的百分比值,并確定所述各類代碼覆蓋率的統(tǒng)計(jì) 數(shù)據(jù)的重要程度系數(shù);
[0060] 對(duì)所述各類代碼覆蓋率的統(tǒng)計(jì)數(shù)據(jù)的百分比值和重要程度系數(shù)進(jìn)行加權(quán)求和,得 到綜合數(shù)值;
[0061] 根據(jù)所述綜合數(shù)值,生成代碼覆蓋率報(bào)告。
[0062] 可選地,所述測試資源發(fā)布通道包括web前臺(tái)頁面。
[0063] 可選地,所述裝置還包括:
[0064] 展示模塊,適于在所述生成模塊生成代碼覆蓋率報(bào)告之后,在所述web前臺(tái)頁面展 示所述代碼覆蓋率報(bào)告。
[0065] 在本發(fā)明實(shí)施例中,新建特定的測試資源發(fā)布通道,當(dāng)接收到對(duì)被測程序進(jìn)行測 試的指令時(shí),利用測試資源發(fā)布通道將被測程序部署到測試環(huán)境,隨后在測試環(huán)境中對(duì)被 測程序進(jìn)行測試,獲取被測程序的代碼覆蓋率數(shù)據(jù)。由此可見,本發(fā)明實(shí)施例在測試代碼覆 蓋率時(shí),可w利用測試資源發(fā)布通道將被測程序部署到測試環(huán)境,從而將開發(fā)和測試工作 分開,減輕了開發(fā)的負(fù)擔(dān),提高了測試效率。
[0066]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予W實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,W下特舉本發(fā)明的【具體實(shí)施方式】。
[0067]根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明 了本發(fā)明的上述W及其他目的、優(yōu)點(diǎn)和特征。
【附圖說明】
[0068]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明 的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0069]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的代碼覆蓋率的測試方法的流程圖;
[007
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
白玉县| 松潘县| 峨眉山市| 郓城县| 鹿邑县| 嘉黎县| 新昌县| 无锡市| 溧水县| 东方市| 铜川市| 峨眉山市| 集安市| 新化县| 吉隆县| 三都| 勐海县| 体育| 金堂县| 泗水县| 右玉县| 华阴市| 大关县| 博客| 乐至县| 丽江市| 包头市| 玉山县| 吉隆县| 通化市| 栾川县| 嘉兴市| 曲水县| 谢通门县| 峨眉山市| 上思县| 新巴尔虎右旗| 高雄市| 莲花县| 姜堰市| 天全县|