一种测试场景生成方法、装置、电子设备及可读存储介质与流程

文档序号:30664986发布日期:2022-07-06 02:37阅读:104来源:国知局
一种测试场景生成方法、装置、电子设备及可读存储介质与流程

1.本技术涉及计算机技术领域,尤其是涉及一种测试场景生成方法、装置、电子设备及可读存储介质。


背景技术:

2.测试场景是自动驾驶虚拟测试的基础,通常来讲,自动驾驶汽车需要在测试场景中进行多次虚拟测试,才能证明自动驾驶系统比人类驾驶员更可靠。
3.现有的测试场景的生成方法中,每个场景风险元素分别对应多个取值结果,例如车速取值结果可以是0-100km/h中的任意一个数值,天气取值结果可以是晴天、大雨、小雨、阴天等。现有技术中通常遍历所有的组合,即每个场景风险元素的各个取值结果分别与其他场景风险元素的各个取值结果进行组合,这种方法所生成的测试场景数量巨大,使得数据处理量大,处理效率低。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种测试场景生成方法、装置、电子设备及可读存储介质,以减小数据处理量,提高处理效率。
5.第一方面,本技术实施例提供了一种测试场景生成方法,包括:
6.将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合;其中,每个所述标识分别表示每个场景风险元素对应的每个目标结果子集合;所述场景风险元素用于表示影响自动驾驶的安全性的因素;每个所述测试场景组合中均包含各所述场景风险元素对应的所述标识,且所述测试场景组合中包含的所述标识的数量与所有所述场景风险元素的数量相等;
7.根据每个所述预设维数对应的所述测试场景组合以及每个所述测试场景组合对应的总危险程度,从所有的所述测试场景组合中选取出目标个数的第一测试场景组合;
8.针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的所述目标结果子集合中包含的结果,生成该第一测试场景组合对应的目标测试场景用例;其中,该目标测试场景用例中包含各所述场景风险元素对应的目标结果。
9.结合第一方面,本技术实施例提供了第一方面的第一种可能的实施方式,其中,所述将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合之前,还包括;
10.在获取到预设数量的交通事故数据之后,针对每一个所述交通事故数据,提取该交通事故数据中的所述场景风险元素以及每个所述场景风险元素对应的结果;
11.针对每个所述场景风险元素,根据每个所述交通事故数据中该场景风险元素对应的结果,确定该场景风险元素的结果集合;
12.针对每个所述场景风险元素,对该场景风险元素的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
13.针对每个结果子集合,根据该结果子集合对应的所述场景风险元素在该结果子集合中出现的次数,确定该结果子结合的第一权重;
14.针对每个所述场景风险元素,根据每个所述结果子集合的所述第一权重,对该场景风险元素对应的每个所述结果子集合进行加权处理,得到该场景风险元素对应的目标结果子集合;其中,该场景风险元素对应的所述目标结果子集合的个数不小于该场景风险元素对应的所述结果子集合的个数。
15.结合第一方面的第一种可能的实施方式,本技术实施例提供了第一方面的第二种可能的实施方式,其中,所述场景风险元素的结果包括数值型结果和非数值型结果;
16.所述针对每个所述场景风险元素,对该场景风险元素的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合,包括:
17.当所述场景风险元素的结果为所述数值型结果时,针对每个所述场景风险元素,对该场景风险元素对应的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
18.当所述场景风险元素的结果为所述非数值型结果时,针对每个所述场景风险元素,将该场景风险元素的每个所述非数值型结果分别作为该场景风险元素的结果子集合。
19.结合第一方面,本技术实施例提供了第一方面的第三种可能的实施方式,其中,每个所述预设维数分别对应有多个所述测试场景组合;
20.所述根据每个所述预设维数对应的所述测试场景组合以及每个所述测试场景组合对应的总危险程度,从所有的所述测试场景组合中选取出目标个数的第一测试场景组合,包括:
21.判断第一预设维数对应的所述测试场景组合的数量是否大于所述目标个数;
22.当所述第一预设维数对应的所述测试场景组合的数量大于所述目标个数时,则根据所述第一预设维数对应的每个所述测试场景组合所对应的总危险程度,从所述第一预设维数对应的所有所述测试场景组合中按照所述总危险程度由高到底的顺序,选取出所述目标个数的所述测试场景组合,以将选取出的所述第一预设维数对应的所述测试场景组合作为所述第一测试场景组合;
23.当所述第一预设维数对应的所述测试场景组合的数量不大于所述目标个数时,判断第二预设维数对应的所述测试场景组合的数量是否大于所述目标个数;其中,所述第二预设维数比所述第一预设维数大一个维数;
24.当第二预设维数对应的所述测试场景组合的数量大于所述目标个数时,从所述第二预设维数对应的所述测试场景组合中删除掉与所述第一预设维数对应的所述测试场景组合重复的所述测试场景组合,将剩余的所述第二预设维数对应的所述测试场景组合作为第二测试场景组合;
25.根据每个所述第二测试场景组合对应的所述总危险程度,从所述第二测试场景组合中按照所述总危险程度由高到底的顺序,选取出第一个数的所述第二测试场景组合,以将所述第一个数的所述第二测试场景组合以及所述第一预设维数对应的所述测试场景组合作为所述第一测试场景组合;其中,所述第一个数与所述第一预设维数对应的所述测试场景组合的数量之和为所述目标个数;
26.当第二预设维数对应的所述测试场景组合的数量不大于所述目标个数时,则将所
述第二预设维数作为新的第一预设维数,重新执行步骤当所述第一预设维数对应的所述测试场景组合的数量不大于所述目标个数时,判断第二预设维数对应的所述测试场景组合的数量是否大于所述目标个数。结合第一方面的第三种可能的实施方式,本技术实施例提供了第一方面的第四种可能的实施方式,其中,所述根据所述第一预设维数对应的每个所述测试场景组合所对应的总危险程度,从所述第一预设维数对应的所有所述测试场景组合中按照所述总危险程度由高到底的顺序,选取出所述目标个数的所述测试场景组合之前,还包括:
27.针对所述第一预设维数对应的每个所述测试场景组合,根据该测试场景组合中的每个第一标识,确定所述第一标识对应的所述场景风险元素在该第一标识对应的所述目标结果子集合上的危险程度,以得到所述第一标识对应的所述场景风险元素对应的第二权重;
28.针对所述第一预设维数对应的每个所述测试场景组合,计算该测试场景组合中所有所述第一标识对应的所述场景风险元素对应的所述第二权重之和,得到该测试场景组合对应的所述总危险程度;
29.所述根据每个所述第二测试场景组合对应的所述总危险程度,从所述第二测试场景组合中按照所述总危险程度由高到底的顺序,选取出第一个数的所述第二测试场景组合之前,还包括:
30.针对每个所述第二测试场景组合,根据该二测试场景组合中的每个第二标识,确定所述第二标识对应的所述场景风险元素在该第二标识对应的所述目标结果子集合上的危险程度,以得到所述第二标识对应的所述场景风险元素对应的第二权重;
31.针对每个所述第二测试场景组合,计算该第二测试场景组合中所有所述第二标识对应的所述场景风险元素对应的所述第二权重之和,得到该第二测试场景组合对应的所述总危险程度。结合第一方面,本技术实施例提供了第一方面的第五种可能的实施方式,其中,所述针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的所述目标结果子集合中包含的结果,确定该第一测试场景组合对应的目标测试场景用例,包括:
32.针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识,从该目标标识对应的所述目标结果子集合中选取一个结果作为该目标标识对应的所述场景风险元素的目标结果;
33.针对每个所述第一测试场景组合,根据该第一测试场景组合中每个所述目标标识对应的所述场景风险元素的所述目标结果,确定该第一测试场景组合对应的目标测试场景用例。
34.第二方面,本技术实施例还提供一种测试场景生成装置,包括:
35.输入输出模块,用于将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合;其中,每个所述标识分别表示影响自动驾驶的安全性的因素;所述场景风险元素用于表示造成交通事故的场景元素;每个所述测试场景组合中均包含各所述场景风险元素对应的所述标识,且所述测试场景组合中包含的所述标识的数量与所有所述场景风险元素的数量相等;
36.选取模块,用于根据每个所述预设维数对应的所述测试场景组合以及每个所述测
试场景组合对应的总危险程度,从所有的所述测试场景组合中选取出目标个数的第一测试场景组合;
37.生成模块,用于针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的所述目标结果子集合中包含的结果,生成该第一测试场景组合对应的目标测试场景用例;其中,该目标测试场景用例中包含各所述场景风险元素对应的目标结果。
38.结合第二方面,本技术实施例提供了第二方面的第一种可能的实施方式,其中,还包括:
39.提取模块,用于在所述输入输出模块将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合之前,在获取到预设数量的交通事故数据之后,针对每一个所述交通事故数据,提取该交通事故数据中的所述场景风险元素以及每个所述场景风险元素对应的结果;
40.第一确定模块,用于针对每个所述场景风险元素,根据每个所述交通事故数据中该场景风险元素对应的结果,确定该场景风险元素的结果集合;
41.划分模块,用于针对每个所述场景风险元素,对该场景风险元素的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
42.第二确定模块,用于针对每个结果子集合,根据该结果子集合对应的所述场景风险元素在该结果子集合中出现的次数,确定该结果子结合的第一权重;
43.处理模块,用于针对每个所述场景风险元素,根据每个所述结果子集合的所述第一权重,对该场景风险元素对应的每个所述结果子集合进行加权处理,得到该场景风险元素对应的目标结果子集合;其中,该场景风险元素对应的所述目标结果子集合的个数不小于该场景风险元素对应的所述结果子集合的个数。
44.结合第二方面的第一种可能的实施方式,本技术实施例提供了第二方面的第二种可能的实施方式,其中,所述场景风险元素的结果包括数值型结果和非数值型结果;
45.所述划分模块在用于针对每个所述场景风险元素,对该场景风险元素的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合时,具体用于:
46.当所述场景风险元素的结果为所述数值型结果时,针对每个所述场景风险元素,对该场景风险元素对应的所述结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
47.当所述场景风险元素的结果为所述非数值型结果时,针对每个所述场景风险元素,将该场景风险元素的每个所述非数值型结果分别作为该场景风险元素的结果子集合。
48.结合第二方面,本技术实施例提供了第二方面的第三种可能的实施方式,其中,每个所述预设维数分别对应有多个所述测试场景组合;
49.所述选取模块在用于根据每个所述预设维数对应的所述测试场景组合以及每个所述测试场景组合对应的总危险程度,从所有的所述测试场景组合中选取出目标个数的第一测试场景组合时,具体用于:
50.判断第一预设维数对应的所述测试场景组合的数量是否大于所述目标个数;
51.当所述第一预设维数对应的所述测试场景组合的数量大于所述目标个数时,则根据所述第一预设维数对应的每个所述测试场景组合所对应的总危险程度,从所述第一预设
维数对应的所有所述测试场景组合中按照所述总危险程度由高到底的顺序,选取出所述目标个数的所述测试场景组合,以将选取出的所述第一预设维数对应的所述测试场景组合作为所述第一测试场景组合;
52.当所述第一预设维数对应的所述测试场景组合的数量不大于所述目标个数时,判断第二预设维数对应的所述测试场景组合的数量是否大于所述目标个数;其中,所述第二预设维数比所述第一预设维数大一个维数;
53.当第二预设维数对应的所述测试场景组合的数量大于所述目标个数时,从所述第二预设维数对应的所述测试场景组合中删除掉与所述第一预设维数对应的所述测试场景组合重复的所述测试场景组合,将剩余的所述第二预设维数对应的所述测试场景组合作为第二测试场景组合;
54.根据每个所述第二测试场景组合对应的所述总危险程度,从所述第二测试场景组合中按照所述总危险程度由高到底的顺序,选取出第一个数的所述第二测试场景组合,以将所述第一个数的所述第二测试场景组合以及所述第一预设维数对应的所述测试场景组合作为所述第一测试场景组合;其中,所述第一个数与所述第一预设维数对应的所述测试场景组合的数量之和为所述目标个数;
55.当第二预设维数对应的所述测试场景组合的数量不大于所述目标个数时,则将所述第二预设维数作为新的第一预设维数,重新执行步骤当所述第一预设维数对应的所述测试场景组合的数量不大于所述目标个数时,判断第二预设维数对应的所述测试场景组合的数量是否大于所述目标个数。结合第二方面的第三种可能的实施方式,本技术实施例提供了第二方面的第四种可能的实施方式,其中,还包括:第三确定模块,用于在所述选取模块根据所述第一预设维数对应的每个所述测试场景组合所对应的总危险程度,从所述第一预设维数对应的所有所述测试场景组合中按照所述总危险程度由高到底的顺序,选取出所述目标个数的所述测试场景组合之前,针对所述第一预设维数对应的每个所述测试场景组合,根据该测试场景组合中的每个第一标识,确定所述第一标识对应的所述场景风险元素在该第一标识对应的所述目标结果子集合上的危险程度,以得到所述第一标识对应的所述场景风险元素对应的第二权重;
56.第一计算模块,用于针对所述第一预设维数对应的每个所述测试场景组合,计算该测试场景组合中所有所述第一标识对应的所述场景风险元素对应的所述第二权重之和,得到该测试场景组合对应的所述总危险程度;
57.第四确定模块,用于在所述选取模块根据每个所述第二测试场景组合对应的所述总危险程度,从所述第二测试场景组合中按照所述总危险程度由高到底的顺序,选取出第一个数的所述第二测试场景组合之前,针对每个所述第二测试场景组合,根据该二测试场景组合中的每个第二标识,确定所述第二标识对应的所述场景风险元素在该第二标识对应的所述目标结果子集合上的危险程度,以得到所述第二标识对应的所述场景风险元素对应的第二权重;
58.第二计算模块,用于针对每个所述第二测试场景组合,计算该第二测试场景组合中所有所述第二标识对应的所述场景风险元素对应的所述第二权重之和,得到该第二测试场景组合对应的所述总危险程度。
59.结合第二方面,本技术实施例提供了第二方面的第五种可能的实施方式,其中,所
述生成模块在用于针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的所述目标结果子集合中包含的结果,确定该第一测试场景组合对应的目标测试场景用例时,具体用于:
60.针对每个所述第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识,从该目标标识对应的所述目标结果子集合中选取一个结果作为该目标标识对应的所述场景风险元素的目标结果;
61.针对每个所述第一测试场景组合,根据该第一测试场景组合中每个所述目标标识对应的所述场景风险元素的所述目标结果,确定该第一测试场景组合对应的目标测试场景用例。
62.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可能的实施方式中的步骤。
63.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可能的实施方式中的步骤。
64.本技术中,通过对各场景风险元素对应的目标结果子集合进行组合,使得得到的测试场景组合是各场景风险元素对应的目标结果子集合的组合,由于目标结果子集合中包含了场景风险元素的多个结果,因此通过对目标结果子集合进行组合的方式,相比于现有技术中对各场景风险元素对应的结果进行组合,能够减少生成的测试场景组合的数量。并且,本技术中通过限制条件,以及使用组合测试模型对各场景风险元素对应的目标结果子集合进行组合,相比于现有技术中正交组合的方式,使用本技术中的组合方法可以得到数量相对较少且覆盖度相对较高的测试场景组合,即也能够减少生成的测试场景组合的数量,进而减小了数据处理量,提高了处理效率。
65.进一步,本技术中根据每个预设维数对应的测试场景组合以及每个测试场景组合对应的总危险程度从多个测试场景组合中选取出目标个数的第一测试场景组合,相比于现有技术中随机从多个测试场景组合中选取出目标个数的测试场景组合的方式,提高了选取出的第一测试场景组合的有效性。
66.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
67.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
68.图1示出了本技术实施例所提供的一种测试场景生成方法的流程图;
69.图2示出了本技术实施例所提供的场景风险元素对应的结果子集合的示意图;
70.图3示出了本技术实施例所提供的场景风险元素对应的目标结果子集合的示意
图;
71.图4示出了本技术实施例所提供的一种测试场景生成装置的结构示意图;
72.图5示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
73.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
74.现有技术中,生成种测试场景的方法有多种,其中第一种测试场景的生成方法是直接复制真实的交通事故数据,即直接将真实的交通事故中各场景风险元素的结果作为测试场景中各场景风险元素的结果,因此使用该方法时,会使得通过一个交通事故数据只能生成一个测试场景,这种方法所生成的测试场景数量太少,生成的场景覆盖度低,即不会生成多种情况下的场景。
75.第二种测试场景的生成方法是,每个场景风险元素分别对应多个取值结果,例如车速取值结果可以是0-100km/h中的任意一个数值,天气取值结果可以是晴天、大雨、小雨、阴天等。该方法中通常遍历所有的组合,即每个场景风险元素的各个取值结果分别与其他场景风险元素的各个取值结果进行组合,这种方法所生成的测试场景数量巨大,使得数据处理量大,处理效率低。考虑到上述问题,基于此,本技术实施例提供了一种测试场景生成方法、装置、电子设备及可读存储介质,以减小数据处理量,提高处理效率,提高生成的测试场景的覆盖度,下面通过实施例进行描述。
76.实施例一:
77.为便于对本实施例进行理解,首先对本技术实施例所公开的一种测试场景生成方法进行详细介绍。图1示出了本技术实施例所提供的一种测试场景生成方法的流程图,如图1所示,包括以下步骤:
78.s101:将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合;其中,每个标识分别表示每个场景风险元素对应的每个目标结果子集合;场景风险元素用于表示影响自动驾驶的安全性的因素;每个测试场景组合中均包含各场景风险元素对应的标识,且测试场景组合中包含的标识的数量与所有场景风险元素的数量相等。
79.在自动驾驶领域,“场景”的核心要素一般都包含道路环境要素、其他交通参与者以及车辆驾驶任务等,同时,这些要素都会持续一定时间、具有动态变化的特性。本技术对于自动驾驶测试场景的理解为:场景是自动驾驶汽车与其行驶环境各组成要素在一段时间内的总体动态描述,这些要素组成由所期望检验的自动驾驶汽车的功能决定。简言之,场景可以认为是自动驾驶汽车行驶场合与驾驶情景的有机组合。
80.场景风险元素指的是自动驾驶场景中对自动驾驶的安全有影响的元素。场景风险
元素是多种多样的,例如:红绿灯、行人、天气、本车速度、本车加速度、目标车颜色、目标车速度、道路摩擦系数等。
81.限制条件是预先设置的,限制条件指的是限制出现不合理的测试场景组合,不合理的测试场景组合指的是现实情况中不会出现的测试场景组合。示例性的,限制条件可以是设置当本车速度超过预设速度时,不会出现转弯的测试场景组合。
82.在本技术中,每个场景风险元素分别对应至少一个目标结果子集合,各目标结果子集合中分别包含该场景风险元素不同的取值结果。例如,当场景风险元素为本车速度时,该场景风险元素对应的目标结果子集合可以分别为0-30km/h,30-60km/h,60-90km/h,90-120km/h,即场景风险元素对应4个目标结果子集合。
83.由于本方案中是对各场景风险元素的目标结果子集合进行组合,因此在本技术中,每个目标结果子集合分别对应有唯一的标识,通过对各场景风险元素的目标结果子集合的标识进行组合,进而实现对各场景风险元素的目标结果子集合进行组合。
84.在本技术的实施例中,在对各场景风险元素的目标结果子集合的标识进行组合时,通过将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合。其中,指定数量根据场景风险元素的个数和每个场景风险元素对应的目标结果子集合的个数决定,也就是说,指定数量为各场景风险元素的对应的目标结果子集合的个数之和。
85.本技术中,组合测试模型指的是贪心算法模型,贪心算法模型是pict工具(用例组合工具)的核心算法,在具体的实施例中,将指定数量的标识以及限制条件输入到pict工具中,输出各预设维数对应的测试场景组合。其中,预设维数是在pict工具中预先设置的,每个预设维数分别对应有多个测试场景组合。具体地,预设维数越高,其对应的测试场景组合数量越多。
86.在本技术的实施例中,每个测试场景组合中均包含各场景风险元素对应的标识,且测试场景组合中包含的标识的数量与所有场景风险元素的数量相等。示例性的,当场景风险元素分别为本车速度、天气、目标车颜色时,其中,本车速度对应4个目标结果子集合,也即本车速度对应4个标识分别为a1、a2、a3、a4;天气对应3个目标结果子集合,即天气对应3个标识分别为b1、b2、b3;目标车颜色对应2个目标结果子集合,也即目标车颜色对应2个标识分别为c1、c2,其中一个测试场景组合具体可以为(a1,b2,c1)。
87.其中,预设维数至少为二维,在本技术的实施例中,二维指的是所有的场景风险元素中任意两个场景风险元素的组合,但是该组合中同时也包含了其他剩余的场景风险元素,示例性的,当场景风险元素共有10个且预设维数为二维时,二维对应的测试场景组合中包含了10个场景风险元素,其中包含任意两个指定场景风险元素的组合,剩余的8个场景风险元素根据贪心算法模型中的方法进行选取。并且,当预设维数为三维时,三维对应的测试场景组合中包含了(即覆盖了)所有二维对应的测试场景组合。
88.s102:根据每个预设维数对应的测试场景组合以及每个测试场景组合对应的总危险程度,从所有的测试场景组合中选取出目标个数的第一测试场景组合。
89.每个测试场景组合对应一个总危险程度,在一个具体的实施例中,当步骤s101中输出的测试场景组合共有10000个时,若目标个数为1000个,则需要从10000个测试场景组合选取出1000个测试场景组合作为第一测试场景组合。在选取时,需要将总危险程度较高
的测试场景组合选取出来,因此本技术中选取出来的每个第一测试场景组合所对应的总危险程度不小于其他测试场景组合所对应的总危险程度。
90.s103:针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的目标结果子集合中包含的结果,生成该第一测试场景组合对应的目标测试场景用例;其中,该目标测试场景用例中包含各场景风险元素对应的目标结果。
91.在本技术的实施例中,每个第一测试场景组合中包含多个目标标识,每个目标标识对应一个目标结果子集合,每个目标结果子集合对应一个场景风险元素,每个目标结果子集合中包含该场景风险元素的结果。由于第一测试场景组合中包含的是目标标识的组合,而目标标识表示的是各场景风险元素的目标结果子结合,因此第一测试场景组合中并没有包含各场景风险元素的目标结果。
92.本技术中根据该第一测试场景组合中包含的每个目标标识对应的目标结果子集合中包含的结果,对该第一测试场景组合中包含的每个目标标识进行赋值,生成该第一测试场景组合对应的目标测试场景用例,该目标测试场景用例中包含各场景风险元素对应的目标结果。
93.例如,当第一测试场景组合为(a1,b2,c1)时,其中,a1为本车速度的目标结果子集合0-30km/h对应的标识,b2为天气的目标结果子集合晴天对应的标识,c1为目标车颜色的目标结果子集合红色对应的标识。对该第一测试场景组合中包含的每个目标标识a1、b2和c1进行赋值,生成该第一测试场景组合(a1,b2,c1)对应的目标测试场景用例(例如20km/h,晴天,红色)。
94.本技术中,通过对各场景风险元素对应的目标结果子集合进行组合,使得得到的测试场景组合是各场景风险元素对应的目标结果子集合的组合,由于目标结果子集合中包含了场景风险元素的多个结果,因此通过对目标结果子集合进行组合的方式,相比于现有技术中对各场景风险元素对应的结果进行组合,能够减少生成的测试场景组合的数量。并且,本技术中通过限制条件,以及使用组合测试模型对各场景风险元素对应的目标结果子集合进行组合,相比于现有技术中正交组合的方式,使用本技术中的组合方法可以得到数量相对较少且覆盖度相对较高的测试场景组合,即也能够减少生成的测试场景组合的数量,进而减小了数据处理量,提高了处理效率。
95.在一种可能的实施方式中,在执行步骤s101将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合之前,具体还可以按照以下步骤执行;
96.s1001:在获取到预设数量的交通事故数据之后,针对每一个交通事故数据,提取该交通事故数据中的场景风险元素以及每个场景风险元素对应的结果。
97.交通事故数据中包含发送该起交通事故时的现场的场景信息,其中交通事故数据可以为历史时刻发生的真实的交通事故的数据。每一起交通事故数据中包含的场景风险元素可以相同也可以不同,例如,第一起交通事故数据中包含有天气、行人数量等,而第二起交通事故数据包含的是天气、本车速度等。场景风险元素对应的结果表示的是该起交通事故中该场景风险元素的具体取值结果,例如第一起交通事故数据中包含的场景风险元素为天气和行人数量,其中场景风险元素天气对应的结果为晴天,场景风险元素行人数量对应的结果为5个。
98.s1002:针对每个场景风险元素,根据每个交通事故数据中该场景风险元素对应的结果,确定该场景风险元素的结果集合。
99.在本技术的实施例中,场景风险元素的结果集合表示每个交通事故数据中该场景风险元素的结果的集合,每个场景风险元素对应一个结果集合。示例性的,场景风险元素为天气时,1000个交通事故数据中有900个交通事故数据中包含天气这一场景风险元素,其中,有100个交通事故数据的天气为晴天,300个交通事故数据的天气为雨天,400个交通事故数据的天气为雪天,100个交通事故数据的天气为阴天,则天气这一场景风险元素的结果集合为晴天、雨天、雪天和阴天。
100.s1003:针对每个场景风险元素,对该场景风险元素的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合。
101.在本技术的实施例中,针对每个场景风险元素,根据该场景风险元素的结果的类型,对该场景风险元素的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合。
102.在一种可能的实施方式中,场景风险元素的结果的类型包括数值型结果和非数值型结果;执行步骤s1003针对每个场景风险元素,对该场景风险元素的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合时,具体可以按照以下步骤执行:
103.s10031:当场景风险元素的结果为数值型结果时,针对每个场景风险元素,对该场景风险元素对应的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
104.s10032:当场景风险元素的结果为非数值型结果时,针对每个场景风险元素,将该场景风险元素的每个非数值型结果分别作为该场景风险元素的结果子集合。
105.数值型结果表示场景风险元素的结果是数值型,例如本车速度这一场景风险元素的结果就为数值型结果,本车速度这一场景风险元素的结果集合为0-120km/h时,对0-120km/h进行划分后,得到本车速度对应的至少一个结果子集合可以分别为0-30km/h,30-60km/h,60-90km/h,90-120km/h。
106.非数值型结果表示场景风险元素的结果不是数值型,例如目标车颜色这一场景风险元素的结果就为非数值型结果,目标车颜色这一场景风险元素的结果集合为红色、黑色、白色、黄色时,将目标车颜色的每个非数值型结果分别作为目标车颜色的结果子集合,即目标车颜色的结果子集合分别为红色、黑色、白色、黄色。
107.s1004:针对每个结果子集合,根据该结果子集合对应的场景风险元素在该结果子集合中出现的次数,确定该结果子结合的第一权重。
108.在本技术的实施例中,针对每个结果子集合,该结果子集合对应的场景风险元素在该结果子集合中出现的次数不同。承接步骤s1002中的例子,对于天气这一场景风险元素,该场景风险元素对应的结果子集合分别为晴天、雨天、雪天和阴天。其中,晴天这一结果子集合中天气出现的次数为100次,雨天这一结果子集合中天气出现的次数为300次,雪天这一结果子集合中天气出现的次数为400次,阴天这一结果子集合中天气出现的次数为100次。
109.针对每个场景风险元素,确定该场景风险元素对应的结果子结合中出现的次数最少的结果子集合,并将其作为第一结果子集合,然后计算该场景风险元素对应的其他结果子集合出现的次数是第一结果子集合出现的次数的倍数,进而根据倍数确定该场景风险元
素对应的其他结果子集合对应的第一权重,其中第一结果子集合对应的第一权重为1。
110.示例性的,天气对应的结果子结合中出现的次数最少的结果子集合为晴天和阴天,将晴天和阴天均作为第一结果子集合,雨天出现的次数是晴天和阴天出现的次数的3倍,雪天出现的次数是晴天和阴天出现的次数的4倍,当晴天和阴天的第一权重均为1时,雨天的第一权重为3,雪天的第一权重为4。
111.s1005:针对每个场景风险元素,根据每个结果子集合的第一权重,对该场景风险元素对应的每个结果子集合进行加权处理,得到该场景风险元素对应的目标结果子集合;其中,该场景风险元素对应的目标结果子集合的个数不小于该场景风险元素对应的结果子集合的个数。
112.承接上述例子,图2示出了本技术实施例所提供的场景风险元素对应的结果子集合的示意图,如图2所示,天气对应的结果子结合包括晴天、阴天、雨天和雪天。根据晴天、阴天、雨天和雪天对应的第一权重,对天气对应的每个结果子集合进行加权处理,得到天气对应的目标结果子集合,图3示出了本技术实施例所提供的场景风险元素对应的目标结果子集合的示意图,如图3所示,目标结果子集合中包括一个晴天结果子集合、一个阴天结果子集合、三个雨天结果子集合和四个雪天结果子集合。
113.现有的方法中,生成的测试场景有效性低,例如第一个测试场景中车速的取值结果为100km/h,天气的取值结果为晴天,道路的取值结果为直路;第二个测试场景中车速的取值结果为102km/h,天气的取值结果为晴天,道路的取值结果为直路。在这两个测试场景下进行测试效果可能基本一致,因此使得生成的测试场景有效性低。
114.而本技术的技术方案中,通过对各场景风险元素对应的目标结果子集合进行组合,使得得到的测试场景组合是各场景风险元素对应的目标结果子集合的组合,由于目标结果子集合中包含了场景风险元素(当场景风险元素的结果为数值型结果时)的多个连续的结果,因此通过对目标结果子集合进行组合的方式,相比于现有技术中对各场景风险元素对应的结果进行组合,避免了同一个场景风险元素相近的取值结果出现在两个场景测试组合中,进而提高了生成的测试场景的有效性。
115.并且,本技术中根据场景风险元素的每个结果子集合出现的次数,对场景风险元素的结果子集合进行加权处理,得到该场景风险元素对应的目标结果子集合,使得在对目标结果子集合的标识进行组合生成测试场景组合时,进一步提高了生成测试场景组合的有效性。例如现有技术中,对于本车速度来讲,可能选取出来的1-20km/h比较多,但是实际场景中的50-80km/h的场景比较多,那么使用1-20km/h进行测试,测试效果不好。而本技术中通过对出现次数多的结果子集合进行加权处理,提高了出现次数多的结果子集合的概率,即提高了50-80km/h出现的概率,进而提高了生成的测试场景组合的有效性。
116.在一种可能的实施方式中,每个预设维数分别对应有多个测试场景组合;在执行步骤s102根据每个预设维数对应的测试场景组合以及每个测试场景组合对应的总危险程度,从所有的测试场景组合中选取出目标个数的第一测试场景组合时,具体可以按照以下步骤执行:
117.s1021:判断第一预设维数对应的测试场景组合的数量是否大于目标个数。
118.在本技术的实施例中,第一预设维数首先设置为二维,即先判断二维测试场景组合的数量是否大于目标个数。其中,目标个数指的是最终需要的测试场景组合的数量。二维
测试场景组合指的是第一预设维数为二维时对应的测试场景组合。
119.s1022:当第一预设维数对应的测试场景组合的数量大于目标个数时,则根据第一预设维数对应的每个测试场景组合所对应的总危险程度,从第一预设维数对应的所有测试场景组合中按照总危险程度由高到底的顺序,选取出目标个数的测试场景组合,以将选取出的第一预设维数对应的测试场景组合作为第一测试场景组合。
120.承接步骤s1021中的实施例,当二维测试场景组合的数量为40个,目标个数为30个时,可见二维测试场景组合的数量大于目标个数,即第一预设维数对应的测试场景组合的数量大于目标个数,此时根据每个二维测试场景组合对应的总危险程度由高到低的顺序,对40个二维测试场景组合进行排序,从总危险程度最高的开始选取出前30个二维测试场景组合作为第一测试场景组合。
121.s1023:当第一预设维数对应的测试场景组合的数量不大于目标个数时,判断第二预设维数对应的测试场景组合的数量是否大于目标个数;其中,第二预设维数比第一预设维数大一个维数。
122.承接步骤s1021中的实施例,当二维测试场景组合的数量为40个,目标个数为100个时,可见二维测试场景组合的数量不大于目标个数,即第一预设维数对应的测试场景组合的数量不大于目标个数,此时需要判断三维测试场景组合的数量是否大于目标个数。其中,三维测试场景组合指的是第二预设维数为三维时对应的测试场景组合。
123.s1024:当第二预设维数对应的测试场景组合的数量大于目标个数时,从第二预设维数对应的测试场景组合中删除掉与第一预设维数对应的测试场景组合重复的测试场景组合,将剩余的第二预设维数对应的测试场景组合作为第二测试场景组合;
124.承接步骤s1023中的实施例,当三维测试场景组合的数量为232时,可见三维测试场景组合的数量大于目标个数(100个),此时从三维测试场景组合中删除掉与二维测试场景组合重复的测试场景组合。在本技术的技术方案中,由于三维测试场景组合中包含了所有的二维测试场景组合,因此从三维测试场景组合中删除掉40个与二维测试场景组合重复的测试场景组合,剩余的三维测试场景组合的个数为192(232-40)个,将剩余的三维测试场景组合作为第二测试场景组合。
125.s1025:根据每个第二测试场景组合对应的总危险程度,从第二测试场景组合中按照总危险程度由高到底的顺序,选取出第一个数的第二测试场景组合,以将第一个数的第二测试场景组合以及第一预设维数对应的测试场景组合作为第一测试场景组合;其中,第一个数与第一预设维数对应的测试场景组合的数量之和为目标个数。
126.承接步骤s1024中的实施例,根据每个第二测试场景组合对应的总危险程度由高到低的顺序,对所有的第二测试场景组合进行排序,从总危险程度最高开始选取出第一个数的第二测试场景组合,以将选取出的第一个数的第二测试场景组合以及所有的二维测试场景组合作为第一测试场景组合。其中,第一个数是通过目标个数减去二维测试场景组合的数量得到的。在该实施例中,第一个数为60(100-40)。
127.s1026:当第二预设维数对应的测试场景组合的数量不大于目标个数时,则将第二预设维数作为新的第一预设维数,重新执行步骤s1023当第一预设维数对应的测试场景组合的数量不大于目标个数时,判断第二预设维数对应的测试场景组合的数量是否大于目标个数。
128.承接步骤s1023中的实施例,当三维测试场景组合的数量为80时,可见三维测试场景组合的数量不大于目标个数,此时将三维测试场景组合作为新的第一预设维数,重新执行步骤s1023当第一预设维数对应的测试场景组合的数量不大于目标个数时,判断第二预设维数对应的测试场景组合的数量是否大于目标个数。即此时新的第一预设维数对应的测试场景组合指的是三维测试场景组合,新的第二预设维数对应的测试场景组合为四维测试场景组合,即判断四维测试场景组合的数量是否大于目标个数。
129.现有的方法中,生成的测试场景覆盖度较低,例如车速的取值结果范围为0-100km/h,由于使用遍历组合的方法生成的测试场景数量巨大,因此现有技术中通常采用随机抽样的方式,即从生成的测试场景中随机选取出一定数量的测试场景,若选取出来的测试场景中车速的取值在1-20km/h的测试场景较多,会使得选取出的测试场景覆盖度较低。
130.而本技术的技术方案中,通过组合测试模型对各场景风险元素对应的结果子集合进行组合,得到各预设维数对应的测试场景组合,由于组合测试所生成的低维数的测试场景组合的覆盖度强于高维数的测试场景组合的覆盖度,即预设维数越低则对应的测试场景组合的覆盖度强,因此本技术中从多个测试场景组合中选取第一测试场景组合时,尽可能选取低维数对应的测试场景组合,并且去除掉重复的测试场景组合,提高生成的测试场景的覆盖度。
131.在一种可能的实施方式中,在执行步骤s1022当第一预设维数对应的测试场景组合的数量大于目标个数时,则根据第一预设维数对应的每个测试场景组合所对应的总危险程度,从第一预设维数对应的所有测试场景组合中按照总危险程度由高到底的顺序,选取出目标个数的测试场景组合之前,具体还可以按照以下步骤执行:
132.s10221:针对第一预设维数对应的每个测试场景组合,根据该测试场景组合中的每个第一标识,确定第一标识对应的场景风险元素在该第一标识对应的目标结果子集合上的危险程度,以得到第一标识对应的场景风险元素对应的第二权重。
133.在本技术的实施例中,每个目标结果子集合对应一个第二权重,也就是说每个目标结果子集合的标识对应一个第二权重,其中第二权重用于表示该目标结果子集合对应的场景风险元素在该目标结果子集合上取值时对自动驾驶的危险程度。承接步骤s101中的例子,当场景风险元素为本车速度时,该场景风险元素对应的目标结果子集合可以分别为0-30km/h,30-60km/h,60-90km/h,90-120km/h。由于当本车速度在90-120km/h上取值时对自动驾驶的危险程度较高,在0-30km/h上取值时对自动驾驶的危险程度较低,因此,0-30km/h对应的第二权重可以是1,30-60km/h对应的第二权重可以是2,60-90km/h对应的第二权重可以是3,90-120km/h对应的第二权重可以是4。
134.对于第一预设维数对应的每个测试场景组合来讲,示例性的,若该测试场景组合中包含有本车速度90-120km/h的第一标识,确定出本车速度在90-120km/h上的危险程度,以得到90-120km/h的第一标识对应的第二权重。
135.s10222:针对第一预设维数对应的每个测试场景组合,计算该测试场景组合中所有第一标识对应的场景风险元素对应的第二权重之和,得到该测试场景组合对应的总危险程度。对于第一预设维数对应的每个测试场景组合中的所有第一标识,示例性的,若第一个测试场景组合中包含有本车速度90-120km/h的第一标识,和天气晴天的第一标识;第二个测试场景组合中包含有本车速度0-30km/h的第一标识,和天气雨天的第一标识。若本车速
度0-30km/h的第一标识对应的第二权重为1,本车速度90-120km/h的第一标识对应的第二权重为4,天气晴天的第一标识对应的第二权重为1,天气雨天的第一标识对应的第二权重为3,则第一个测试场景组合对应的总危险程度为5,第二个测试场景组合对应的总危险程度为4。
136.在一种可能的实施方式中,在执行步骤s1025根据每个第二测试场景组合对应的总危险程度,从第二测试场景组合中按照总危险程度由高到底的顺序,选取出第一个数的第二测试场景组合之前,具体还可以按照以下步骤执行:
137.s10251:针对每个第二测试场景组合,根据该二测试场景组合中的每个第二标识,确定第二标识对应的场景风险元素在该第二标识对应的目标结果子集合上的危险程度,以得到第二标识对应的场景风险元素对应的第二权重。
138.对于第二测试场景组合来讲,示例性的,若第二测试场景组合中包含有本车速度30-60km/h的第二标识,确定出本车速度在30-60km/h上的危险程度,以得到30-60km/h的第二标识对应的第二权重。其中,第二标识指的是第二测试场景组合中包含的各个标识,第一标识指的是第一预设维数对应的每个测试场景组合中包含的各个标识。
139.s10252:针对每个第二测试场景组合,计算该第二测试场景组合中所有第二标识对应的场景风险元素对应的第二权重之和,得到该第二测试场景组合对应的总危险程度。
140.示例性的,若第二测试场景组合a中包含有本车速度30-60km/h的第二标识,天气阴天的第二标识,和本车颜色白色的第二标识;第二测试场景组合b中包含有本车速度0-30km/h的第二标识,天气雨天的第二标识,和本车颜色黑色的第二标识。若本车速度0-30km/h的第二标识对应的第二权重为1,本车速度30-60km/h的第二标识对应的第二权重为2;天气阴天的第二标识对应的第二权重为1,天气雨天的第二标识对应的第二权重为3;本车颜色黑色的第二标识对应的第二权重为1,本车颜色白色的第二标识对应的第二权重为1。则第二测试场景组合a对应的总危险程度为4(2+1+1),第二测试场景组合b对应的总危险程度为5(1+3+1)。
141.在一种可能的实施方式中,在执行步骤s103针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的目标结果子集合中包含的结果,确定该第一测试场景组合对应的目标测试场景用例时,具体可以按照以下步骤执行:
142.s1031:针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识,从该目标标识对应的目标结果子集合中选取一个结果作为该目标标识对应的场景风险元素的目标结果。
143.s1032:针对每个第一测试场景组合,根据该第一测试场景组合中每个目标标识对应的场景风险元素的目标结果,确定该第一测试场景组合对应的目标测试场景用例。
144.在本技术的实施例中,第一测试场景组合中包含的是场景风险元素的目标标识,而目标测试场景用例中包含的是各个场景风险元素的目标结果,因此将第一测试场景组合确定为目标测试场景用例的过程中,需要对第一测试场景组合中包含的各个场景风险元素进行赋值。
145.示例性的,第一测试场景组合中包含有本车速度90-120km/h的目标标识,和天气晴天的目标标识,针对本车速度,从90-120km/h中选取一个结果100km/h作为本车速度的目标结果;针对天气,直接将晴天作为天气的目标结果,进而确定该第一测试场景组合(本车
速度90-120km/h的目标标识,天气晴天的目标标识)对应的目标测试场景用例(例如本车速度100km/h,天气晴天)。
146.在本技术的实施例中,在对第一测试场景组合中包含的目标标识对应的场景风险元素进行赋值时,具体可以通过抽样的方法(例如蒙特卡托采样法)从各场景风险元素对应的目标结果子集合中选取一个结果作为该场景风险元素的目标结果。
147.实施例二:
148.基于相同的技术构思,本技术实施例还提供一种测试场景生成装置,图4示出了本技术实施例所提供的一种测试场景生成装置的结构示意图,如图4所示,该装置包括:
149.输入输出模块401,用于将指定数量的标识以及限制条件输入到测试组合模型中,输出各预设维数对应的测试场景组合;其中,每个标识分别表示每个场景风险元素对应的每个目标结果子集合;场景风险元素用于表示影响自动驾驶的安全性的因素;每个测试场景组合中均包含各场景风险元素对应的标识,且测试场景组合中包含的标识的数量与所有场景风险元素的数量相等;
150.选取模块402,用于根据每个预设维数对应的测试场景组合以及每个测试场景组合对应的总危险程度,从所有的测试场景组合中选取出目标个数的第一测试场景组合;
151.生成模块403,用于针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的目标结果子集合中包含的结果,生成该第一测试场景组合对应的目标测试场景用例;其中,该目标测试场景用例中包含各场景风险元素对应的目标结果。
152.可选的,前述输入输出模块401在用于将指定数量的标识以及限制条件输入到组合测试模型中,输出各预设维数对应的测试场景组合之前,还包括:
153.提取模块,用于在获取到预设数量的交通事故数据之后,针对每一个交通事故数据,提取该交通事故数据中的场景风险元素以及每个场景风险元素对应的结果;
154.第一确定模块,用于针对每个场景风险元素,根据每个交通事故数据中该场景风险元素对应的结果,确定该场景风险元素的结果集合;
155.划分模块,用于针对每个场景风险元素,对该场景风险元素的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
156.第二确定模块,用于针对每个结果子集合,根据该结果子集合对应的场景风险元素在该结果子集合中出现的次数,确定该结果子结合的第一权重;
157.处理模块,用于针对每个场景风险元素,根据每个结果子集合的第一权重,对该场景风险元素对应的每个结果子集合进行加权处理,得到该场景风险元素对应的目标结果子集合;其中,该场景风险元素对应的目标结果子集合的个数不小于该场景风险元素对应的结果子集合的个数。
158.可选的,场景风险元素的结果包括数值型结果和非数值型结果;前述划分模块在用于针对每个场景风险元素,对该场景风险元素的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合是,具体用于:
159.当场景风险元素的结果为数值型结果时,针对每个场景风险元素,对该场景风险元素对应的结果集合进行划分,得到该场景风险元素对应的至少一个结果子集合;
160.当场景风险元素的结果为非数值型结果时,针对每个场景风险元素,将该场景风险元素的每个非数值型结果分别作为该场景风险元素的结果子集合。
161.可选的,每个预设维数分别对应有多个测试场景组合;前述选取模块402在用于根据每个预设维数对应的测试场景组合以及每个测试场景组合对应的总危险程度,从所有的测试场景组合中选取出目标个数的第一测试场景组合时,具体用于:
162.判断第一预设维数对应的测试场景组合的数量是否大于目标个数;
163.当第一预设维数对应的测试场景组合的数量大于目标个数时,则根据第一预设维数对应的每个测试场景组合所对应的总危险程度,从第一预设维数对应的所有测试场景组合中按照总危险程度由高到底的顺序,选取出目标个数的测试场景组合,以将选取出的第一预设维数对应的测试场景组合作为第一测试场景组合;
164.当第一预设维数对应的测试场景组合的数量不大于目标个数时,判断第二预设维数对应的测试场景组合的数量是否大于目标个数;其中,第二预设维数比第一预设维数大一个维数;
165.当第二预设维数对应的测试场景组合的数量大于目标个数时,从第二预设维数对应的测试场景组合中删除掉与第一预设维数对应的测试场景组合重复的测试场景组合,将剩余的第二预设维数对应的测试场景组合作为第二测试场景组合;
166.根据每个第二测试场景组合对应的总危险程度,从第二测试场景组合中按照总危险程度由高到底的顺序,选取出第一个数的第二测试场景组合,以将第一个数的第二测试场景组合以及第一预设维数对应的测试场景组合作为第一测试场景组合;其中,第一个数与第一预设维数对应的测试场景组合的数量之和为目标个数;
167.当第二预设维数对应的测试场景组合的数量不大于目标个数时,则将第二预设维数作为新的第一预设维数,重新执行步骤当第一预设维数对应的测试场景组合的数量不大于目标个数时,判断第二预设维数对应的测试场景组合的数量是否大于目标个数。可选的,前述选取模块402在用于当第一预设维数对应的测试场景组合的数量大于目标个数时,则根据第一预设维数对应的每个测试场景组合所对应的总危险程度,从第一预设维数对应的所有测试场景组合中按照总危险程度由高到底的顺序,选取出目标个数的测试场景组合之前,还包括:
168.第三确定模块,用于针对第一预设维数对应的每个测试场景组合,根据该测试场景组合中的每个第一标识,确定第一标识对应的场景风险元素在该第一标识对应的目标结果子集合上的危险程度,以得到第一标识对应的场景风险元素对应的第二权重;
169.第一计算模块,用于针对第一预设维数对应的每个测试场景组合,计算该测试场景组合中所有第一标识对应的场景风险元素对应的第二权重之和,得到该测试场景组合对应的总危险程度。
170.可选的,前述选取模块402在用于根据每个第二测试场景组合对应的总危险程度,从第二测试场景组合中按照总危险程度由高到底的顺序,选取出第一个数的第二测试场景组合之前,还包括:
171.第四确定模块,用于针对每个第二测试场景组合,根据该二测试场景组合中的每个第二标识,确定第二标识对应的场景风险元素在该第二标识对应的目标结果子集合上的危险程度,以得到第二标识对应的场景风险元素对应的第二权重;
172.第二计算模块,用于针对每个第二测试场景组合,计算该第二测试场景组合中所有第二标识对应的场景风险元素对应的第二权重之和,得到该第二测试场景组合对应的总
危险程度。
173.可选的,前述生成模块403在用于针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识对应的目标结果子集合中包含的结果,生成该第一测试场景组合对应的目标测试场景用例时,具体用于:
174.针对每个第一测试场景组合,根据该第一测试场景组合中包含的每个目标标识,从该目标标识对应的目标结果子集合中选取一个结果作为该目标标识对应的场景风险元素的目标结果;
175.针对每个第一测试场景组合,根据该第一测试场景组合中每个目标标识对应的场景风险元素的目标结果,确定该第一测试场景组合对应的目标测试场景用例。
176.关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
177.实施例三:
178.基于相同的技术构思,本技术实施例还提供一种电子设备,图5示出了本技术实施例所提供的一种电子设备的结构示意图,如图5所示,该电子设备500包括:处理器501、存储器502和总线503,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器501与存储器502之间通过总线503通信,处理器501执行机器可读指令,以执行实施例一中所述的方法步骤。
179.关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
180.实施例四:
181.本技术实施例四还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行实施例一中所述的方法步骤。
182.关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
183.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
184.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
185.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
186.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
187.功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的
全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
188.最后应说明的是:以上实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1