CN110597710B - 测试覆盖率统计方法、装置、计算机设备及存储介质 - Google Patents

测试覆盖率统计方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110597710B
CN110597710B CN201910745396.5A CN201910745396A CN110597710B CN 110597710 B CN110597710 B CN 110597710B CN 201910745396 A CN201910745396 A CN 201910745396A CN 110597710 B CN110597710 B CN 110597710B
Authority
CN
China
Prior art keywords
code
tested
test
coverage rate
component
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
CN201910745396.5A
Other languages
English (en)
Other versions
CN110597710A (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.)
Ping An Securities Co Ltd
Original Assignee
Ping An Securities 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 Ping An Securities Co Ltd filed Critical Ping An Securities Co Ltd
Priority to CN201910745396.5A priority Critical patent/CN110597710B/zh
Publication of CN110597710A publication Critical patent/CN110597710A/zh
Application granted granted Critical
Publication of CN110597710B publication Critical patent/CN110597710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results 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

测试覆盖率统计方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种测试覆盖率统计方法、装置、计算机设备及存储介质。
背景技术
在开发人员进行开发的过程中,需要对已经开发完成的代码进行测试,其中包括覆盖率测试。覆盖率测试用于测试多少代码被测试过,多少代码没有被测试过。这样就有利于开发人员了解到还有多少代码处于未测试状态。
手工测试的覆盖率之前一直用业务覆盖率表示,但这个业务覆盖率比较粗略,很难真正100%覆盖,而被测试的代码对于测试人员来说又是黑盒,很难准确预知测试质量和测试范围,特别在回归测试中尤为明显,由于无法明确研发代码修改对应的业务范围,往往只能全量回归,费时且效果不好,因为回归用例也可能不包括修改的内容,导致漏测。
而现有的覆盖率统计工具一般用在统计单元测试覆盖率上,覆盖率统计单一,不够全面。
发明内容
基于此,有必要针对现有覆盖率统计工具覆盖率统计单一,不够全面的问题,提供一种能更加全面对测试覆盖率进行统计的测试覆盖率统计方法、装置、计算机设备及存储介质。
一种测试覆盖率统计方法,所述方法包括:
获取待测版本代码;
调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息,所述测试工具已通过服务化处理;
查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
在其中一个实施例中,所述调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息包括:
查找用于对所述待测版本代码进行测试的各测试服务器;
调用所述测试工具清空所述各个测试服务器的原测试数据;
调用各个测试服务器执行所述待测版本代码;
调用所述测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;
合并所述各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
在其中一个实施例中,所述查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息包括:
查找所述待测版本代码对应的基线版本代码,获取所述待测版本代码中各待测组件相对于所述基线版本代码的增量代码;
根据所述待测组件对应的整体代码覆盖率信息和所述增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;
遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;
采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取所述增量代码覆盖率信息;
调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息。
在其中一个实施例中,所述调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息之前,还包括:
将所述测试工具的重置命令进行服务化处理,服务化处理后的所述重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,所述对应测试服务器为对所述待测组件进行测试的测试服务器;
将所述测试工具的覆盖率获取命令进行服务化处理,服务化处理后的所述覆盖率获取命令用于根据待测组件的组件名获取所述待测组件在测试服务器内的覆盖率数据;
将所述测试工具的报告生成命令进行服务化处理,服务化处理后的所述报告生成命令用于整个所述各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。
在其中一个实施例中,所述根据所述整体代码覆盖率信息以及所述增量代码覆盖率信息获取测试覆盖率统计结果之前,还包括:
获取测试覆盖率配置文件,查找所述待测版本代码中的关心部分代码;
调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
在其中一个实施例中,所述根据所述整体代码覆盖率信息以及所述增量代码覆盖率信息获取测试覆盖率统计结果之前,还包括:
获取测试覆盖率配置文件,查找所述待测版本代码中的不关心部分代码;
调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
一种测试覆盖率统计装置,所述装置包括:
代码获取模块,用于获取待测版本代码;
整体覆盖率统计模块,用于调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息;
增量覆盖率统计模块,用于查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
结果获取模块,用于获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
在其中一个实施例中,所述整体覆盖率统计模块具体用于:
查找用于对所述待测版本代码进行测试的各测试服务器;
调用所述测试工具清空所述各个测试服务器的原测试数据;
调用各个测试服务器执行所述待测版本代码;
调用所述测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;
合并所述各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待测版本代码;
调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息,所述测试工具已通过服务化处理;
查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待测版本代码;
调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息,所述测试工具已通过服务化处理;
查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
上述测试覆盖率统计方法、装置、计算机设备以及存储介质,首先获取待测版本代码;而后通过服务处理后化的测试工具对待测版本代码内各待测组件对应的整体代码覆盖率信息;查找基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,获取待测版本代码内各待测组件对应的增量代码覆盖率信息;基于整体代码覆盖率信息以及增量代码覆盖率信息生成待测版本代码对应的测试覆盖率统计报告。本申请的测试覆盖率统计方法通过服务化测试工具分别获取整体的测试率覆盖信息以及增量覆盖率信息,从更多的维度上,对测试覆盖率进行统计,通过整体代码覆盖率可以有效度量测试的范围和工作量,而通过增量代码覆盖率则可以避免出现漏测,结合整体代码覆盖率信息以及增量代码覆盖率信息可以更加全面有效地统计待测版本代码的测试覆盖率。
附图说明
图1为一个实施例中测试覆盖率统计方法的应用环境图;
图2为一个实施例中测试覆盖率统计方法的流程示意图;
图3为一个实施例中图2的步骤S400的子流程示意图;
图4为一个实施例中图2的步骤S600的子流程示意图;
图5为一个实施例中测试覆盖率配置文件的参数范围配置图;
图6为一个实施例中测试覆盖率统计装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的测试覆盖率统计方法,可以应用于如图1所示的应用环境中,其中,覆盖率统计服务器102可以通过网络等方式与多个测试服务器104进行通信,通过测试服务器104对测试代码的测试覆盖率进行统计,覆盖率统计服务器102首先获取待测版本代码,而后在编译之后,通过测试服务器104对待测版本代码的各个组件进行测试,而后调用测试工具获取测试服务器104的整体代码覆盖率信息,而后覆盖率统计服务器102获取基线版本代码,基于基线版本代码与待测版本代码确定代码增量,而后通过调用服务化后的测试工具获取测试服务器104的增量代码覆盖率信息,获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。覆盖率统计服务器102与测试服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在其中一个实施例中,本申请的覆盖测试率统计方法,通过覆盖率统计服务器实现,具体包括以下步骤:
S200,获取待测版本代码。
待测版本代码是指即将被测试的代码。待测版本是相当于基线版本以及各历史更新版本而言的。在对代码的回归测试中,由于修改了旧代码后,需要重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,所以每次更新都要重新进行测试以确认代码的有效性。在统计当前待测版本代码的测试覆盖率前,首先需要获取待测版本代码。
S400,调用测试工具,获取待测版本代码内各待测组件对应的整体代码覆盖率信息。
服务化是指将测试工具的对应功能进行改写,使得本地可以不用配置测试工具的环境,就可通过直接调用测试工具的相关功能来获取数据。各待测组件是指待测版本代码编译后的各个功能组件,服务化处理之后可以获取各待测组件对应的整体代码覆盖率信息。在其中一个实施例中,服务器可以通过jenkins分布式调度平台来实现覆盖率测试统计,而jenkins分布式调度平台中的测试工具包括覆盖率测试工具jacoco,jacoco可以通过打包工具的相互配合,获取对应的测试覆盖率,但各个打包工具之间差异比较大,导致很难统一配置部署,统计难度较大,通过服务化以后,屏蔽了各个打包工具间的差异,使得一套服务可以兼容多种软件构建工具,方便测试覆盖率的统计。具体的,可以通过调用服务化后的测试工具在多个应用服务器对待测版本代码进行测试,获取待测版本代码内各待测组件对应的测试覆盖率。
S600,查找待测版本代码对应的基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息;
基线版本是指软件文档或源码的一个稳定版本,它是进一步开发的基础。而待测版本代码则是相较基线版本代码存在一定区别的更新版本代码,更新版本代码有一部分与基线版本代码一致,但也存在与基线版本代码存在差异部分的内容,即增量代码,可以通过对比更新版本代码与基线版本代码确定增量代码,并通过服务化后的测试工具来获取增量部分代码的测试覆盖率。在其中一个实施例中,可以根据待测版本代码的版本号查找基线版本代码,并通过基线版本代码为待测版本代码的已测部分添加已测标记,进而确定待测版本代码中的增量代码。在进行增量覆盖率统计时,可以通过查找基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,而后通过调用服务化的测试工具以及已经获得的整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
S800,获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
预设报告模板用于汇总代码的所有模板的测试覆盖率信息。可以基于当前待测代码的组件信息来建立预设报告模板,而后在通过测试获得代码的覆盖率信息后,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息分别填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。在其中一个实施例中,各待测组件的整体代码覆盖率信息以及增量代码覆盖率信息都有对应的填充标签,填充标签用于指示将该待测组件的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板的对应部分,在获得各待测组件的整体代码覆盖率信息以及增量代码覆盖率,后可以为对应的覆盖率数据附上填充标签后,而后将其填入预设报告模板。在其中一个实施例中,可以调用测试工具中的报告生成命令来生成对应的测试覆盖率统计报告,提高处理效率。在另一个实施例中,还可以直接获取历史测试覆盖率报告,根据当前待测版本代码的全量代码的测试覆盖率以及增量代码的测试覆盖率生成对应的对比测试覆盖率报告。在获得本次测试的测试覆盖率,可以基于测试的历史数据以及当前测试的数据生成新版本的测试覆盖率报告,通过统计每次自动化测试的覆盖率,可以明确当前自动化的效能,以及给未来优化自动化提供方向和数据支持。
上述测试覆盖率统计方法,首先获取待测版本代码;而后通过服务处理后化的测试工具对待测版本代码内各待测组件对应的整体代码覆盖率信息;查找基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,获取待测版本代码内各待测组件对应的增量代码覆盖率信息;基于整体代码覆盖率信息以及增量代码覆盖率信息生成待测版本代码对应的测试覆盖率统计报告。本申请的测试覆盖率统计方法通过服务化测试工具分别获取整体的测试率覆盖信息以及增量覆盖率信息,从更多的维度上,对测试覆盖率进行统计,通过整体代码覆盖率可以有效度量测试的范围和工作量,而通过增量代码覆盖率则可以避免出现漏测,结合整体代码覆盖率信息以及增量代码覆盖率信息可以更加全面有效地统计待测版本代码的测试覆盖率。
如图3所示,在其中一个实施例中,S400包括:
S410,查找用于对待测版本代码进行测试的各测试服务器;
S430,调用测试工具清空各个测试服务器的原测试数据;
S450,调用各个测试服务器执行待测版本代码;
S470,调用测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;
S490,合并各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
首先可以查找用于对待测版本代码进行测试的各测试服务器,而后通过调用服务化后的测试工具清空原测试服务器内的测试数据,而后调用各个测试服务器测试编译后的待测版本代码,各个测试服务器分别对待测版本代码的各个组件进行测试。而后覆盖率统计服务器调用测试工具获取各个服务器上的测试覆盖率数据,并通过综合各个测试服务器的整体覆盖率信息,获得待测版本代码的各待测组件的整体代码覆盖率信息。在其中一个实施例中,具体可以在一个待测版本代码中,对各个测试服务器的已测试部分的代码进行标记,在标记完成后,通过已标记部分的代码占比确定待测版本代码的各待测组件的整体代码覆盖率信息。
如图4所示,在其中一个实施例中,S600包括:
S610,查找待测版本代码对应的基线版本代码,获取待测版本代码中各待测组件相对于基线版本代码的增量代码;
S630,根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;
S650,遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;
S670,采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息;
S690,调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
可以首先查找基线版本代码,确认基线版本代码中的增量代码。而后覆盖率统计服务器可以通过测试服务器,根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象。而后通过遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量,并通过采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息。而后覆盖率统计服务器获取各个测试服务器中待测版本代码各个组件的增量代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
在其中一个实施例中,S400之前包括:
将测试工具的重置命令进行服务化处理,服务化处理后的重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,对应测试服务器为对待测组件进行测试的测试服务器;
将测试工具的覆盖率获取命令进行服务化处理,服务化处理后的覆盖率获取命令用于根据待测组件的组件名获取待测组件在测试服务器内的覆盖率数据;
将测试工具的报告生成命令进行服务化处理,服务化处理后的报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。
可以通过对测试工具进行服务化,使得本地可以不用配置测试工具的环境,就可通过直接调用测试工具的相关功能来获取测试覆盖率数据。在其中一个实施例中,测试工具包括jacoco,jacoco是一个开源的覆盖率工具,集成于jenkins平台上,它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant、Maven中;可以作为Eclipse插件,可以使用其JavaAgent技术监控Java程序等等。很多第三方的工具提供了对jacoco的集成,如sonar、Jenkins等。对于其他语言,也可以对对应的覆盖率工具进行服务化。服务化包括将jacoco的命令行功能进行拓展:jacoco中的reset命令之前只能通过指定ip地址和端口号,才能进行远程清理数据,现在可以通过服务化改为可以通过传入组件名,就可以将该组件所有服务器的数据清空、重置;传入系统名可以将该系统名下所有组件的所有服务的数据清空、重置的重置命令。Jacoco中的dump命令之前只能通过指定ip地址和端口号,才能进行远程获取数据,现在可以通过服务化改为可以通过传入组件名,就获得该组件所有服务器的覆盖率数据;传入系统名可以获得该系统名下所有组件的所有服务的数据的覆盖率获取命令。同时新增report服务的报告生成命令,该命令用于根据所获取的整体代码覆盖率信息,根据整体代码覆盖率信息自动生成报告。在其中一个实施例中,还可以同时开放报告编码API,不仅可以设置报告文件编码,还可以设置html(HyperTextMarkupLanguage,超文本标记语言)报告显示编码,解决因源代码编码问题导致的覆盖率统计的详细报告中文乱码问题,也解决了之前html报告仅支持utf-8(8-bitUnicodeTransformationFormat,万国码)编码的问题。
在其中一个实施例中,S800之前,还包括:
获取测试覆盖率配置文件,查找待测版本代码中的关心部分代码;
调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
在另一个实施例中,S800之前,还包括获取测试覆盖率配置文件,查找待测版本代码中的不关心部分代码;调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
如图5所示,测试覆盖率配置文件包括关心参数配置文件和不关心参数配置文件,假如所有的待测版本代码表示A,关心参数配置范围则表示为B,不关心参数范围表示为C。
关心参数:配置该参数表示覆盖率仅统计配置的代码的覆盖率,即B部分代码的覆盖率;
不关心参数:表示统计除此以外的代码的覆盖率,即A中不包括C的代码的覆盖率;
关心参数即Includes参数,不关心参数即excludes参数,测试覆盖率配置文件是指用于配置Includes参数或者excludes参数的文件,测试覆盖率统计工具可以根据配置参数统计对应部分代码的测试覆盖率。测试人员关心的代码即是指一些大的项目代码可能很多,也可能有不少代码和测试人员所测业务无关的,或者废弃的代码,这些代码该测试人员的测试用例是没必要覆盖的,遇到这种情况测试人员可以通过excludes配置,排除掉这些代码,从而是最后的覆盖率报告更有针对性,提高效率。Jenkins平台可以调用平台内组件进行覆盖率统计,通过覆盖率测试配置文件对待测版本代码中的各待测组件进行选择测试,获取这部分代码的测试覆盖率信息,提高测试覆盖率统计的效果。
在其中一个实施例中,本申请的测试覆盖率统计方法具体包括以下步骤:获取待测版本代码;将测试工具的重置命令进行服务化处理,服务化处理后的重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,对应测试服务器为对待测组件进行测试的测试服务器;将测试工具的覆盖率获取命令进行服务化处理,服务化处理后的覆盖率获取命令用于根据待测组件的组件名获取待测组件在测试服务器内的覆盖率数据;将测试工具的报告生成命令进行服务化处理,服务化处理后的报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。查找用于对待测版本代码进行测试的各测试服务器;调用测试工具清空各个测试服务器的原测试数据;调用各个测试服务器执行待测版本代码;调用测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;合并各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。查找待测版本代码对应的基线版本代码,获取待测版本代码中各待测组件相对于基线版本代码的增量代码;根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息;调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。获取测试覆盖率配置文件,查找待测版本代码中的关心部分代码;调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图6所示,一种短测试覆盖率统计装置,装置包括:
代码获取模块200,用于获取待测版本代码;
整体覆盖率统计模块400,用于调用测试工具获取待测版本代码内各待测组件对应的整体代码覆盖率信息;
增量覆盖率统计模块600,用于查找待测版本代码对应的基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,调用测试工具获取待测版本代码内各待测组件对应的增量代码覆盖率信息;
结果获取模块800,用于获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
在其中一个实施例中,整体覆盖率统计模块400具体用于查找用于对待测版本代码进行测试的各测试服务器,调用测试工具清空各个测试服务器的原测试数据;调用各个测试服务器执行待测版本代码;调用测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;合并各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
在其中一个实施例中,增量覆盖率统计模块600用于查找待测版本代码对应的基线版本代码,获取待测版本代码中各待测组件相对于基线版本代码的增量代码;根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息;调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
在其中一个实施例中,还包括服务化模块,用于将测试工具的重置命令进行服务化处理,服务化处理后的重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,对应测试服务器为对待测组件进行测试的测试服务器;将测试工具的覆盖率获取命令进行服务化处理,服务化处理后的覆盖率获取命令用于根据待测组件的组件名获取待测组件在测试服务器内的覆盖率数据;将测试工具的报告生成命令进行服务化处理,服务化处理后的报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。
在其中一个实施例中,还包括关心覆盖率统计模块,用于获取测试覆盖率配置文件,查找待测版本代码中的关心部分代码;调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
在其中一个实施例中,还包括关心覆盖率统计模块,还用于获取测试覆盖率配置文件,查找待测版本代码中的不关心部分代码;调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
关于测试覆盖率统计装置的具体限定可以参见上文中对于测试覆盖率统计方法的限定,在此不再赘述。上述测试覆盖率统计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试覆盖率统计方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待测版本代码;
调用测试工具,获取待测版本代码内各待测组件对应的整体代码覆盖率信息,测试工具已通过服务化处理;
查找待测版本代码对应的基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:查找用于对待测版本代码进行测试的各测试服务器;调用测试工具清空各个测试服务器的原测试数据;调用各个测试服务器执行待测版本代码;调用测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;合并各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:查找待测版本代码对应的基线版本代码,获取待测版本代码中各待测组件相对于基线版本代码的增量代码;根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息;调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将测试工具的重置命令进行服务化处理,服务化处理后的重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,对应测试服务器为对待测组件进行测试的测试服务器;将测试工具的覆盖率获取命令进行服务化处理,服务化处理后的覆盖率获取命令用于根据待测组件的组件名获取待测组件在测试服务器内的覆盖率数据;将测试工具的报告生成命令进行服务化处理,服务化处理后的报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取测试覆盖率配置文件,查找待测版本代码中的关心部分代码;调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取测试覆盖率配置文件,查找待测版本代码中的不关心部分代码;调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待测版本代码;
调用测试工具,获取待测版本代码内各待测组件对应的整体代码覆盖率信息,测试工具已通过服务化处理;
查找待测版本代码对应的基线版本代码,根据基线版本代码确定待测版本代码中的代码增量,调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:查找用于对待测版本代码进行测试的各测试服务器;调用测试工具清空各个测试服务器的原测试数据;调用各个测试服务器执行待测版本代码;调用测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;合并各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:查找待测版本代码对应的基线版本代码,获取待测版本代码中各待测组件相对于基线版本代码的增量代码;根据待测组件对应的整体代码覆盖率信息和增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取增量代码覆盖率信息;调用测试工具,根据整体代码覆盖率信息,获取待测版本代码内各待测组件对应的增量代码覆盖率信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将测试工具的重置命令进行服务化处理,服务化处理后的重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,对应测试服务器为对待测组件进行测试的测试服务器;将测试工具的覆盖率获取命令进行服务化处理,服务化处理后的覆盖率获取命令用于根据待测组件的组件名获取待测组件在测试服务器内的覆盖率数据;将测试工具的报告生成命令进行服务化处理,服务化处理后的报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取测试覆盖率配置文件,查找待测版本代码中的关心部分代码;调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取测试覆盖率配置文件,查找待测版本代码中的不关心部分代码;调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种测试覆盖率统计方法,所述方法包括:
获取待测版本代码;
将测试工具的重置命令进行服务化处理,服务化处理后的所述重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,所述对应测试服务器为对所述待测组件进行测试的测试服务器;
将所述测试工具的覆盖率获取命令进行服务化处理,服务化处理后的所述覆盖率获取命令用于根据待测组件的组件名获取所述待测组件在测试服务器内的覆盖率数据;
将所述测试工具的报告生成命令进行服务化处理,服务化处理后的所述报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告;
调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息,所述测试工具已通过服务化处理,所述服务化处理用于屏蔽所述测试工具的打包工具间的差异;
查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
2.根据权利要求1所述的方法,其特征在于,所述调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息包括:
查找用于对所述待测版本代码进行测试的各测试服务器;
调用所述测试工具清空各个测试服务器的原测试数据;
调用各个测试服务器执行所述待测版本代码;
调用所述测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;
合并所述各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
3.根据权利要求2所述的方法,其特征在于,所述查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息包括:
查找所述待测版本代码对应的基线版本代码,获取所述待测版本代码中各待测组件相对于所述基线版本代码的增量代码;
根据所述待测组件对应的整体代码覆盖率信息和所述增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;
遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;
采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取所述增量代码覆盖率信息;
调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息。
4.根据权利要求1所述的方法,其特征在于,根据所述整体代码覆盖率信息以及所述增量代码覆盖率信息获取测试覆盖率统计结果之前,还包括:
获取测试覆盖率配置文件,查找所述待测版本代码中的关心部分代码;
调用测试工具获取待测版本代码的关心部分代码的测试覆盖率。
5.根据权利要求1所述的方法,其特征在于,根据所述整体代码覆盖率信息以及所述增量代码覆盖率信息获取测试覆盖率统计结果之前,还包括:
获取测试覆盖率配置文件,查找所述待测版本代码中的不关心部分代码;
调用测试工具获取待测版本代码的除不关心部分代码之外部分代码的测试覆盖率。
6.一种测试覆盖率统计装置,其特征在于,所述装置包括:
代码获取模块,用于获取待测版本代码;
服务化模块,用于将测试工具的重置命令进行服务化处理,服务化处理后的所述重置命令用于根据待测组件的组件名清空对应测试服务器的测试数据,所述对应测试服务器为对所述待测组件进行测试的测试服务器;将所述测试工具的覆盖率获取命令进行服务化处理,服务化处理后的所述覆盖率获取命令用于根据待测组件的组件名获取所述待测组件在测试服务器内的覆盖率数据;将所述测试工具的报告生成命令进行服务化处理,服务化处理后的所述报告生成命令用于整个各待测组件对应的全量代码的测试覆盖率以及各待测组件对应的增量代码的测试覆盖率,生成对应的覆盖率测试报告;
整体覆盖率统计模块,用于调用测试工具,获取所述待测版本代码内各待测组件对应的整体代码覆盖率信息,所述测试工具已通过服务化处理,所述服务化处理用于屏蔽所述测试工具的打包工具间的差异;
增量覆盖率统计模块,用于查找所述待测版本代码对应的基线版本代码,根据所述基线版本代码确定所述待测版本代码中的代码增量,通过测试工具获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息;
结果获取模块,用于获取预设报告模板,将所述各待测组件对应的整体代码覆盖率信息以及增量代码覆盖率信息填入所述预设报告模板,生成待测版本代码对应的测试覆盖率统计报告。
7.根据权利要求6所述的装置,其特征在于,所述整体覆盖率统计模块具体用于:
查找用于对所述待测版本代码进行测试的各测试服务器;
调用所述测试工具清空各个测试服务器的原测试数据;
调用各个测试服务器执行所述待测版本代码;
调用所述测试工具,获取待测版本代码的各待测组件在各个测试服务器的整体覆盖率信息;
合并所述各个测试服务器的整体覆盖率信息,获取待测版本代码的各待测组件的整体代码覆盖率信息。
8.根据权利要求7所述的装置,其特征在于,所述增量覆盖率统计模块用于:
查找所述待测版本代码对应的基线版本代码,获取所述待测版本代码中各待测组件相对于所述基线版本代码的增量代码;
根据所述待测组件对应的整体代码覆盖率信息和所述增量代码,将增量代码的变更代码行映射至抽象语法树的行对象;
遍历抽象语法树的行对象,从抽象语法树的行对象中确定增量代码的特征信息总数和增量代码的被覆盖特征信息数量;
采用增量代码的被覆盖特征信息数量除以增量代码的特征信息总数,获取所述增量代码覆盖率信息;
调用测试工具,根据所述整体代码覆盖率信息,获取所述待测版本代码内各待测组件对应的增量代码覆盖率信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201910745396.5A 2019-08-13 2019-08-13 测试覆盖率统计方法、装置、计算机设备及存储介质 Active CN110597710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910745396.5A CN110597710B (zh) 2019-08-13 2019-08-13 测试覆盖率统计方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910745396.5A CN110597710B (zh) 2019-08-13 2019-08-13 测试覆盖率统计方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110597710A CN110597710A (zh) 2019-12-20
CN110597710B true CN110597710B (zh) 2024-04-05

Family

ID=68854204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910745396.5A Active CN110597710B (zh) 2019-08-13 2019-08-13 测试覆盖率统计方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110597710B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897727A (zh) * 2020-07-30 2020-11-06 平安科技(深圳)有限公司 软件测试方法、装置、计算机设备及存储介质
CN112346981A (zh) * 2020-11-11 2021-02-09 上海哔哩哔哩科技有限公司 联调测试覆盖率检测方法及系统
CN112363945A (zh) * 2020-11-23 2021-02-12 北京三快在线科技有限公司 一种版本测试的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722436A (zh) * 2012-05-29 2012-10-10 百度在线网络技术(北京)有限公司 一种增量覆盖信息的统计方法和装置
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
CN108197036A (zh) * 2018-02-06 2018-06-22 百度在线网络技术(北京)有限公司 用于确定增量代码的覆盖率信息的方法和装置
CN108415821A (zh) * 2017-02-09 2018-08-17 腾讯科技(深圳)有限公司 测试报告的生成方法及装置
CN108829593A (zh) * 2018-06-05 2018-11-16 平安壹钱包电子商务有限公司 代码覆盖率计算分析方法、装置、设备及存储介质
CN109002395A (zh) * 2018-07-06 2018-12-14 北京京东金融科技控股有限公司 一种代码覆盖率管理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132121A1 (en) * 2015-11-06 2017-05-11 International Business Machines Corporation Incremental code coverage analysis using automatic breakpoints

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
CN102722436A (zh) * 2012-05-29 2012-10-10 百度在线网络技术(北京)有限公司 一种增量覆盖信息的统计方法和装置
CN108415821A (zh) * 2017-02-09 2018-08-17 腾讯科技(深圳)有限公司 测试报告的生成方法及装置
CN108197036A (zh) * 2018-02-06 2018-06-22 百度在线网络技术(北京)有限公司 用于确定增量代码的覆盖率信息的方法和装置
CN108829593A (zh) * 2018-06-05 2018-11-16 平安壹钱包电子商务有限公司 代码覆盖率计算分析方法、装置、设备及存储介质
CN109002395A (zh) * 2018-07-06 2018-12-14 北京京东金融科技控股有限公司 一种代码覆盖率管理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
服务接口测试自动化工具的研究;卓欣欣;白晓颖;许静;李恩鹏;刘喻;康介恢;宋文莉;;计算机研究与发展(02);第358-376页 *

Also Published As

Publication number Publication date
CN110597710A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN108829593B (zh) 代码覆盖率计算分析方法、装置、设备及存储介质
CN110597710B (zh) 测试覆盖率统计方法、装置、计算机设备及存储介质
CN111651366B (zh) Sdk测试方法、装置、设备及存储介质
US9652366B2 (en) Code change analysis to optimize testing lifecycle
CN109388566A (zh) 一种代码覆盖率分析方法、装置、设备及存储介质
CN108459962B (zh) 代码规范性检测方法、装置、终端设备及存储介质
US11113050B2 (en) Application architecture generation
CN113568839A (zh) 软件测试和统计测试覆盖率的方法、装置、设备及介质
US20110061041A1 (en) Reliability and availability modeling of a software application
EP3447635A1 (en) Application architecture generation
CN112363953B (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及系统
CN109977008B (zh) 一种应用程序依赖的js代码与原生库兼容的方法及终端
CN113448854A (zh) 一种回归测试方法和装置
CN110569194A (zh) 接口测试方法、装置、电子设备及存储介质
CN114398293A (zh) 接口测试用例生成方法、电子设备和存储介质
CN111459509A (zh) 容器镜像的构建方法、装置和服务器
CN114610635A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
US20190212990A1 (en) Framework for generating adapters in an integrated development environment
CN115391228A (zh) 精准测试方法、装置、设备及介质
CN113986734A (zh) 代码覆盖报告生成方法、装置、设备及介质
CN110928760A (zh) 一种嵌入式系统中的单元测试方法与装置
KR20070104202A (ko) 휴대폰 소프트웨어 검증을 위한 자동화 테스트 서비스시스템 및 그 방법
CN114579466A (zh) 构建测试用例和代码测试的方法、装置、设备及介质
CN112416781A (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