CN110908915B - 一种测试覆盖率的展示方法、装置及计算机系统 - Google Patents

一种测试覆盖率的展示方法、装置及计算机系统 Download PDF

Info

Publication number
CN110908915B
CN110908915B CN201911182199.3A CN201911182199A CN110908915B CN 110908915 B CN110908915 B CN 110908915B CN 201911182199 A CN201911182199 A CN 201911182199A CN 110908915 B CN110908915 B CN 110908915B
Authority
CN
China
Prior art keywords
test coverage
version number
coverage rate
file
test
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.)
Active
Application number
CN201911182199.3A
Other languages
English (en)
Other versions
CN110908915A (zh
Inventor
陈策
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201911182199.3A priority Critical patent/CN110908915B/zh
Publication of CN110908915A publication Critical patent/CN110908915A/zh
Application granted granted Critical
Publication of CN110908915B publication Critical patent/CN110908915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test 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

本申请提供了一种测试覆盖率的展示方法、装置及计算机系统,其中所述方法包括:获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;将所述变更项目的测试覆盖率进行可视化展示,实现了无需对已生成测试覆盖率报告进行修改,可直接根据所述变更项目的测试覆盖率生成测试覆盖率报告,提升了测试效率。

Description

一种测试覆盖率的展示方法、装置及计算机系统
技术领域
本发明涉及测试领域,尤其涉及一种测试覆盖率的展示方法、装置及计算机系统。
背景技术
为了保证软件工程的稳定性,软件工程的开发通常都是在一个稳定的基线版本的基础上,开发新的分支来实现新的功能。
当一个软件工程产生了新的分支时,需要对新分支进行测试,确认这些新分支能够实现预期的功能。为了衡量测试对新分支的测试是否充分,可以通过统计测试覆盖的代码行、类、分支等的数量,来量化此次测试的充分度。这个被量化的充分度就是测试覆盖率。
为了便于测试人员根据新分支的测试覆盖率对测试用例进行调整,需要在根据测试生成的测试覆盖率报告中,注明新分支的测试覆盖率。在现有技术中,通常通过对已生成的未注明新分支测试覆盖率的测试覆盖率报告进行修改的方式,来注明新分支的测试覆盖率,耗时长。
另一方面,现有技术中,需要在获得测试覆盖率文件之后,将该文件与软件工程的源代码文件一起进行编译,才能在软件工程的源代码文件中对测试覆盖了的代码进行标注,同样耗费花费大量的时间。
发明内容
为了解决现有技术的不足,本发明的主要目的在于提供一种测试覆盖率的展示方法,以提升对变更项目的测试覆盖率的显示效率。
为了达到上述目的,第一方面本申请提供了一种测试覆盖率的展示方法,所述方法包括:
获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
将所述变更项目的测试覆盖率进行可视化展示。
在一些实施例中,所述方法还包括:
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
将所述第一版本号对应的测试覆盖率进行可视化展示。
在一些实施例中,所述方法还包括:
获取所述第一版本号对应的源代码文件;
根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记。
在一些实施例中,所述方法还包括:
获取第三版本号对应的测试覆盖率;
将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率并进行可视化展示。
在一些实施例中,所述第三版本号包含所述第一版本号的父版本号及子版本号。
在一些实施例中,所述将所述测试覆盖率进行可视化展示包括:
根据所述测试覆盖率生成Html文件以进行可视化展示。
第二方面,本申请提供了一种测试覆盖率的展示装置,所述装置包括:
获取模块,用于获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
处理模块,用于根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
生成模块,用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
显示模块,用于将所述变更项目的测试覆盖率进行可视化展示。
在一些实施例中,所述生成模块还可用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
所述显示模块还可用于将所述第一版本号对应的测试覆盖率进行可视化展示。
在一些实施例中,所述获取模块还可用于获取第三版本号对应的测试覆盖率;
所述装置还包括合并模块,用于将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率;
所述显示模块还可用于将所述合并的测试覆盖率进行可视化展示。
第三方面,本申请提供了一种计算机系统,所述系统包括:
一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
将所述变更项目的测试覆盖率进行可视化展示。
本发明实现的有益效果为:
本申请公开了通过获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;将所述变更项目的测试覆盖率进行可视化展示,不需对已生成测试覆盖率报告进行修改才能显示变更项目的测试覆盖率,提升了对变更项目的测试覆盖率进行可视化展示的效率;
进一步地,本申请提出了获取所述第一版本号对应的源代码文件;根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记,不需对测试覆盖文件及源代码文件进行重新编译,提升了可视化显示的效率;
本申请还公开了获取第三版本号对应的测试覆盖率,将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率并进行可视化展示,根据合并的测试覆盖率,避免对同一项目进行重复测试,提升了测试效率。
本发明所有产品并不需要具备上述所有效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的测试覆盖率报告示意图;
图2是本申请实施例提供的源代码标记示意图;
图3是本申请实施例提供的方法流程图;
图4是本申请实施例提供的装置结构图;
图5是本申请实施例提供的计算机系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,现有技术中使用对Html格式的测试覆盖率报告进行修改的方法来注明新分支的测试覆盖率,通常需要一个小时以上的时间,耽误后续的测试工作。为解决上述问题,本申请提出了通过获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率,在生成测试覆盖率报告前提前获得了变更项目的测试覆盖率,可直接根据所述变更项目的测试覆盖率生成测试覆盖率报告,不需对已生成测试覆盖率报告进行修改,节省了修改测试覆盖率报告所需的大量时间,提升了测试效率。
实施例一
为实现上述目的,以使用Jacoco生成测试覆盖率报告为例,本申请提供的方法可通过如下步骤实现:
步骤一、对原生的Jacoco进行修改,以实现生成变更项目的测试覆盖率报告、源代码文件包含的变更项目的可视化标记:
由于原生的Jacoco不支持统计变更项目的测试覆盖率,因此,对其进行了如下修改:
1、增加了对diff标记文件识别的支持;
2、为覆盖率数据对象增加diff属性;
3、覆盖率数据对象合并时,可按版本号对应的等级进行合并;
4生成测试覆盖率报告时,在jacoco原生的测试覆盖率报告格式中增加了diff列,增加了对在源代码文件上打上diff标记的支持。
步骤二、对目标版本号的目标工程进行测试,获得测试覆盖率文件、Class文件及源代码文件;
所述测试过程具体包括:
A、对目标版本号的目标工程的源代码文件进行插桩,对插桩后的源代码文件进行编译,生成插桩了的待测试App及Class文件;
所述源代码文件由Java语言编写。
Java是一种高级程序设计语言,可运行于多种平台。
Class文件是一种存储了使用Java语言编写的源代码编译获得的二进制中间码的文件。
B、选择待测项目,使用所述待测试App对所述待测项目进行测试,获得测试覆盖率文件;
使用Jacoco可收集该待测试App产生的测试数据,根据所述测试数据生成测试覆盖率文件。
Jacoco是一种开源的代码覆盖率工具,可通过插桩自动收集测试的测试覆盖率并自动生成测试覆盖率文件。
所述待测项目可以是目标工程包含的分支、方法、代码行等任何等级维度的的待测数据。
步骤三、根据目标工程的提交记录,获得所述目标版本号的目标工程对应预设版本号的所述目标工程发生变更的变更项目;
所述变更项目是指,目标版本号的目标工程包含的项目相对于预设版本号的所述目标工程包含的项目,发生了修改、新增、删除等变更操作了的代码的集合。
具体的,该预设版本号可以是目标工程的基线版本号,可使用getdiff等预设指令,获得目标工程两个版本号之间的diff日志,根据该diff日志获得目标版本号的目标工程对应基线版本号的所述目标工程发生变更的变更项目,根据所述变更项目生成脚本可识别的diff标记文件。
步骤四、将所述Class文件关联所述测试覆盖率文件及diff标记文件,生成目标版本号对应的测试覆盖率数据对象,所述测试覆盖率数据对象包含所述变更项目的测试覆盖率;
具体的,可将Class文件关联所述测试覆盖率文件,获得目标版本号对应的测试覆盖率,读取diff标记文件,根据diff标记文件包含的变更项目修改所述测试覆盖率文件中包含的变更项目的diff属性;
步骤五、根据所述测试覆盖率数据对象,生成Html格式的测试覆盖率报告,在源代码文件中对被测试覆盖的代码及变更项目的代码分别进行标注;
如图1所示,测试覆盖率报告中包含的LinesDiff表示该目标版本号的目标工程包含的变更项目的代码行数,其前一个Missed表示此次测试未覆盖的变更项目的代码行数,diff(MisofCov)表示未覆盖的变更项目的代码行数占总变更项目的代码行数的比例,diff(MisofCov)后一个Cov表示对变更项目的测试覆盖率。
如图2所示,图中灰色底色的代码行是此次测试覆盖了的代码行,白色底色的是未覆盖的代码行;图中标注了+++的代码行是目标版本号的目标工程相较于预设版本号发生了变更了的代码。
步骤六、获取所述目标版本号关联的版本号对应的测试覆盖率数据对象,根据版本号对应的等级,将目标版本号对应的测试覆盖率文件与所述关联的版本号对应的测试覆盖率数据对象进行合并,并根据合并结果生成测试覆盖率报告;
其中,版本号的等级可分为分支、方法、代码行。
例如,A1版本号的目标工程对A方法进行了变更,该A方法包含B代码行及C代码行。对A1版本号的目标工程进行测试,该次测试覆盖了A代码行和B代码行,获得了第一测试覆盖率数据对象;
后续,在A1版本号的子版本A2版本号的目标工程中,对B代码行进行了变更。对A2版本号的目标工程进行测试,该次测试覆盖了A代码行,未覆盖B代码行,获得了第二测试覆盖率数据对象;
由于A2版本号是A1版本号的子版本号,为了提高测试效率避免重复测试,将第一测试覆盖率数据对象与第二测试覆盖率数据对象进行合并,将A代码统计为测试覆盖,将B代码行统计为测试未覆盖。
A1版本号的父版本号A的目标工程包含了A1版本号的目标工程包含的的所有项目,A1版本号的目标工程包含了子版本号A2的目标工程包含的的所有项目。
实施例二
对应上述方法,本申请提供了一种测试覆盖率的展示方法,如图3所示,所述方法包括:
310、获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
优选的,获取所述测试覆盖率文件及已编译文件前,所述方法还包括:
311、对所述第一版本号的目标工程对应的源代码文件进行插桩,对插桩后的所述源代码文件进行编译,获得所述已编译文件。
320、根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
330、根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
优选的,所述方法还包括:
341、根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
将所述第一版本号对应的测试覆盖率进行可视化展示。
优选的,所述方法还包括:
342、获取所述第一版本号对应的源代码文件;
根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记。
优选的,所述方法还包括:
343、获取第三版本号对应的测试覆盖率;
将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率并进行可视化展示。
优选的,所述第三版本号包含所述第一版本号的子版本号及父版本号。
优选的,所述将所述测试覆盖率进行可视化展示包括:
344、根据所述测试覆盖率生成Html文件以进行可视化展示。
实施例二
对应上述方法,本申请提供了一种测试覆盖率的展示装置,如图4所示,所述装置包括:
获取模块410,用于获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
处理模块420,用于根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
生成模块430,用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
显示模块440,用于将所述变更项目的测试覆盖率进行可视化展示。
优选的,所述生成模块430还可用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
所述显示模块440还可用于将所述第一版本号对应的测试覆盖率进行可视化展示。
优选的,所述获取模块410还可用于获取第三版本号对应的测试覆盖率;
所述装置还包括合并模块,用于将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率;
所述显示模块440还可用于将所述合并的测试覆盖率进行可视化展示。
优选的,所述获取模块410还可用于获取所述第一版本号对应的源代码文件;
所述显示模块440还可用于根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记。
优选的,所述显示模块440还可用于根据所述测试覆盖率生成Html文件以进行可视化展示。
实施例四
对应上述实施例,本申请还提供了一种计算机系统,包括一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
将所述变更项目的测试覆盖率进行可视化展示。
其中,图5示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(ReadOnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。
输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种测试覆盖率的展示方法,其特征在于,所述方法包括:
获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
将所述变更项目的测试覆盖率进行可视化展示;
所述方法还包括:
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
将所述第一版本号对应的测试覆盖率进行可视化展示;
获取所述第一版本号对应的源代码文件;
根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记;
获取第三版本号对应的测试覆盖率;
将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率并进行可视化展示。
2.根据权利要求1所述的方法,其特征在于,所述第三版本号包含所述第一版本号的父版本号及子版本号。
3.根据权利要求1所述的方法,其特征在于,所述将所述测试覆盖率进行可视化展示包括:
根据所述测试覆盖率生成Html文件以进行可视化展示。
4.一种测试覆盖率的展示装置,其特征在于,所述装置包括:
获取模块,用于获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
处理模块,用于根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
生成模块,用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
显示模块,用于将所述变更项目的测试覆盖率进行可视化展示;
所述生成模块还用于根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
所述显示模块还用于将所述第一版本号对应的测试覆盖率进行可视化展示;
所述获取模块还用于获取所述第一版本号对应的源代码文件;
所述显示模块还用于根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记;
所述获取模块还用于获取第三版本号对应的测试覆盖率;
所述装置还包括合并模块,用于将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率;
所述显示模块还用于将所述合并的测试覆盖率进行可视化展示。
5.一种计算机系统,其特征在于,所述系统包括:
一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
获取目标工程的第一版本号、第二版本号、测试覆盖率文件及已编译文件;
根据所述目标工程的提交记录,获得所述第一版本号相对所述第二版本号的变更项目;
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述变更项目的测试覆盖率;
将所述变更项目的测试覆盖率进行可视化展示;
还包括:
根据所述已编译文件、所述测试覆盖率文件及所述变更项目,生成所述第一版本号对应的测试覆盖率,所述第一版本号对应的测试覆盖率包含所述变更项目的测试覆盖率;
将所述第一版本号对应的测试覆盖率进行可视化展示;
获取所述第一版本号对应的源代码文件;
根据所述第一版本号对应的测试覆盖率,对所述源代码文件包含的被测试覆盖的代码进行第一可视化标记、对所述源代码文件包含的所述变更项目进行第二可视化标记;
获取第三版本号对应的测试覆盖率;
将所述第一版本号对应的测试覆盖率及所述第三版本号对应的测试覆盖率进行合并,获得合并的测试覆盖率并进行可视化展示。
CN201911182199.3A 2019-11-27 2019-11-27 一种测试覆盖率的展示方法、装置及计算机系统 Active CN110908915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911182199.3A CN110908915B (zh) 2019-11-27 2019-11-27 一种测试覆盖率的展示方法、装置及计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911182199.3A CN110908915B (zh) 2019-11-27 2019-11-27 一种测试覆盖率的展示方法、装置及计算机系统

Publications (2)

Publication Number Publication Date
CN110908915A CN110908915A (zh) 2020-03-24
CN110908915B true CN110908915B (zh) 2023-04-14

Family

ID=69819755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911182199.3A Active CN110908915B (zh) 2019-11-27 2019-11-27 一种测试覆盖率的展示方法、装置及计算机系统

Country Status (1)

Country Link
CN (1) CN110908915B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448850A (zh) * 2021-06-29 2021-09-28 平安健康保险股份有限公司 方法调用链的可视化方法、系统、设备及介质
CN114116480A (zh) * 2021-11-26 2022-03-01 北京字节跳动网络技术有限公司 应用程序测试覆盖率的确定方法、装置、介质及设备
CN117349150A (zh) * 2023-09-22 2024-01-05 乾升利信息技术(上海)有限公司 一种覆盖率数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404585A (zh) * 2015-12-01 2016-03-16 腾讯科技(深圳)有限公司 获取代码覆盖率的方法及装置
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404585A (zh) * 2015-12-01 2016-03-16 腾讯科技(深圳)有限公司 获取代码覆盖率的方法及装置
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置

Also Published As

Publication number Publication date
CN110908915A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110908915B (zh) 一种测试覆盖率的展示方法、装置及计算机系统
US10268350B2 (en) Automatically capturing user interactions and evaluating user interfaces in software programs using field testing
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
US8645912B2 (en) System and method for use in replaying software application events
CN103049371A (zh) Android应用程序测试方法和测试装置
US20080244536A1 (en) Evaluating static analysis results using code instrumentation
CN111858371A (zh) 软件测试方法、系统、存储介质及计算机设备
US20130179867A1 (en) Program Code Analysis System
CN113778898A (zh) 用户界面自动化测试方法、装置、电子设备及存储介质
CN110633220A (zh) 调试信息显示方法、装置、存储介质及电子设备
EP2568302A1 (en) Automatically generating executable code for a test sequence
CN110688173B (zh) 一种跨平台界面框架中组件的定位方法、装置及电子设备
CN112579475A (zh) 代码测试方法、装置、设备及可读存储介质
CN108885574B (zh) 用于监视和报告设计、编译和运行时的性能和正确性问题的系统
CN110866492B (zh) 一种基线分支的识别方法、装置及计算机系统
CN115509913A (zh) 软件自动化测试方法、装置、机器可读介质及设备
CN114968751A (zh) 一种无代码开发平台的程序调试方法和程序调试装置
CN113986749A (zh) 前端测试信息的展示方法及展示装置、电子设备
CN110716849B (zh) 应用程序的测试用例录制方法和装置
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和系统
CN113377648A (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质
CN104809061A (zh) 回归测试方法及装置
US9003371B2 (en) Recursive method call representation in a plot view of method execution performance
CN111078574A (zh) 生成影响分析报告的方法及装置
CN115879966A (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
GR01 Patent grant
GR01 Patent grant