CN114676040A - 一种测试覆盖率验证方法、装置及存储介质 - Google Patents
一种测试覆盖率验证方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114676040A CN114676040A CN202210153184.XA CN202210153184A CN114676040A CN 114676040 A CN114676040 A CN 114676040A CN 202210153184 A CN202210153184 A CN 202210153184A CN 114676040 A CN114676040 A CN 114676040A
- Authority
- CN
- China
- Prior art keywords
- test
- coverage rate
- test case
- coverage
- sequence
- 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
Images
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
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test 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
技术领域
本申请实施例涉及芯片验证技术领域,具体涉及一种测试覆盖率验证方法、装置及存储介质。
背景技术
随着芯片自研模块设计复杂度逐渐提高,自研模块越来越多,芯片验证三个细分领域激励、检查机制和覆盖率,之中的覆盖率显得尤为重要。
芯片覆盖率包括代码覆盖率和功能覆盖率,不管哪种覆盖率,都需要在验证结束的时候收敛到理想状态,通常是带着waiver(排除掉不需要覆盖的项)达到100%的覆盖。
但是,无节制的增大测试用例去达到100%覆盖,会在最后10%的测试用例花销掉整个项目50%的研发时间,也会对回归的效率产生影响。
发明内容
本申请实施例提供一种测试覆盖率验证方法、装置及存储介质,能够最小的减少回归测试用例的运行时间,在达到同样覆盖率目标下优化测试用例列表。
第一方面,本申请实施例提供了一种测试覆盖率验证方法,所述方法包括:
获取测试覆盖率报告,所述测试覆盖率报告包括多个测试用例执行后的测试数据;
按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列;
按照所述第一序列中各测试用例的执行顺序依次执行各测试用例;
获取各测试用例在执行过程中的实时覆盖率数值;
若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合,所述第一测试用例集合包括多个最小执行时长的测试用例;
若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
一些实施例中,所述将所述第一目标测试用例加入第一测试用例集合之后,所述方法还包括:
若确定所述第一测试用例集合未满足所述预设覆盖率标准,则确定当前执行时长最短的第二目标测试用例;
将所述第二目标测试用例添加至所述第一测试用例集合。
一些实施例中,所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例之前,所述方法还包括:
在各测试用例中设置通用仿真器覆盖率接口函数库UCAPI;
所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例,获取各测试用例在执行过程中的实时覆盖率数值,包括:
按照所述第一序列中各测试用例的执行顺序依次执行各所述测试用例;
在执行各所述测试用例中,调用所述UCAPI,以动态获取各测试用例在执行过程中的覆盖率数值;
根据各测试用例在执行过程中的覆盖率数值,确定各测试用例对覆盖率的贡献值以及每条测试用例在所述覆盖率的执行时长。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
基于UCAPI按照不同区域获取覆盖率信息,并基于所述按照不同区域获取覆盖率信息形成覆盖率结果,所述覆盖率结果包括所述第一序列中每条测试用例对覆盖率的贡献值以及每条测试用例贡献覆盖率的执行时长;
基于所述UCAPI返回所述覆盖率结果,所述覆盖率结果按照DUT设计代码的不同区域进行统计。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
通过所述UCAPI确定覆盖率对象为DUT内部的任意层次结构的,以及通过所述UCAPI获取测试平台部分的覆盖率数据信息。
一些实施例中,所述方法还包括:
通过测试平台覆盖率对象获取所述覆盖率对象所在层次结构下的覆盖率数据,获取每个功能覆盖率的版本信息、对象信息和覆盖率数据,获取功能覆盖率点和交叉覆盖率,以及获取每条测试用例执行时长;
将所述覆盖率数据信息保存到覆盖率报告库,以及将各条测试用例的执行时长存储在所述覆盖率报告库。
第二方面,本申请实施例还提供一种测试覆盖率验证装置,所述测试覆盖率验证装置包括:
输入输出模块,用于获取测试覆盖率报告,所述测试覆盖率报告包括多个测试用例执行后的测试数据;
处理模块,用于按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列;按照所述第一序列中各测试用例的执行顺序依次执行各测试用例;通过所述输入输出模块获取各测试用例在执行过程中的实时覆盖率数值;
所述处理模块还用于若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合,所述第一测试用例集合包括多个最小执行时长的测试用例;
若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
第三方面,本申请实施例还提供了一种处理设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请实施例提供的任一种测试覆盖率验证方法中的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例提供的任一种测试覆盖率验证方法中的步骤。
从以上内容可得出,本申请实施例中,若第一目标测试用例的实时覆盖率数值相对于测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将第一目标测试用例加入第一测试用例集合,第一测试用例集合包括多个最小执行时长的测试用例;若确定第一测试用例集合满足预设覆盖率标准,则停止对第一序列中的测试用例的执行操作,停止对第一测试用例集合添加测试用例的操作。本方案能够最小的减少回归测试用例的运行时间,在达到同样覆盖率目标下优化测试用例列表。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请中测试覆盖率验证方法的一种流程示意图;
图2是本申请中通过UCAPI查看测试平台部分覆盖率的一种示意图;
图3是本申请中测试覆盖率验证方法的一种流程示意图;
图4a是本申请中测试覆盖率相关参数的一种获取方式示意图;
图4b是本申请中测试覆盖率相关参数的一种获取方式示意图;
图5是本申请中测试覆盖率验证方法的一种流程示意图;
图6本申请中测试覆盖率验证装置的一种结构示意图;
图7是本申请处理设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本申请实施例所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本申请的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本申请的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。
首先,在介绍本申请实施例之前,先介绍下本申请关于应用背景的相关内容。
本申请提供的测试覆盖率验证方法的执行主体可以为本申请提供的装置,或者集成了该装置的服务器设备、物理主机、车载终端或者用户设备(User Equipment,UE)等处理设备,其中,装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者个人数字助理(Personal Digital Assitant,PDA)等终端设备。
下面,开始介绍本申请提供的测试覆盖率验证方法。
参阅图1,图1示出了本申请测试覆盖率验证方法的一种流程示意图,所述方法应用于测试用例回归领域对测试覆盖率进行验证。本申请提供的方法,具体可包括如下步骤:
101、获取测试覆盖率报告。
其中,所述测试覆盖率报告(coverage metric)包括多个测试用例执行后的测试数据。该测试用例用于验证芯片覆盖率,芯片覆盖率包括代码覆盖率和功能覆盖率。
102、按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列。
103、按照所述第一序列中各测试用例的执行顺序依次执行各测试用例。
104、获取各测试用例在执行过程中的实时覆盖率数值。
105、若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合。
其中,所述第一测试用例集合包括多个最小执行时长的测试用例。
一些实施例中,所述将所述第一目标测试用例加入第一测试用例集合之后,所述方法还包括:
若确定所述第一测试用例集合未满足所述预设覆盖率标准,则确定当前执行时长最短的第二目标测试用例;
将所述第二目标测试用例添加至所述第一测试用例集合。
可见,通过该实施例,能够判断是否对覆盖率报告的数值有所改进,决定是否放弃这个加入这个测试用例到测试用例集合,以及判断此时的测试用例集合是否符合覆盖率标准,如果符合标准,就确定此时的测试用例集合。如果不符合,则再增加一条此时时间最短的测试用例到该测试用例集合。
106、若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
一些实施例中,所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例之前,所述方法还包括:
在各测试用例中设置通用仿真器覆盖率接口函数库(UCAPI);
所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例,获取各测试用例在执行过程中的实时覆盖率数值,包括:
按照所述第一序列中各测试用例的执行顺序依次执行各所述测试用例;
在执行各所述测试用例中,调用所述UCAPI,以动态获取各测试用例在执行过程中的覆盖率数值;
根据各测试用例在执行过程中的覆盖率数值,确定各测试用例对覆盖率的贡献值以及每条测试用例在所述覆盖率的执行时长。
其中,UCAPI库提供了C函数的集合,能够返回大量的覆盖率结果信息。覆盖率是按照DUT设计代码的不同区域进行统计的,UCAPI能够按照不同区域获取覆盖率信息。
因此,通过采用UCAPI实现,使得在测试用例中使用UCAPI,能够在测试用例执行过程中,动态的获取覆盖率数值,无需在仿真结束后的覆盖率报告查看。此外,UCAPI也能够统计每条测试用例对覆盖率的贡献值以及每条覆盖率的执行时长。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
基于UCAPI按照不同区域获取覆盖率信息,并基于所述按照不同区域获取覆盖率信息形成覆盖率结果,所述覆盖率结果包括所述第一序列中每条测试用例对覆盖率的贡献值以及每条测试用例贡献覆盖率的执行时长;
基于所述UCAPI返回所述覆盖率结果,所述覆盖率结果按照DUT设计代码的不同区域进行统计。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
通过所述UCAPI确定覆盖率对象为被测装置(DUT)内部的任意层次结构,以及通过所述UCAPI获取测试平台部分的覆盖率数据信息。其中,所述DUT内部层次结构通过testHDLcovdbObjects对象看到。
即测试用例执行过程中,通过UCAPI看到的覆盖率对象(coverage objects)可以是DUT内部的任意层次结构的,DUT内部层次结构通过testHDL covdbObjects对象看到。通过UCAPI也可以看到测试平台部分的覆盖率数据信息,通过tbMetric covdbInstances部分实现。如图3所示。
一些实施例中,可通过调用UCAPI来获取以下信息:
通过测试平台覆盖率对象获取所述覆盖率对象所在层次结构下的覆盖率数据,获取每个功能覆盖率的版本信息、对象信息和覆盖率数据,获取功能覆盖率点和交叉覆盖率,以及获取每条测试用例执行时长;
将所述覆盖率数据信息保存到覆盖率报告库,以及将各条测试用例的执行时长存储在所述覆盖率报告库。
一些实施方式中,上述版本信息、对象信息、覆盖率数据、功能覆盖率点、交叉覆盖率以及执行时长分别可通过如图4a、图4b所示的代码来一一获取。例如,所述覆盖率对象所在层次结构下的覆盖率数据可通过下述代码获取:
groups=covdb_qualified_iterate(teat,tbMetric,covdbDefinations);
本实施方式中,基于图4a、图4b所示的获取方式,能够保证图2的流程按照图5顺利执行。
与现有技术相比,本申请实施例中,通过获取各测试用例在执行过程中的实时覆盖率数值;若第一目标测试用例的实时覆盖率数值相对于测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将第一目标测试用例加入第一测试用例集合,第一测试用例集合包括多个最小执行时长的测试用例;若确定第一测试用例集合满足预设覆盖率标准,则停止对第一序列中的测试用例的执行操作,停止对第一测试用例集合添加测试用例的操作。本方案能够最小的减少回归测试用例的运行时间,在达到同样覆盖率目标下优化测试用例列表。
为便于更好的实施本申请方法,本申请实施例还提供测试覆盖率验证装置20。
请参阅图6,图3为本申请测试覆盖率验证装置20的一种结构示意图,其中该测试覆盖率验证装置20具体可包括如下结构:
输入输出模块201,用于获取测试覆盖率报告,所述测试覆盖率报告包括多个测试用例执行后的测试数据;
处理模块202,用于按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列;按照所述第一序列中各测试用例的执行顺序依次执行各测试用例;通过所述输入输出模块201取各测试用例在执行过程中的实时覆盖率数值;
所述处理模块202还用于若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合,所述第一测试用例集合包括多个最小执行时长的测试用例;
若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
一种实施例中,所述处理模块202将所述第一目标测试用例加入第一测试用例集合之后,还用于:
若确定所述第一测试用例集合未满足所述预设覆盖率标准,则确定当前执行时长最短的第二目标测试用例;
将所述第二目标测试用例添加至所述第一测试用例集合。
一些实施例中,所述处理模块202按照所述第一序列中各测试用例的执行顺序依次执行各测试用例之前,还用于:
在各测试用例中设置通用仿真器覆盖率接口函数库UCAPI;
按照所述第一序列中各测试用例的执行顺序依次执行各所述测试用例;
在执行各所述测试用例中,调用所述UCAPI,以动态获取各测试用例在执行过程中的覆盖率数值;
根据各测试用例在执行过程中的覆盖率数值,确定各测试用例对覆盖率的贡献值以及每条测试用例在所述覆盖率的执行时长。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述处理模块202还用于:
基于UCAPI按照不同区域获取覆盖率信息,并基于所述按照不同区域获取覆盖率信息形成覆盖率结果,所述覆盖率结果包括所述第一序列中每条测试用例对覆盖率的贡献值以及每条测试用例贡献覆盖率的执行时长;
基于所述UCAPI返回所述覆盖率结果,所述覆盖率结果按照DUT设计代码的不同区域进行统计。
一些实施例中,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述处理模块202还用于:
通过所述UCAPI确定覆盖率对象为DUT内部的任意层次结构;
以及通过所述UCAPI获取测试平台部分的覆盖率数据信息。
一些实施例中,所述处理模块202还用于:
通过测试平台覆盖率对象获取所述覆盖率对象所在层次结构下的覆盖率数据,获取每个功能覆盖率的版本信息、对象信息和覆盖率数据,获取功能覆盖率点和交叉覆盖率,以及获取每条测试用例执行时长;
将所述覆盖率数据信息保存到覆盖率报告库,以及将各条测试用例的执行时长存储在所述覆盖率报告库。
本申请还提供了处理设备,参阅图7,图7示出了本申请处理设备的一种结构示意图,具体的,本申请提供的处理设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如图1-图5中任一对应的实施例中的各步骤;或者,处理器用于执行存储器中存储的计算机程序时实现如图6对应实施例中各模块的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
处理设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,示意仅仅是处理设备的示例,并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如处理设备还可以包括输入输出设备、网络接入设备、总线等,处理器、存储器、输入输出设备以及网络接入设备等通过总线相连。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是处理设备的控制中心,利用各种接口和线路连接整个处理设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据处理设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显示屏用于显示输入输出单元输出的至少一种字符类型的字符。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、处理设备及其相应模块的具体工作过程,可以参考如图1-图5中任一对应的实施例中的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应的实施例中的的步骤,具体操作可参考如图1对应的实施例中的的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1-图5中任一对应的实施例中的的步骤,因此,可以实现本申请如图1-图5中任一对应的实施例中的所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的一种测试覆盖率验证方法、装置及存储介质进行了详细介绍,本申请实施例中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种测试覆盖率验证方法,其特征在于,所述方法包括:
获取测试覆盖率报告,所述测试覆盖率报告包括多个测试用例执行后的测试数据;
按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列;
按照所述第一序列中各测试用例的执行顺序依次执行各测试用例;
获取各测试用例在执行过程中的实时覆盖率数值;
若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合,所述第一测试用例集合包括多个最小执行时长的测试用例;
若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一目标测试用例加入第一测试用例集合之后,所述方法还包括:
若确定所述第一测试用例集合未满足所述预设覆盖率标准,则确定当前执行时长最短的第二目标测试用例;
将所述第二目标测试用例添加至所述第一测试用例集合。
3.根据权利要求1或2所述的方法,其特征在于,所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例之前,所述方法还包括:
在各测试用例中设置通用仿真器覆盖率接口函数库UCAPI;
所述按照所述第一序列中各测试用例的执行顺序依次执行各测试用例,获取各测试用例在执行过程中的实时覆盖率数值,包括:
按照所述第一序列中各测试用例的执行顺序依次执行各所述测试用例;
在执行各所述测试用例中,调用所述UCAPI,以动态获取各测试用例在执行过程中的覆盖率数值;
根据各测试用例在执行过程中的覆盖率数值,确定各测试用例对覆盖率的贡献值以及每条测试用例在所述覆盖率的执行时长。
4.根据权利要求3所述的方法,其特征在于,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
基于UCAPI按照不同区域获取覆盖率信息,并基于所述按照不同区域获取覆盖率信息形成覆盖率结果,所述覆盖率结果包括所述第一序列中每条测试用例对覆盖率的贡献值以及每条测试用例贡献覆盖率的执行时长;
基于所述UCAPI返回所述覆盖率结果,所述覆盖率结果按照DUT设计代码的不同区域进行统计。
5.根据权利要求3所述的方法,其特征在于,在按照所述第一序列中各测试用例的执行顺序依次执行各测试用例中,所述方法还包括:
通过所述UCAPI确定覆盖率对象为DUT内部的任意层次结构;
以及通过所述UCAPI获取测试平台部分的覆盖率数据信息。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过测试平台覆盖率对象获取所述覆盖率对象所在层次结构下的覆盖率数据,获取每个功能覆盖率的版本信息、对象信息和覆盖率数据,获取功能覆盖率点和交叉覆盖率,以及获取每条测试用例执行时长;
将所述覆盖率数据信息保存到覆盖率报告库,以及将各条测试用例的执行时长存储在所述覆盖率报告库。
7.一种测试覆盖率验证装置,其特征在于,所述测试覆盖率验证装置包括:
输入输出模块,用于获取测试覆盖率报告,所述测试覆盖率报告包括多个测试用例执行后的测试数据;
处理模块,用于按照执行时长从大至小,对多个测试用例的执行顺序进行排列,得到第一序列;按照所述第一序列中各测试用例的执行顺序依次执行各测试用例;通过所述输入输出模块获取各测试用例在执行过程中的实时覆盖率数值;
所述处理模块还用于若第一目标测试用例的实时覆盖率数值相对于所述测试覆盖率报告中对应的初始覆盖率数值的正向变化在预设变化范围内,则将所述第一目标测试用例加入第一测试用例集合,所述第一测试用例集合包括多个最小执行时长的测试用例;
若确定所述第一测试用例集合满足预设覆盖率标准,则停止对所述第一序列中的测试用例的执行操作,以及停止对所述第一测试用例集合添加测试用例的操作。
8.根据权利要求7所述的装置,其特征在于,所述处理模块将所述第一目标测试用例加入第一测试用例集合之后,还用于:
若确定所述第一测试用例集合未满足所述预设覆盖率标准,则确定当前执行时长最短的第二目标测试用例;
将所述第二目标测试用例添加至所述第一测试用例集合。
9.一种处理设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153184.XA CN114676040A (zh) | 2022-02-18 | 2022-02-18 | 一种测试覆盖率验证方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153184.XA CN114676040A (zh) | 2022-02-18 | 2022-02-18 | 一种测试覆盖率验证方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114676040A true CN114676040A (zh) | 2022-06-28 |
Family
ID=82071433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210153184.XA Pending CN114676040A (zh) | 2022-02-18 | 2022-02-18 | 一种测试覆盖率验证方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676040A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116245055A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效随机测试向量确定系统 |
CN116245057A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效执行区域确定系统 |
CN116245056A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的回归测试调试系统 |
-
2022
- 2022-02-18 CN CN202210153184.XA patent/CN114676040A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116245055A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效随机测试向量确定系统 |
CN116245057A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效执行区域确定系统 |
CN116245056A (zh) * | 2022-09-26 | 2023-06-09 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的回归测试调试系统 |
CN116245056B (zh) * | 2022-09-26 | 2023-12-15 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的回归测试调试系统 |
CN116245055B (zh) * | 2022-09-26 | 2023-12-19 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效随机测试向量确定系统 |
CN116245057B (zh) * | 2022-09-26 | 2023-12-19 | 上海合见工业软件集团有限公司 | 基于时序型覆盖数据库的有效执行区域确定系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073519B (zh) | 测试用例生成方法和装置 | |
CN114676040A (zh) | 一种测试覆盖率验证方法、装置及存储介质 | |
CN108845933B (zh) | 软件测试用例编写和评审的方法及装置 | |
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN107729246B (zh) | 针对目标应用的辅助测试方法、装置、设备及存储介质 | |
US10802939B2 (en) | Method for scanning cache of application and electronic device | |
CN111209736A (zh) | 文本文件解析方法、装置、计算机设备及存储介质 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN110286990B (zh) | 用户界面展示方法、装置、设备及存储介质 | |
CN115905040B (zh) | 计数器的处理方法、图形处理器、设备及存储介质 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN108959070B (zh) | 一种基于代码对象的Python钩子函数方法和装置 | |
CN109696614B (zh) | 电路测试优化方法及装置 | |
CN107678967B (zh) | 单元测试覆盖率生成方法、装置、可读存储介质及设备 | |
CN113360402B (zh) | 一种测试方法、电子设备、芯片和存储介质 | |
CN111228815B (zh) | 处理游戏的配置表的方法、装置、存储介质和系统 | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 | |
CN113760237A (zh) | 编译地址的更新方法、装置、终端设备及可读存储介质 | |
CN110018828B (zh) | 源代码检查方法、装置及终端设备 | |
CN112445390B (zh) | 子菜单选择方法、装置及终端设备 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN113360356B (zh) | 阅读作弊行为的识别方法、计算设备及计算机存储介质 | |
CN109885402B (zh) | 测试函数输出数据溢出的方法、终端设备及存储介质 | |
CN117555813B (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 |