CN115129594A - 测试场景处理方法、装置、电子设备和存储介质 - Google Patents
测试场景处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115129594A CN115129594A CN202210753948.9A CN202210753948A CN115129594A CN 115129594 A CN115129594 A CN 115129594A CN 202210753948 A CN202210753948 A CN 202210753948A CN 115129594 A CN115129594 A CN 115129594A
- Authority
- CN
- China
- Prior art keywords
- test
- target
- value range
- scene
- target 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.)
- 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/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
Abstract
本公开实施例公开了一种测试场景处理方法、装置、电子设备和存储介质,该方法包括:获取目标测试场景,并生成目标测试场景的多个测试用例,执行多个测试用例,得到多个目标测试指标,基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例,将目标测试场景和目标测试用例关联存储在场景数据库。采用上述方案,生成测试场景的大量测试用例,并筛选高质量的测试用例和测试场景关联存储,以保证后续自动驾驶测试效果。
Description
技术领域
本公开涉及自动驾驶技术领域,尤其涉及一种测试场景处理方法、装置、电子设备和存储介质。
背景技术
目前,对自动驾驶车辆所装载的自动驾驶算法的测试一般采用驾驶仿真技术,需要搭建针对测试需求相应的自动驾驶仿真测试场景。
相关技术中,在实际测试中仅执行一个或几个具体场景对应的测试用例,导致测试完备性不足,从而影响到自动驾驶的测试结果。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种测试场景处理方法、装置、电子设备和存储介质,实现获取数量多且质量高的测试用例和测试场景关联存储,以保证后续自动驾驶测试效果。
第一方面,本公开实施例提供了一种测试场景处理方法,该方法包括:
获取目标测试场景,并生成所述目标测试场景的多个测试用例;
执行所述多个测试用例,得到多个目标测试指标;
基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;
将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
第二方面,本公开实施例还提供了一种测试场景处理装置,该装置包括:
第一获取模块,用于获取目标测试场景;
生成模块,用于生成所述目标测试场景的多个测试用例;
执行模块,用于执行所述多个测试用例,得到多个目标测试指标;
处理确定模块,用于基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;
关联存储模块,用于将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的测试场景处理方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的测试场景处理方法。
本公开实施例提供的测试场景处理方法,通过获取目标测试场景,并生成目标测试场景的多个测试用例,执行多个测试用例,得到多个目标测试指标,基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例,将目标测试场景和目标测试用例关联存储在场景数据库。采用上述方案,生成测试场景的大量测试用例,并筛选高质量的测试用例和测试场景关联存储,以保证后续自动驾驶测试效果。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例中的一种测试场景处理方法的流程图;
图2为本公开实施例中的另一种测试场景处理方法的流程图;
图3为本公开实施例中的一种测试场景处理装置的结构示意图;
图4为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
具体地,测试场景按照表征的抽象程度进行分类,包含功能场景、逻辑场景和具体场景,功能场景通过语义描述相关信息;逻辑场景采用状态空间参数对功能场景作详细描述;描述逻辑场景的关键是定义这些状态空间参数及其取值范围;描述具体场景则是确定状态空间中每个参数的具体值,具体场景加上被测对象的预期行为表现即转换为测试用例,因此仿真测试执行的测试场景最小单元通常为具体场景。
本公开实施例提供了一种测试场景处理方法,旨在针对测试场景,生成大量测试用例,并筛选高质量的测试用例和测试场景关联存储,以保证后续自动驾驶测试效果。
图1为本公开实施例中的一种测试场景处理方法的流程图。该方法可以由测试场景处理装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器。
如图1所示,该方法具体包括如下步骤:
步骤110、获取目标测试场景,并生成目标测试场景的多个测试用例。
其中,目标测试场景指的是一个个具有原子性的具体场景(原子场景)描述,其中,原子场景指的是不可拆分场景,例如场景0:两条车道的直道右车道,120m处右侧有一个静态立方体,150m处有一慢速行驶车辆,可以拆分为:场景1:两条车道的直道右车道,120m处右侧有一个静态立方体;场景2:两条车道的直道右车道,150m处有一慢速行驶车辆,则场景0不为原子场景,场景1和场景2为原子场景。
在本公开实施例中,获取目标测试场景,比如基于测试需求确定功能场景,采用状态空间参数对功能场景作详细描述,得到逻辑场景,确定逻辑场景的状态空间中每个参数的具体值,得到一个个具有原子性的具体场景作为目标测试场景。
其中,测试用例指的是原子场景加上被测对象的预期行为表现即转换为测试用例,比如原子场景为只有一条车道的200m直道,道宽是自车边界宽度的2倍,120m处道内有一静态立方体,预期行为为当该障碍物占道空间不超过左侧中心线,自动驾驶车辆应靠右侧并不压线经过,生成一个测试用例。
在本公开实施例中,生成目标测试场景的多个测试用例的方式有很多种,在一个实施方式中,获取目标测试场景的状态空间参数,以及不同情况下赋予状态空间参数不同的取值,基于各个判断指标和状态空间参数的不同取值,生成多个测试用例。
举例而言,目标测试场景为只有一条车道的200m直道,道宽是自车边界宽度的2倍,120m处道内有一静态立方体,确定状态空间语义关键字为学校和乘用车,环境状态空间为光照和雨雪,参与者状态空间为占道空间、自动驾驶车辆状态空间为感知范围(类似占道空间)和速度,以及指标包括是否碰撞、是否到达指定目的地、开始靠右时距立方体最近面的纵向安全距离和经过立方体时距立方体最近面的横向安全距离,从而状态空间参数的不同确诊、以及各个指标生成多个不同的测试用例。
步骤120、执行多个测试用例,得到多个目标测试指标。
其中,目标测试指标指的是执行测试用例的测试结果,比如判断指标为横向安全距离,得到目标测试指标为0.2m。
在本公开实施例中,执行多个测试用例,得到多个目标测试指标的方式有很多种,在一些实施方式中,针对每个测试用例执行N次,得到每个测试用例对应的N个候选测试指标;其中,N为正整数,基于预设的筛选规则对N个候选测试指标进行处理,得到每个测试用例对应的M个候选测试指标;其中,M为小于等于N的正整数,对M个候选测试指标进行计算,得到每个测试用例对应的目标测试指标。
在另一些实施方式中,直接执行每个测试用例,得到每个测试用例对应的目标测试指标。以上两种方式仅为执行多个测试用例,得到多个目标测试指标的示例,本公开实施例不对执行多个测试用例,得到多个目标测试指标的方式进行具体限制。
步骤130、基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例。
其中,每个测试用例对应一个目标测试指标,针对多个目标测试指标进行处理,从多个测试用例中确定目标测试用例的方式有很多种,在一些实施方式中,对多个目标测试指标进行聚类处理,得到多个聚类类别,从多个聚类类别中获取目标测试指标对应的测试用例个数为大于一个的第一聚类类别,从第一聚类类别对应的测试用例中选择一个测试用例作为目标测试用例。
在另一些实施方式中,对多个目标测试指标进行计算,得到目标值,基于多个目标测试指标和目标值从多个测试用例中确定目标测试用例,以上两种方式仅为基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例的示例,本公开实施例不对基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例的方式进行具体限制。
步骤140,将目标测试场景和目标测试用例关联存储在场景数据库。
在本公开实施例中,场景数据库用于存储多个不同目标测试场景、以及每个目标测试场景对应的目标测试用例,以使后续基于目标测试场景直接选择目标数量和高质量的测试用例对自动驾驶进行测试,进一步提高测试效果和效率。
本实施例提供的测试场景处理方法,通过获取目标测试场景,并生成目标测试场景的多个测试用例,执行多个测试用例,得到多个目标测试指标,基于多个目标测试指标进行处理,从多个测试用例中确定目标测试用例,将目标测试场景和目标测试用例关联存储在场景数据库。采用上述方案,生成测试场景的大量测试用例,并筛选高质量的测试用例和测试场景关联存储,以保证后续自动驾驶测试效果。
在一些实施例中,生成目标测试场景的多个测试用例,包括:获取目标测试场景的状态空间参数;获取状态空间参数的目标取值范围;基于预设的判断指标集和目标取值范围,生成多个测试用例。
在本公开实施例中,为了保证测试效果,需要确定状态空间参数的目标取值范围,从而在目标取值范围内赋予状态空间参数对应的取值,并结合各个判断指标,生成多个测试用例。
在本公开一个具体实现方式中,获取状态空间参数的目标取值范围,包括:获取状态空间参数在每个语义关键字下的多个取值范围,对多个取值范围进行处理,得到目标取值范围。
举例而言,对一个原子场景,遍历所有状态空间参数,对每一个状态空间参数:遍历所有语义关键字,取得所有语义关键字下该状态空间参数的取值范围,例如自动驾驶车辆状态空间参数为速度,除了场景定义的取值范围为[-120,120],根据语义关键字“学校”有取值范围为[-30,30],根据语义关键字“乘用车”有取值范围为[-140,140],通过对多个取值范围进行处理,得到目标取值范围。
在本公开实施例中,对多个取值范围进行处理,得到目标取值范围的方式有很多种,比如直接获取多个取值范围的交集作为目标取值;再比如针对不同数据格式的取值范围选择不同的处理方式进行处理,得到目标取值范围。
具体地,从多个取值范围中获取数据格式为数组且连续的第一取值范围,按照预的设离散维度对第一取值范围进行离散处理,得到第一候选取值范围,从多个取值范围中获取数据格式为数组且非连续的第二取值范围,按照预设的步长对第二取值范围进行转化处理,得到第二候选取值范围,从多个取值范围中获取数据格式为元组的第三取值范围作为第三候选取值范围,基于第一候选取值范围、第二候选取值范围和第三候选取值范围进行处理,得到目标取值范围。
举例而言,若数据格式为数组,例如格式符号为[],若长度为2个值,则是连续数据,若长度是3个值,则是非连续数据;若数据格式为元组,例如格式符号为(),则是候选取值范围,其他数据格式为错误格式,返回。其中,若是连续数据,按预设的离散维度(比如10%,可根据应用场景选择配置)转化为非连续数据,即步长为最大最小值之差的10%,例如[-2,-1]将会被转化为[-2,-1,0.1]作为候选取值范围;若是非连续数据,按预设的步长转化为候选取值范围,例如[-2,-1,0.1]被转化为[-2,-1.9,-1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1],使用所有候选取值范围的交集作为这个状态空间参数的目标取值范围。
由此,将目标取值范围中的各个取值写入具体场景描述中,按约定的格式添加判断指标集,生成多个测试用例。
采用上述方案,可以高效地泛化生成大量测试用例,大大提升测试用例泛化的效率以及能够达到的覆盖度,进一步提高后续自动驾驶测试效果。
在一些实施例中,执行多个测试用例,得到多个目标测试指标,包括:针对每个测试用例执行N次,得到每个测试用例对应的N个候选测试指标;其中,N为正整数;基于预设的筛选规则对N个候选测试指标进行处理,得到每个测试用例对应的M个候选测试指标;其中,M为小于等于N的正整数;对M个候选测试指标进行计算,得到每个测试用例对应的目标测试指标。
在本公开实施例中,对于每个测试用例执行N次,即每个测试用例可以获取N个测试结果,即N个候选测试指标,为了进一步提高测试准确性,可以基于预设的筛选规则对N个候选测试指标进行筛选,得到小于等于N的M个候选测试指标进行计算,得到每个测试用例对应的目标测试指标。
其中,预设的筛选规则可以根据应用场景需求选择设置,比如考虑仿真环境可能存在的随机性,例如网络波动等可能造成奇异值,比如采用格拉布斯准则作为筛选规则。
在本公开实施例中,在经过筛选后,得到M个候选测试指标进行平均计算,得到的平均值作为目标测试指标。
举例而言,对一个原子场景S,执行生成的所有测试用例,对每一个测试用例比如执行N(比如1000,可根据需要配置)次,得到N个候选测试指标,通过采用格拉布斯准则剔除奇异值,得到M个候选测试指标取平均值作为该测试用例的目标测试指标。
由此,通过多次执行测试用例,并进行筛选剔除的方式确定目标测试指标,进一步提高获取目标测试指标的精确性,从而提高后续自动驾驶测试的精确性,满足测试使用需求。
在一些实施例中,对多个目标测试指标进行聚类处理,得到多个聚类类别,从多个聚类类别中获取目标测试指标对应的测试用例个数为大于一个的第一聚类类别,从第一聚类类别对应的测试用例中选择一个测试用例作为目标测试用例。
在一些实施例中,从多个聚类类别中获取目标测试指标对应的测试用例个数为一个的第二聚类类别,获取第二聚类类别中目标测试指标对应的测试用例的状态空间数值,基于预设的离散维度对状态空间数值进行处理,得到目标状态空间数值,基于预设的判断指标集和目标状态空间数值,生成新测试用例,执行新测试用例,得到新目标测试指标,基于新目标测试指标进行处理,得到目标测试用例。
具体地,将目标测试场景的所有状态空间参数取值按目标测试指标聚类(可以根据需要选择状态空间参数取值聚类的算法,比如采用K-Means,K均值聚类算法)。
具体地,若第一聚类类别中有多个状态空间参数取值,即说明自动驾驶车辆在这些具体场景中的表现是趋于一致的,可以选择一个测试用例去拦截问题的效果是非常接近拿全部用例去拦截的效果,因此可随机保留一个取值,将其他状态空间参数取值剔除,即保留一个测试用例即可。
需要说明的是,也可以保留所有目标测试场景和测试用例,按照聚合的类别存储,每次执行用例时,随机从每一类中择取一个目标测试场景进行测试。
具体地,第二聚类类别中只有一个状态空间参数取值,那么可能有遗漏有价值的测试用例(即存在能拦截更多问题的测试用例未被泛化),则可以将以其左右状态空间参数取值为边界,按照预设的离散维度(比如10%,可根据需要配置)目标状态空间数值,基于预设的判断指标集和目标状态空间数值,生成新测试用例,执行新测试用例,得到新目标测试指标,基于新目标测试指标进行处理,得到目标测试用例。
由此,可以基于多个目标测试指标进行聚类,筛选同样效果的测试用例选择一个即可,以及针对个别测试用例重复泛化和筛选,从而高效地泛化生成大量测试用例,大大提升泛化的效率以及能够达到的覆盖度,并且通过筛选可以提升测试覆盖效率也可以增强随机性带来的发现深层次或低频问题的概率,进一步满足自动驾驶测试需求。
在一些实施例中,获取待测试场景,基于待测试场景在场景数据库进行匹配,得到待测试用例,执行待测试用例,生成待测试场景的测试结果。
在本公开实施例中,针对待测试场景直接从场景库获取泛化后且高质量的测试用例进行测试生成测试结果,进一步保证测试结果的精准性。
图2为本公开实施例中的另一种测试场景处理方法的流程图,本实施例在上述实施例的基础上,进一步优化了上述测试场景处理方法。如图2所示,该方法包括:
步骤210,获取目标测试场景,获取目标测试场景的状态空间参数,获取状态空间参数的目标取值范围,基于预设的判断指标集和目标取值范围,生成多个测试用例。
在本公开实施例中,获取状态空间参数在每个语义关键字下的多个取值范围,对多个取值范围进行处理,得到目标取值范围。
在本公开实施例中,从多个取值范围中获取数据格式为数组且连续的第一取值范围,按照预的设离散维度对第一取值范围进行离散处理,得到第一候选取值范围,从多个取值范围中获取数据格式为数组且非连续的第二取值范围,按照预设的步长对第二取值范围进行转化处理,得到第二候选取值范围,从多个取值范围中获取数据格式为元组的第三取值范围作为第三候选取值范围,基于第一候选取值范围、第二候选取值范围和第三候选取值范围进行处理,得到目标取值范围。
具体地,确定测试场景分类为功能场景、逻辑场景和具体场景;获取每个功能场景的语义,并标注语义关键字,从场景内容和细化步骤找出参与者和环境的所有参数,将功能场景转化为逻辑场景描述,将所有逻辑场景的参数进行相关性分析,对相关的参数进行转化和归一,创建基于语义的状态空间字典(创建过程中会检查是否存在冲突的语义,以保证测试精确性),即定义每个参数在每个相关语义关键字下的取值范围。
进一步地,对每一个具有原子性的逻辑场景(称之为“原子场景”),按约定的格式(比如JSON(一种轻量级的数据交换格式)等)生成具体场景描述,参数取值留空,遍历其状态空间中的参数,对每一个参数:遍历其语义关键字,取得所有语义关键字下该参数的取值范围,对每一个取值范围:遍历其所有取值范围,解析取值范围格式,若是连续数据,按预设离散维度(比如10%)转化为非连续数据,使用离散后的取值范围的交集作为目标取值范围。
最后,遍历目标取值范围,将各个取值写入具体场景描述中,按约定的格式(比如JSON等)添加预设的判断指标集,生成多个测试用例。
也就是说,通过预处理得到一个个具有原子性的具体场景(称之为“原子场景”)描述,包含每个状态空间参数在每个相关语义关键字下的取值范围和一个指标集,参数取值留空。
举例而言,原子场景S0的语义描述,前提:只有一条车道的200m(足够发生场景的长度)直道,道宽是自车边界宽度的2倍,120m处(足够自车完成加速)道内有一静态立方体(参与者,也是障碍物),场景:道内有一静态立方体,期望:当该障碍物占道空间不超过左侧中心线,自车应靠右侧不压线经过。
因此,原子场景的逻辑描述,语义关键字:学校和乘用车;环境状态空间:光照和雨雪;参与者状态空间:占道空间(一个立方体的角点,包括多个坐标参数);自车状态空间:感知范围(类似占道空间)和速度。另外,判断指标集包括:是否碰撞、是否到达指定目的地、开始靠右时距立方体最近面的纵向安全距离和经过立方体时距立方体最近面的横向安全距离。
举例而言,对每一个原子场景S,遍历其状态空间中的参数,对每一个参数P:遍历其语义关键字,取得所有语义关键字下该参数的取值范围,继续以上述原子场景S0为例,自车参数之一速度,除了原子场景定义的取值范围[-120,120],根据语义关键字“学校”有取值范围[-30,30],根据语义关键字“乘用车”有取值范围[-140,140],对每一个取值范围R:解析取值范围格式(具体格式定义不限,按照约定来即可,以下是举例),若格式为数组,例如格式符号为[];若长度为2个值,则是连续数据;若长度是3个值,则是非连续数据;若格式为元组,例如格式符号为(),则是候选取值范围;其他为错误格式,返回;若是连续数据,按设定离散维度(比如10%,可配置)转化为非连续数据,即步长为最大最小值之差的10%,例如[-2,-1]将会被转化为[-2,-1,0.1];若是非连续数据,按步长转化为候选取值范围,例如[-2,-1,0.1]将会被转化为[-2,-1.9,-1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1];使用所有候选取值范围的交集作为这个状态空间参数的目标取值范围Rf,遍历上述目标取值范围Rf,对每个取值V:将这个取值V写入具体场景描述(约定的格式)中,按约定的格式(比如JSON、YAML(一个可读性高,用来表达数据序列化的格式)等)添加预设的判断指标集即生成用例。
步骤220,针对每个测试用例执行N次,得到每个测试用例对应的N个候选测试指标;其中,N为正整数,基于预设的筛选规则对N个候选测试指标进行处理,得到每个测试用例对应的M个候选测试指标;其中,M为小于等于N的正整数,对M个候选测试指标进行计算,得到每个测试用例对应的目标测试指标。
步骤230,对多个目标测试指标进行聚类处理,得到多个聚类类别。
步骤240,从多个聚类类别中获取目标测试指标对应的测试用例个数为大于一个的第一聚类类别,从第一聚类类别对应的测试用例中选择一个测试用例作为目标测试用例。
步骤250,从多个聚类类别中获取目标测试指标对应的测试用例个数为一个的第二聚类类别,获取第二聚类类别中目标测试指标对应的测试用例的状态空间数值,基于预设的离散维度对状态空间数值进行处理,得到目标状态空间数值。
步骤260,基于预设的判断指标集和目标状态空间数值,生成新测试用例,执行新测试用例,得到新目标测试指标,基于新目标测试指标进行处理,得到目标测试用例。
具体地,对上述原子场景S0,执行上述泛化生成的所有测试用例,对每一个测试用例C:执行N(比如1000,可配置)次,对得出的每一个测试指标K:剔除奇异值(例如网络波动等可能造成奇异值,通过选择奇异值剔除的算法,如采用格拉布斯准则)后,将所有测试指标取均,作为该测试用例的目标测试指标Kv。例如上述示例原子场景S0,测试指标之一为横向安全距离,1000个测试指标采用格拉布斯准则剔除奇异值后取均为0.2m。
具体地,将原子场景的所有状态空间参数取值按目标测试指标进行聚类,即将多个目标测试指标进行聚类,每个聚类类别对应有测试用例,测试用例对应状态空间参数取值。
若一聚类类别中有多个测试用例,即多个状态空间参数取值,即,说明自车在这些具体场景中的表现是趋于一致的,拿一个测试用例去拦截问题的效果是非常接近拿全部用例去拦截的效果,因此可随机保留一个测试用例,即一个状态空间参数取值,将其他用例删除,即其他状态空间参数取值剔除(也可以保留所有测试用例,按照聚类类别存储,每次执行用例时,随机从每一聚类类别中择取一个测试用例进行测试)。
若一聚类类别中只有一个测试用例,即只有一个状态空间参数取值,那么可能有遗漏有价值的测试用例(即存在能拦截更多问题的测试用例未被泛化),则需将以状态空间参数的左右状态空间从参数取值为边界,按设定离散维度(比如10%,可配置)得到目标状态空间数值,基于预设的判断指标集和目标状态空间数值,生成新测试用例,执行新测试用例,得到新目标测试指标,基于新目标测试指标进行处理,得到目标测试用例,即重复测试用例泛化过程,并重复后续聚类筛选或者继续泛化处理。
由此,高效地泛化生成大量测试用例,大大提升泛化的效率以及能够达到的覆盖度。
需要说明的是,在步骤230后,可以执行步骤240和/或步骤250-260。
步骤270,将目标测试场景和目标测试用例关联存储在场景数据库。
步骤280,获取待测试场景,基于待测试场景在场景数据库进行匹配,得到待测试用例,执行待测试用例,生成待测试场景的测试结果。
具体地,最终目标测试场景对应的和目标测试用例关联存储在场景数据库,以使基于待测试场景直接选择高质量的待测试用例,生成有效的测试结果,进一步提高测试有效性。
例如上述示例原子场景S0,有9个参数,按10%的离散维度,一次泛化即生成10^9个测试用例,一次执行大约需要消耗3分钟,一台高性能服务器可同时执行50个测试用例,需要10^7小时才能执行完毕1个最简单的场景。通过本公开实施例筛选的方法可以得到的原子场景S0测试用例只有4个,将节约10^8量级的测试时间或设备,且达到的问题拦截效果是一致的,即可以提炼出高效的测试用例集。
由此,可以保证有效场景无遗漏,真正做到高质量的拦截。
图3为本公开实施例中的一种测试场景处理装置的结构示意图。
如图3所示:该装置包括:
第一获取模块310,用于获取目标测试场景;
生成模块320,用于生成所述目标测试场景的多个测试用例;
执行模块330,用于执行所述多个测试用例,得到多个目标测试指标;
处理确定模块340,用于基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;
关联存储模块350,用于将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
可选的,所述生成模块320,包括:
第一获取单元,用于获取所述目标测试场景的状态空间参数;
第二获取单元,用于获取所述状态空间参数的目标取值范围;
生成单元,用于基于预设的判断指标集和所述目标取值范围,生成所述多个测试用例。
可选的,所述第二获取单元,包括:
第一获取子单元,用于获取所述状态空间参数在每个语义关键字下的多个取值范围;
处理子单元,用于对所述多个取值范围进行处理,得到所述目标取值范围。
可选的,所述第一获取子单元,具体用于:
从所述多个取值范围中获取数据格式为数组且连续的第一取值范围,按照预的设离散维度对所述第一取值范围进行离散处理,得到第一候选取值范围;
从所述多个取值范围中获取数据格式为数组且非连续的第二取值范围,按照预设的步长对所述第二取值范围进行转化处理,得到第二候选取值范围;
从所述多个取值范围中获取数据格式为元组的第三取值范围作为第三候选取值范围;
基于所述第一候选取值范围、所述第二候选取值范围和所述第三候选取值范围进行处理,得到所述目标取值范围。
可选的,执行模块330,具体用于:
针对每个所述测试用例执行N次,得到每个所述测试用例对应的N个候选测试指标;其中,N为正整数;
基于预设的筛选规则对所述N个候选测试指标进行处理,得到每个所述测试用例对应的M个候选测试指标;其中,M为小于等于N的正整数;
对所述M个候选测试指标进行计算,得到每个所述测试用例对应的目标测试指标。
可选的,处理确定模块340,具体用于:
对所述多个目标测试指标进行聚类处理,得到多个聚类类别;
从所述多个聚类类别中获取目标测试指标对应的测试用例个数为大于一个的第一聚类类别;
从所述第一聚类类别对应的测试用例中选择一个测试用例作为所述目标测试用例。
可选的,所述装置,还包括:
第二获取模块,用于从所述多个聚类类别中获取目标测试指标对应的测试用例个数为一个的第二聚类类别;
第三获取模块,用于获取所述第二聚类类别中目标测试指标对应的测试用例的状态空间数值;
处理模块,用于基于预设的离散维度对所述状态空间数值进行处理,得到目标状态空间数值;
所述生成模块,还用于基于预设的判断指标集和所述目标状态空间数值,生成新测试用例;
所述执行模块,还用于执行所述新测试用例,得到新目标测试指标;
所述处理确定模块,还用于基于所述新目标测试指标进行处理,得到所述目标测试用例。
可选的,所述装置,还包括:
第三获取模块,用于获取待测试场景;
匹配模块,用于基于所述待测试场景在所述场景数据库进行匹配,得到待测试用例;
测试模块,用于执行待测试用例,生成所述待测试场景的测试结果。
本公开实施例提供的测试场景处理装置,可执行本公开方法实施例所提供的测试场景处理方法中的步骤,具备执行步骤和有益效果此处不再赘述。
图4为本公开实施例中的一种电子设备的结构示意图。下面具体参考图4,其示出了适于用来实现本公开实施例中的电子设备400的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理以实现如本公开所述的实施例的方法。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,从而实现如上所述的测试场景处理方法。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取目标测试场景,并生成所述目标测试场景的多个测试用例;执行所述多个测试用例,得到多个目标测试指标;基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
可选的,当上述一个或者多个程序被该电子设备执行时,该电子设备还可以执行上述实施例所述的其他步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种测试场景处理方法,其特征在于,包括:
获取目标测试场景,并生成所述目标测试场景的多个测试用例;
执行所述多个测试用例,得到多个目标测试指标;
基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;
将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
2.根据权利要求1所述的测试场景处理方法,其特征在于,所述生成目标测试场景的多个测试用例,包括:
获取所述目标测试场景的状态空间参数;
获取所述状态空间参数的目标取值范围;
基于预设的判断指标集和所述目标取值范围,生成所述多个测试用例。
3.根据权利要求2所述的测试场景处理方法,其特征在于,所述获取所述状态空间参数的目标取值范围,包括:
获取所述状态空间参数在每个语义关键字下的多个取值范围;
对所述多个取值范围进行处理,得到所述目标取值范围。
4.根据权利要求3所述的测试场景处理方法,其特征在于,所述对所述多个取值范围进行处理,得到所述目标取值范围,包括:
从所述多个取值范围中获取数据格式为数组且连续的第一取值范围,按照预的设离散维度对所述第一取值范围进行离散处理,得到第一候选取值范围;
从所述多个取值范围中获取数据格式为数组且非连续的第二取值范围,按照预设的步长对所述第二取值范围进行转化处理,得到第二候选取值范围;
从所述多个取值范围中获取数据格式为元组的第三取值范围作为第三候选取值范围;
基于所述第一候选取值范围、所述第二候选取值范围和所述第三候选取值范围进行处理,得到所述目标取值范围。
5.根据权利要求1所述的测试场景处理方法,其特征在于,所述执行所述多个测试用例,得到多个目标测试指标,包括:
针对每个所述测试用例执行N次,得到每个所述测试用例对应的N个候选测试指标;其中,N为正整数;
基于预设的筛选规则对所述N个候选测试指标进行处理,得到每个所述测试用例对应的M个候选测试指标;其中,M为小于等于N的正整数;
对所述M个候选测试指标进行计算,得到每个所述测试用例对应的目标测试指标。
6.根据权利要求1所述的测试场景处理方法,其特征在于,所述基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例,包括:
对所述多个目标测试指标进行聚类处理,得到多个聚类类别;
从所述多个聚类类别中获取目标测试指标对应的测试用例个数为大于一个的第一聚类类别;
从所述第一聚类类别对应的测试用例中选择一个测试用例作为所述目标测试用例。
7.根据权利要求6所述的测试场景处理方法,其特征在于,还包括:
从所述多个聚类类别中获取目标测试指标对应的测试用例个数为一个的第二聚类类别;
获取所述第二聚类类别中目标测试指标对应的测试用例的状态空间数值;
基于预设的离散维度对所述状态空间数值进行处理,得到目标状态空间数值;
基于预设的判断指标集和所述目标状态空间数值,生成新测试用例;
执行所述新测试用例,得到新目标测试指标;
基于所述新目标测试指标进行处理,得到所述目标测试用例。
8.一种测试场景处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标测试场景;
生成模块,用于生成所述目标测试场景的多个测试用例;
执行模块,用于执行所述多个测试用例,得到多个目标测试指标;
处理确定模块,用于基于所述多个目标测试指标进行处理,从所述多个测试用例中确定目标测试用例;
关联存储模块,用于将所述目标测试场景和所述目标测试用例关联存储在场景数据库。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753948.9A CN115129594A (zh) | 2022-06-28 | 2022-06-28 | 测试场景处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753948.9A CN115129594A (zh) | 2022-06-28 | 2022-06-28 | 测试场景处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129594A true CN115129594A (zh) | 2022-09-30 |
Family
ID=83382674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210753948.9A Pending CN115129594A (zh) | 2022-06-28 | 2022-06-28 | 测试场景处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129594A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115687164A (zh) * | 2023-01-05 | 2023-02-03 | 中汽智联技术有限公司 | 测试用例泛化筛选方法、设备和存储介质 |
CN116737592A (zh) * | 2023-07-26 | 2023-09-12 | 小米汽车科技有限公司 | 程序测试方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-28 CN CN202210753948.9A patent/CN115129594A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115687164A (zh) * | 2023-01-05 | 2023-02-03 | 中汽智联技术有限公司 | 测试用例泛化筛选方法、设备和存储介质 |
CN115687164B (zh) * | 2023-01-05 | 2023-04-14 | 中汽智联技术有限公司 | 测试用例泛化筛选方法、设备和存储介质 |
CN116737592A (zh) * | 2023-07-26 | 2023-09-12 | 小米汽车科技有限公司 | 程序测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992596B (zh) | 一种文本聚类方法、装置、服务器和存储介质 | |
CN115129594A (zh) | 测试场景处理方法、装置、电子设备和存储介质 | |
WO2021232229A1 (zh) | 虚拟场景生成方法、装置、计算机设备和存储介质 | |
CN112447189A (zh) | 语音事件检测方法、装置、电子设备及计算机存储介质 | |
CN110471999B (zh) | 轨迹处理方法、装置、设备和介质 | |
CN111476225B (zh) | 基于人工智能的车内人脸识别方法、装置、设备及介质 | |
WO2022178933A1 (zh) | 基于上下文的语音情感检测方法、装置、设备及存储介质 | |
CN111738290B (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN111369790B (zh) | 过车记录校正方法、装置、设备及存储介质 | |
CN116402166A (zh) | 一种预测模型的训练方法、装置、电子设备及存储介质 | |
CN114169247A (zh) | 仿真交通流的生成方法、装置、设备和计算机可读存储介质 | |
CN113868875B (zh) | 测试场景自动生成方法、装置、设备和存储介质 | |
CN110968690B (zh) | 词语的聚类划分方法和装置、设备以及存储介质 | |
CN115438129A (zh) | 结构化数据的分类方法、装置及终端设备 | |
CN110059180B (zh) | 文章作者身份识别及评估模型训练方法、装置及存储介质 | |
CN111860661A (zh) | 基于用户行为的数据分析方法、装置、电子设备及介质 | |
CN111127952A (zh) | 检测潜在交通碰撞的方法、装置和存储介质 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN113223049A (zh) | 轨迹数据处理方法及装置 | |
Chang et al. | Code Transform Model Producing High-Performance Program. | |
CN114639037B (zh) | 确定高速服务区的车辆饱和的方法及电子设备 | |
CN116894225B (zh) | 驾驶行为异常分析方法及其装置、设备、介质 | |
CN116401111B (zh) | 脑机接口的功能检测方法、装置、电子设备及存储介质 | |
CN111061830B (zh) | 一种汽修数据的处理方法及装置 | |
CN113836358A (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 |