CN110618935A - 一种针对手工测试的代码变更覆盖率统计实现方法 - Google Patents
一种针对手工测试的代码变更覆盖率统计实现方法 Download PDFInfo
- Publication number
- CN110618935A CN110618935A CN201910794422.3A CN201910794422A CN110618935A CN 110618935 A CN110618935 A CN 110618935A CN 201910794422 A CN201910794422 A CN 201910794422A CN 110618935 A CN110618935 A CN 110618935A
- Authority
- CN
- China
- Prior art keywords
- code
- coverage rate
- change
- coverage
- report
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 2
- 238000011161 development Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及代码覆盖率统计技术领域,尤其是一种针对手工测试的代码变更覆盖率统计实现方法,其步骤为:(1)在监控服务的机器上配置jacocoagent用于监控代码覆盖率数据;(2)通过jenkins的jacoco插件搭建一个代码覆盖率任务;(3)通过搭建的代码覆盖率任务获取到全量代码覆盖率,并生成变更代码覆盖率报告;(4)将报告直接拉取到template中,并在平台上展示,本发明大大提高测试人员的测试精准性。
Description
技术领域
本发明涉及代码覆盖率统计技术领域,具体领域为一种针对手工测试的代码变更覆盖率统计实现方法。
背景技术
随着互联网技术进步和发展,各个互联网公司对质量和效率的要求越来越高。如何在频繁快速的迭代过程中保证手工测试覆盖的充分性一直是一个我们思考的问题。覆盖率作为度量测试完整性的一个手段,我们通过现有的jacoco工具,可以帮助我们有效的全量统计我们一个迭代版本的手工测试的覆盖情况。但是这样的全量的量化仍然无法评估每个迭代的具体测试情况,因为我们需要更精准的了解本次迭代的代码覆盖情况,从而评估出是否覆盖了本次迭代改动的代码。
发明内容
本发明的目的在于提供一种针对手工测试的代码变更覆盖率统计实现方法,以解决现有技术中无法了解迭代的代码覆盖情况,从而评估出是否覆盖了本次迭代改动的代码的问题。
为实现上述目的,本发明提供如下技术方案:一种针对手工测试的代码变更覆盖率统计实现方法,其步骤为:
(1)在监控服务的机器上配置jacocoagent用于监控代码覆盖率数据;
(2)通过jenkins的jacoco插件搭建一个代码覆盖率任务;
(3)通过搭建的代码覆盖率任务获取到全量代码覆盖率,并生成变更代码覆盖率报告;
(4)将报告直接拉取到template中,并在平台上展示。
优选的,根据步骤(2),搭建的代码覆盖率任务为通过对源代码、编译代码和覆盖率数据生成全量的代码覆盖率情况。
优选的,步骤(3),为了获取的每个迭代的变更代码覆盖率,需要进行代码比对,将当前的代码与需要目标版本的代码进行对比。
优选的,通过git自带的对比方法获取到对应的差异代码,然后将差异代码映射到之前的全量代码覆盖率报告上,生成变更代码覆盖率报告。
优选的,git为基于python的git第三方库,通过git第三方库进行代码比对获取变更代码。
优选的,根据步骤(2),基于jacoco的覆盖率报告,只对变更代码行进行颜色显示。
优选的,覆盖率通过任务的方式在平台上呈现,保证相同项目相同服务覆盖率任务后续操作的的便捷性。
优选的,将改动覆盖率报告写入平台template中,实现平台上直接可以查看到覆盖率文件。
与现有技术相比,本发明的有益效果是:大大提高测试人员的测试精准性,通过变更代码覆盖率平台,测试人员只需要将当前与最近的线上版本代码进行比较,就可以分析出开发改动代码是否测试覆盖的情况。从而可以有效的评估前期的测试用例是否完善,开发提交的改动QA是否了解全面,开发代码是否存在冗余,更好的进行补充测试,提升上线的信心。
附图说明
图1为本发明的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种针对手工测试的代码变更覆盖率统计实现方法,其步骤为:
(1)在监控服务的机器上配置jacocoagent用于监控代码覆盖率数据;
(2)通过jenkins的jacoco插件搭建一个代码覆盖率任务;
(3)通过搭建的代码覆盖率任务获取到全量代码覆盖率,并生成变更代码覆盖率报告;
(4)将报告直接拉取到template中,并在平台上展示。
根据步骤(2),搭建的代码覆盖率任务为通过对源代码、编译代码和覆盖率数据生成全量的代码覆盖率情况。
步骤(3),为了获取的每个迭代的变更代码覆盖率,需要进行代码比对,将当前的代码与需要目标版本的代码进行对比。
通过git自带的对比方法获取到对应的差异代码,然后将差异代码映射到之前的全量代码覆盖率报告上,生成变更代码覆盖率报告。
git为基于python的git第三方库,通过git第三方库进行代码比对获取变更代码。
根据步骤(2),基于jacoco的覆盖率报告,只对变更代码行进行颜色显示。
覆盖率通过任务的方式在平台上呈现,保证相同项目相同服务覆盖率任务后续操作的的便捷性。
将改动覆盖率报告写入平台template中,实现平台上直接可以查看到覆盖率文件。
通过本技术方案,首先我们需要在监控服务的机器上配置jacocoagent用于监控代码覆盖率数据,同时通过jenkins的jacoco插件搭建一个代码覆盖率任务,该任务通过对源代码、编译代码和覆盖率数据生成全量的代码覆盖率情况。这样我们就可以获取到这个服务的全量代码覆盖率。
为了获取的每个迭代的变更代码覆盖率,我们需要进行代码比对。就是将当前的代码与需要目标版本的代码进行对比。通过git自带的对比方法获取到对应的差异代码,然后将差异代码映射到之前的全量代码覆盖率报告上,这样我们就生成了变更代码覆盖率报告。
为了更好的方便测试人员操作,我们对变更代码覆盖率进行了平台化,比对目标版本可以输入话,覆盖率数据获取手动触发,已经将报告直接拉取到template中,可以直接在平台上展示。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:其步骤为:
(1)在监控服务的机器上配置jacocoagent用于监控代码覆盖率数据;
(2)通过jenkins的jacoco插件搭建一个代码覆盖率任务;
(3)通过搭建的代码覆盖率任务获取到全量代码覆盖率,并生成变更代码覆盖率报告;
(4)将报告直接拉取到template中,并在平台上展示。
2.根据权利要求1所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:根据步骤(2),搭建的代码覆盖率任务为通过对源代码、编译代码和覆盖率数据生成全量的代码覆盖率情况。
3.根据权利要求1所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:步骤(3),为了获取的每个迭代的变更代码覆盖率,需要进行代码比对,将当前的代码与需要目标版本的代码进行对比。
4.根据权利要求3所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:通过git自带的对比方法获取到对应的差异代码,然后将差异代码映射到之前的全量代码覆盖率报告上,生成变更代码覆盖率报告。
5.根据权利要求4所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:git为基于python的git第三方库,通过git第三方库进行代码比对获取变更代码。
6.根据权利要求1所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:根据步骤(2),基于jacoco的覆盖率报告,只对变更代码行进行颜色显示。
7.根据权利要求1所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:覆盖率通过任务的方式在平台上呈现,保证相同项目相同服务覆盖率任务后续操作的的便捷性。
8.根据权利要求1所述的一种针对手工测试的代码变更覆盖率统计实现方法,其特征在于:将改动覆盖率报告写入平台template中,实现平台上直接可以查看到覆盖率文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794422.3A CN110618935A (zh) | 2019-08-27 | 2019-08-27 | 一种针对手工测试的代码变更覆盖率统计实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794422.3A CN110618935A (zh) | 2019-08-27 | 2019-08-27 | 一种针对手工测试的代码变更覆盖率统计实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110618935A true CN110618935A (zh) | 2019-12-27 |
Family
ID=68922161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910794422.3A Pending CN110618935A (zh) | 2019-08-27 | 2019-08-27 | 一种针对手工测试的代码变更覆盖率统计实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618935A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966587A (zh) * | 2020-08-06 | 2020-11-20 | 中国建设银行股份有限公司 | 数据采集方法、装置和设备 |
CN112559348A (zh) * | 2020-12-15 | 2021-03-26 | 广州云从鼎望科技有限公司 | 基于jacoco的测试分析方法、系统、设备以及介质 |
CN113094289A (zh) * | 2021-05-18 | 2021-07-09 | 绿漫科技有限公司 | 一种通过python语言实现接口覆盖率统计的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681912A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 用于Android系统的代码覆盖率的自动化测试方法及装置 |
CN108829593A (zh) * | 2018-06-05 | 2018-11-16 | 平安壹钱包电子商务有限公司 | 代码覆盖率计算分析方法、装置、设备及存储介质 |
CN109388566A (zh) * | 2018-09-27 | 2019-02-26 | 北京城市网邻信息技术有限公司 | 一种代码覆盖率分析方法、装置、设备及存储介质 |
-
2019
- 2019-08-27 CN CN201910794422.3A patent/CN110618935A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681912A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 用于Android系统的代码覆盖率的自动化测试方法及装置 |
CN108829593A (zh) * | 2018-06-05 | 2018-11-16 | 平安壹钱包电子商务有限公司 | 代码覆盖率计算分析方法、装置、设备及存储介质 |
CN109388566A (zh) * | 2018-09-27 | 2019-02-26 | 北京城市网邻信息技术有限公司 | 一种代码覆盖率分析方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966587A (zh) * | 2020-08-06 | 2020-11-20 | 中国建设银行股份有限公司 | 数据采集方法、装置和设备 |
CN112559348A (zh) * | 2020-12-15 | 2021-03-26 | 广州云从鼎望科技有限公司 | 基于jacoco的测试分析方法、系统、设备以及介质 |
CN112559348B (zh) * | 2020-12-15 | 2021-09-14 | 广州云从鼎望科技有限公司 | 基于jacoco的测试分析方法、系统、设备以及介质 |
CN113094289A (zh) * | 2021-05-18 | 2021-07-09 | 绿漫科技有限公司 | 一种通过python语言实现接口覆盖率统计的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618935A (zh) | 一种针对手工测试的代码变更覆盖率统计实现方法 | |
US8966449B2 (en) | Test case pattern matching | |
CN106708718B (zh) | 服务框架接口测试方法与装置 | |
US7093235B2 (en) | Process for measuring coding productivity | |
CN103164328A (zh) | 一种业务功能的回归测试方法、装置及系统 | |
CN104021072A (zh) | 用于评估失效的软件程序的机器和方法 | |
CN106919431B (zh) | 持续集成中的代码比对方法、设备以及系统 | |
CN106445803A (zh) | 一种安全关键嵌入式软件目标码覆盖率分析方法 | |
CN104750601A (zh) | 一种测试方法及装置 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN105808510A (zh) | 一种调试数据校验方法及装置 | |
CN106933572B (zh) | 一种基于llvm中间表示程序切片的度量模型 | |
CN111651358A (zh) | 生成测试用例的方法、软件测试方法、装置和服务器 | |
CN114661584A (zh) | 一种用于软件测试的测试装置及使用方法 | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN112669814A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN115656791B (zh) | 芯片可测性设计的测试方法及测试平台 | |
CN111078526A (zh) | 一种测试用例的生成方法、装置及存储介质 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
CN110990281B (zh) | 一种自动化静态分析方法 | |
Devi et al. | A review on quality models to analyse the impact of refactored code on maintainability with reference to software product line | |
CN116225441B (zh) | 一种在线编码系统的代码托管方法及系统 | |
CN106546900B (zh) | 一种通过CodeOption实现自动化测试方法 | |
CN111124915A (zh) | 覆盖率检测方法、覆盖率检测装置及存储介质 | |
CN111078193A (zh) | 一种面向数据分析系统的软件开发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191227 |