自动驾驶的测试用例生成方法、装置、设备及存储介质与流程

文档序号:20700096发布日期:2020-05-12 15:34阅读:158来源:国知局
自动驾驶的测试用例生成方法、装置、设备及存储介质与流程

本申请涉及智能驾驶技术领域,特别涉及一种自动驾驶的测试用例生成方法、装置、设备及存储介质。



背景技术:

自动驾驶系统指的是通过机器帮助人进行驾驶,以及在特殊情况下完全取代人驾驶的系统。车辆由自动驾驶系统控制,能够在某些情况下避免人类驾驶员存在的缺陷。

对自动驾驶系统中的车辆,需要进行大量的自动驾驶测试,以保证自动驾驶的安全性。除了自动驾驶系统本身的稳定性之外,复杂的交通状况和车辆的意外行为等都会影响自动驾驶的安全性。为了避免上述因素对安全性的影响,需要明确自动驾驶系统中的车辆的设计作用域(operationaldesigndomain,

odd),对odd内涵盖的场景进行细化和完善,基于这些场景进行自动驾驶测试。

相关技术中,odd内涵盖的场景的是使用单一层次的分类目录来细化的,如仅按照天气,路况,自车速度等因素对场景进行分类,场景的扩展性不好。管理者通过选定分类目录确定了一个场景后才能生成一个对应的测试用例,使得生成多个测试用例的过程过于复杂。



技术实现要素:

本申请实施例提供了一种自动驾驶的测试用例生成方法、装置、设备及存储介质,可以用于解决相关技术中,odd内涵盖的场景的是使用单一层次的分类目录来细化的,如仅按照天气,路况,自车速度等因素对场景进行分类,场景的扩展性不好。管理者通过选定分类目录确定了一个场景后才能生成一个对应的测试用例,使得生成多个测试用例的过程过于复杂的问题。所述技术方案如下:

根据本申请的一个方面,提供了一种自动驾驶的测试用例生成方法,该方法包括:

获取候选的功能场景目录,所述功能场景目录包括至少两层分类场景,所述至少两层分类场景中的第i层中的每个场景分类在第i+1层对应有至少一个子场景分类;

响应于场景选择指令,在所述功能场景目录中选择出待测试的功能场景;

响应于参数选择指令,确定所述待测试的功能场景中属于最后一层的子场景分类对应的参数取值范围,得到逻辑场景;

根据所述逻辑场景中各个子场景分类对应的所述参数取值范围,生成多个测试用例。

在一个可选的示例中,所述最后一层的子场景分类为n个,第i个子场景分类对应第i个参数取值范围,i为不大于n的整数;所述根据所述逻辑场景中各个子场景分类对应的所述参数化范围,生成多个测试用例,包括:根据所述第i个子场景分类对应的所述第i个参数取值范围,确定所述第i个子场景分类对应的ki个参数取值;对所述n个子场景分类分别对应的所述参数取值进行排列组合,得到多个测试用例,所述n个子场景分类在单个测试用例中具有一个参数取值。

在一个可选的示例中,所述根据所述第i个子场景分类对应的所述第i个参数取值范围,确定所述第i个子场景分类对应的ki个参数取值,包括:当所述第i个参数取值范围为连续取值范围时,获取所述逻辑场景中为所述第i个子场景分类设置的步长值,根据所述步长值在所述连续取值范围中确定出所述ki个参数取值;当所述第i个参数取值范围为离散取值范围时,将所述离散取值范围中的每个取值确定为所述ki个参数取值。

在一个可选的示例中,所述功能场景目录包括一级场景分类和二级场景分类;所述一级场景分类为m个,第j个所述一级场景分类对应有mj个二级场景分类;所述响应于场景选择指令,在所述功能场景目录中选择出待测试的功能场景,包括:响应于场景选择指令,在所述m个一级场景分类中确定出被选择的一级场景分类;在每个所述被选择的一级场景分类对应的所述二级场景分类中,确定出至少一个被选择的二级场景分类;根据所有所述被选择的二级场景分类创建所述功能场景。

在一个可选的示例中,所述一级场景分类包括:道路情况、静态环境要素、自车行为和其他交通参与者行为中的至少一种;与所述道路情况对应的所述二级场景分类包括:车道线数目、车道线特征、路面材质、转弯半径中的至少一种;与所述静态环境要素对应的所述二级场景分类包括:天气、光照、交通灯、交通限速牌中的至少一种;与所述自车行为对应的所述二级场景分类包括:跟车、换道、汇入、转弯中、停车、起始速度、加速度的至少一种;与所述其他交通参与者行为对应的所述二级场景分类包括:跟车、换道、汇入、转弯、停车、起始速度、加速度中的至少一种。

根据本申请的一个方面,提供了一种自动驾驶的测试用例生成装置,该装置包括:获取模块、选择模块、确定模块和生成模块;

所述获取模块,被配置为获取候选的功能场景目录,所述功能场景目录包括至少两层分类场景,所述至少两层分类场景中的第i层中的每个场景分类在第i+1层对应有至少一个子场景分类;

所述选择模块,被配置为响应于场景选择指令,在所述功能场景目录中选择出待测试的功能场景;

所述确定模块,被配置为响应于参数选择指令,确定所述待测试的功能场景中属于最后一层的子场景分类对应的参数取值范围,得到逻辑场景;

所述生成模块,被配置为根据所述逻辑场景中各个子场景分类对应的所述参数取值范围,生成多个测试用例。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的自动驾驶的测试用例生成方法。

另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的自动驾驶的测试用例生成方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过获取包括至少两层分类场景的功能场景目录,在功能场景目录中选择出待测试的功能场景,该功能场景的结构性和扩展性好更好,在功能场景的基础上确定参数的取值范围得到逻辑场景,再根据得到的逻辑场景直接生成多个测试用例,简化了生成测试用例的复杂度,减少了大量的人力操作。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的自动驾驶系统的示意图;

图2是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图;

图3是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图;

图4是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图;

图5是本申请一个示例性实施例提供的选择功能场景的示意图;

图6是本申请一个示例性实施例提供的生成测试报告的方法流程图;

图7是本申请一个示例性实施例提供的自动驾驶的测试用例生成装置的框图;

图8是本申请一个示例性实施例提供的计算机设备的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1示出了本申请一个示例性实施例提供的自动驾驶系统的示意图;该自动驾驶系统100由两部分组成,分别是云端设备110和车载设备120。

自动驾驶系统指的是通过机器帮助人进行驾驶,以及在特殊情况下完全取代人驾驶的系统。自动驾驶车辆由自动驾驶系统控制,能够在某些情况下避免人类驾驶员存在的缺陷。

在云端设备110中,云平台为自动驾驶系统提供支持。云端主要完成四个功能:数据存储、仿真测试、高精度地图生成和深度学习模型训练。

数据存储:自动驾驶车辆在路测时实际采集的数据量非常大,需要传输到云端进行分布式存储。

仿真测试:开发的新算法在部署到自动驾驶车辆之前,会通过云端的模拟器,进行虚拟环境的测试。

高精度地图生成:地图的生成采用众包形式,把每辆在路上行驶的自动驾驶车辆实时采集到的激光点云或视觉数据上传至云端,实现高精度地图的完善和更新。

深度学习模型训练:自动驾驶的决策层使用了多种不同的深度学习模型,持续不断地通过新数据进行模型训练,来提升算法的处理能力。由于训练的数据量非常大,所以要在云端完成。

在车载设备120中,主控系统由硬件部分车载集成计算平台和软件部分智能车载操作系统组成。车载集成计算平台融合了传感器、高精度地图、车联网(vehicletox,v2x)的感知信息进行认知和决策计算,硬件处理器可以有图形处理器(graphicsprocessingunit,gpu)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、专用集成电路(applicationspecificintegratedcircuit,asic)等多种选择。智能车载操作系统融合了车内人机交互、运营服务商、内容服务商的数据,为使用自动驾驶车辆的乘客提供个性化服务。

本申请主要涉及的是自动驾驶系统的仿真测试的相关部分。

图2是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图;

步骤210,获取候选的功能场景目录;

其中,功能场景目录包括至少两层分类场景,至少两层分类场景中的第i层中的每个场景分类在第i+1层对应有至少一个子场景分类;i为正整数。

可选的,功能场景(functionalscenario)是在计算机设备中存储的自动驾驶的虚拟测试环境。功能场景目录是包含多层功能场景的分类场景的目录。

示例性的,计算机设备从存储器中获取自动驾驶的功能场景目录,该功能场景目录包括3层分类场景。如表一所示:

表一

至少两层分类场景中的第i层中的每个场景分类在第i+1层对应有至少一个子场景分类。如,第一层分类场景中的静态基础在第二层对应有两个子场景分类,包括但不限于:道路情况和静态环境要素;第二层分类场景中的自车行为在第三层对应有四个子场景分类,包括但不限于:跟车、换道、汇入、转弯。

步骤220,响应于场景选择指令,在功能场景目录中选择出待测试的功能场景;

场景选择指令是管理者发出的,用于选择待测试的功能场景的指令。

计算机设备接收管理者发出的场景选择指令,该场景选择指令指示了将要进行测试的功能场景。计算机设备通过该场景选择指令,确定了一个功能场景进行测试。

需要说明的是,功能场景除了是上述根据场景选择指令确定的之外,也可以是在根据自动驾驶车辆在实际测试时遇到的场景提取出来的。

示例性的,如表一所示,功能场景目录包3层分类目录。场景选择指令为“选择第一层分类场景中的静态基础场景分类;选择第二层分类场景中的静态环境要素场景分类,该静态环境要素场景分类属于静态基础场景分类的子场景分类;选择第三层分类场景中的天气场景分类、光照场景分类,该天气场景分类、光照场景分类属于静态环境要素场景分类的子场景分类”,计算机设备在接收到该场景选择指令后,将功能场景目录中选择出的最后一层的子场景分类的集合确定为待测试的功能场景。

该具有多层分类场景的功能场景的扩展性好。示例性的,要将第三层分类场景中的交通牌场景分类添加至该功能场景,只需要从计算机设备中已经创建好的第二层分类场景中的静态环境要素场景分类中,再次选择一个子分类,即交通牌场景分类,就能够将第三层分类场景中的交通牌场景分类添加至该功能场景。

步骤230,响应于参数选择指令,确定待测试的功能场景中属于最后一层的子场景分类对应的参数取值范围,得到逻辑场景;

参数选择指令是管理者发出的,用于对最后一层的子场景分类对应的参数取值范围进行选择的指令。

逻辑场景(logicalscenario)是对功能场景进行参数化表示后的场景。

计算机设备接收管理者发出的参数选择指令,该参数选择指令指示了最后一层的子场景分类对应的参数取值范围。计算机设备通过该参数选择指令,确定了最后一层的子场景分类对应的参数取值范围。

示例性的,最后一层的子场景分类包括:直路、光照和自车加速度。参数选择指令为“直路:1至4条车道线;光照:逆光;自车加速度:0至4m/s2,步长为0.5m/s2”,计算机设备响应于该参数选择指令,得到一个逻辑场景“直路包括1至4条车道线;光照为逆光;自车加速度是0至4m/s2,步长为0.5m/s2”。

示例性的,最后一层的子场景分类包括:道路最高限速和天气。参数选择指令为“道路最高限速:40km/h至80km/h,步长为20km/h;天气:晴天”,计算机设备响应于该参数选择指令,得到一个逻辑场景“道路最高限速是40km/h至80km/h,步长为20km/h;天气为晴天”。

步骤240,根据逻辑场景中各个子场景分类对应的参数取值范围,生成多个测试用例。

在云端的模拟器中进行的仿真测试中,测试用例用来作为模拟器的输入端。

可选的,具体的多个测试用例生成以后,将这些测试用例输入模拟器,得到仿真测试结果,自动生成测试报告。

示例性的,逻辑场景“道路最高限速是40km/h至80km/h,步长为20km/h;天气为晴天”。根据该逻辑场景中各个子场景分类对应的参数取值范围,可以生成如下三个测试用例:

一、道路最高限速是40km/h;天气为晴天。

二、道路最高限速是60km/h;天气为晴天。

三、道路最高限速是80km/h;天气为晴天。

示例性的,逻辑场景“车道线数目是1或2条;自车行为是跟车或换道”。根据该逻辑场景中各个子场景分类对应的参数取值范围,可以生成如下四个测试用例:

一、车道线数目是1条;自车行为是跟车。

二、车道线数目是1条;自车行为是换道。

三、车道线数目是2条;自车行为是跟车。

四、车道线数目是2条;自车行为是换道。

综上所述,本实施例提供的方法,通过获取包括至少两层分类场景的功能场景目录,在功能场景目录中选择出待测试的功能场景,该功能场景的结构性和扩展性好更好,在功能场景的基础上确定参数的取值范围得到逻辑场景,再根据得到的逻辑场景直接生成多个测试用例,简化了生成测试用例的复杂度,减少了大量的人力操作。

在基于图2的可选实施例中,图3是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图,其中,最后一层的子场景分类为n个,第i个子场景分类对应第i个参数取值范围,i为不大于n的整数。其中,n为正整数。

在本实施例中,步骤240替代实现为步骤241和步骤242:

步骤241,根据第i个子场景分类对应的第i个参数取值范围,确定第i个子场景分类对应的ki个参数取值;

其中,ki为正整数。

示例性的,最后一层的子场景分类为3个:天气、光照和自车加速度。第1个子场景分类天气对应第1个参数取值范围;第2个子场景分类光照对应第2个参数取值范围;第3个子场景分类自车加速度对应第3个参数取值范围。

其中,根据第1个参数取值范围可以确定第1个子场景分类天气的5个参数取值:晴天、阴天、雨天、雪天和多云;根据第2个参数取值范围可以确定第2个子场景分类光照的4个参数取值:一般光照、强光、逆光和晚上;根据第3个参数取值范围可以确定第3个子场景分类自车加速度的7个参数取值:0m/s2、0.5m/s2、1m/s2、1.5m/s2、2m/s2、2.5m/s2和3m/s2

在一个示例中,根据第i个子场景分类对应的第i个参数取值范围,确定第i个子场景分类对应的ki个参数取值,包括:当第i个参数取值范围为连续取值范围时,获取逻辑场景中为第i个子场景分类设置的步长值,根据步长值在连续取值范围中确定出ki个参数取值;当第i个参数取值范围为离散取值范围时,将离散取值范围中的每个取值确定为ki个参数取值。

可选的,步长值可以是管理者设置的,也可以是计算机设备中预设的。

示例性的,第1个子场景分类天气对应的第1个参数取值范围是离散取值范围,第1个参数取值范围包括:晴天、阴天、雨天、雪天和多云,则将该离散取值范围内的每个取值确定为5个参数取值;第2个子场景分类光照对应的第2个参数取值范围是离散取值范围,第2个参数取值范围包括:一般光照、强光、逆光和晚上,则将该离散取值范围内的每个取值确定为4个参数取值;第3个子场景分类自车加速度对应的第3个参数取值范围是连续取值范围,获取逻辑场景中为第3个子场景分类设置的步长值0.5m/s2,第3个参数取值范围为0至3m/s2,则根据步长值在连续取值范围中确定出7个参数取值:0m/s2、0.5m/s2、1m/s2、1.5m/s2、2m/s2、2.5m/s2和3m/s2

步骤242,对n个子场景分类分别对应的参数取值进行排列组合,得到多个测试用例,n个子场景分类在单个测试用例中具有一个参数取值。

若n个子场景分类分别对应有k1、k2、……、kn个参数取值,对这些参数取值进行排列组合,则能够得到k=k1*k2*……*kn个测试用例。

示例性的,最后一层的子场景分类为3个,分别对应有3、1、2个参数取值,构成的逻辑场景为“道路最高限速是40km/h至80km/h,步长为20km/h;天气为晴天;路面材质为沥青路面或水泥路面”,则对这些参数取值进行排列组合,生成如下6个测试用例:

一、道路最高限速是40km/h;天气为晴天;路面材质为沥青路面。

二、道路最高限速是60km/h;天气为晴天;路面材质为沥青路面。

三、道路最高限速是80km/h;天气为晴天;路面材质为沥青路面。

四、道路最高限速是40km/h;天气为晴天;路面材质为水泥路面。

五、道路最高限速是60km/h;天气为晴天;路面材质为水泥路面。

六、道路最高限速是80km/h;天气为晴天;路面材质为水泥路面。

综上所述,本实施例提供的方法,通过确定逻辑场景的最后一层的子场景分类的参数的取值范围,对这些参数取值进行排列组合,直接生成多个测试用例,简化了生成测试用例的复杂度,同时使得该逻辑场景对应的功能场景的测试用例比较丰富全面,不容易遗漏测试用例。

在基于图2的可选实施例中,图4是本申请一个示例性实施例提供的自动驾驶的测试用例生成方法的流程图,功能场景目录包括一级场景分类和二级场景分类;一级场景分类为m个,第j个一级场景分类对应有mj个二级场景分类。其中,m、j、mj为正整数。在本实施例中,步骤220替代实现为步骤221、步骤222和步骤223:

步骤221,响应于场景选择指令,在m个一级场景分类中确定出被选择的一级场景分类;

可选的,场景选择指令是管理者发出的,用于选择待测试的功能场景的指令。计算机设备接收管理者发出的场景选择指令,该场景选择指令指示了将要进行测试的功能场景。

计算机设备根据该场景选择指令,首先在m个一级场景分类中确定出被选择的一级场景分类。

示例性的,m为4。四个一级场景分类包括:道路情况、静态环境要素、自车行为和其他交通参与者行为。

步骤222,在每个被选择的一级场景分类对应的二级场景分类中,确定出至少一个被选择的二级场景分类;

可选的,二级场景分类是一级场景分类的子分类,对一级场景分类进行更加细化的分类。

示意性的,管理者在选择一级场景分类后,在计算机设备上将会显示该一级场景分类的候选子分类,管理者在计算机设备给出的候选子分类中确定出至少一个二级场景分类。

步骤223,根据所有被选择的二级场景分类创建功能场景;

可选的,功能场景是所有被选择的二级场景分类的集合。

在一个示例中,一级场景分类包括:道路情况、静态环境要素、自车行为和其他交通参与者行为中的至少一种;与道路情况对应的二级场景分类包括:车道线数目、车道线特征、路面材质、转弯半径中的至少一种;与静态环境要素对应的二级场景分类包括:天气、光照、交通灯、交通限速牌中的至少一种;与自车行为对应的二级场景分类包括:跟车、换道、汇入、转弯、停车、起始速度、加速度中的至少一种;与其他交通参与者行为对应的二级场景分类包括:跟车、换道、汇入、转弯、停车、起始速度、加速度中的至少一种。如表二所示:

表二

其中,其他交通者行为包括但不限于:其他机动车行为、其他非机动车行为、其他行人行为和其他特殊交通参与者行为。

图5示出了本申请一个示例性实施例提供的选择功能场景的示意图,如图5所示,计算机设备上显示有一级场景分类的相关控件,包括:道路情况控件、静态环境要素控件、自车行为控件和其他交通者行为控件。

计算机设备在接收到道路情况控件的触发操作时,即开始显示属于道路情况一级场景分类对应的二级场景分类的相关控件,包括:车道线数目控价、转弯半径控件、路面材质控件、车道线特征控件。计算机设备在接收到路面材质控件的触发操作时,即确定出一个被选择的二级场景分类:路面材质。

其中,触发操作指的是用户对上述控件触发的操作。譬如,触发操作可以为用户点击上述控件,也可以为用户拖动上述控件等。需要说明的是,触发操作还可以为用户通过语音指令触发的操作,本申请对此不加以限制。

重复上述操作,确定多个二级场景分类:路面材质、光照、交通限速牌、自车起始速度、自车加速度。根据这些确定的二级场景分类场景创建功能场景。

响应于参数选择指令,确定上述二级场景分类的参数取值范围:路面材质为沥青路面;光照为一般光照;交通限速牌显示为60km/h;自车起始速度为0至60km/h,步长为10km/h;自车加速度为0至4m/s2,步长为0.5m/s2

根据上述二级场景分类的参数取值范围,生成k=1*1*1*7*9=63个测试用例。示例性的,一个测试用例为:路面材质为沥青路面;光照为一般光照;交通限速牌显示为60km/h;自车起始速度为30km/h;自车加速度为4m/s2。将该测试用例输入模拟器,得到仿真测试结果,自动生成测试报告。

示例性的,一个测试用例为:路面材质为沥青路面;光照为一般光照;交通限速牌显示为50km/h;自车起始速度为30km/h;自车加速度为2m/s2。将该测试用例输入模拟器,得到仿真测试结果,自动生成测试报告。

综上所述,本实施例提供的方法,通过获取包括两层分类场景的功能场景目录,在功能场景目录中选择出待测试的功能场景,该功能场景的结构性和扩展性更好,再根据得到的逻辑场景直接生成多个测试用例,该逻辑场景明确了参数的取值范围,简化了生成测试用例的复杂度,减少了大量的人力操作。

图6示出了本申请一个示例性实施例提供的生成测试报告的方法流程图;该方法包括:

步骤610,获取功能场景;

功能场景是在计算机设备中存储的自动驾驶的虚拟测试环境。

获取功能场景的方法是计算机设备接收管理者发出的场景选择指令,该场景选择指令指示了将要进行测试的功能场景。计算机设备通过该场景选择指令,确定了一个功能场景进行测试。

或,获取功能场景的方法是根据自动驾驶车辆在实际测试时遇到的场景提取出功能场景。

步骤620,响应于参数选择指令,确定待测试的功能场景中属于最后一层的子场景分类对应的参数取值范围,得到逻辑场景;

逻辑场景是对功能场景进行参数化表示后的场景。

可选的,计算机设备接收管理者发出的参数选择指令,该参数选择指令指示了最后一层的子场景分类对应的参数取值范围。计算机设备通过该参数选择指令,确定了最后一层的子场景分类对应的参数取值范围。

步骤630,根据参数取值范围得到子场景的参数取值,进行排列组合生成多个测试用例;

当参数取值范围为连续取值范围时,获取逻辑场景中为子场景分类设置的步长值,根据步长值在连续取值范围中确定出一个或多个参数取值;

当参数取值范围为离散取值范围时,将离散取值范围中的每个取值确定为参数取值。

步骤640,将测试用例输入模拟器,生成测试报告。

测试报告中包括该测试用例在模拟的逻辑场景中的测试结果。

本实施例提供的方法,通过获取功能场景,再根据功能场景得到逻辑场景,直接生成多个测试用例,将测试用例输入模拟器自动生成测试报告,简化了生成测试报告的复杂度,减少了大量的人力操作。

图7是本申请一个示例性实施例提供的自动驾驶的测试用例生成装置700的框图;该装置包括:获取模块710、选择模块720、确定模块730和生成模块740;

获取模块710,被配置为获取候选的功能场景目录,功能场景目录包括至少两层分类目录,至少两层分类场景中的第i层中的每个场景分类在第i+1层对应有至少一个子场景分类;

选择模块720,被配置为响应于场景选择指令,在功能场景目录中选择出待测试的功能场景;

确定模块730,被配置为响应于参数选择指令,确定待测试的功能场景中属于最后一层的子场景分类对应的参数取值范围,得到逻辑场景;

生成模块740,被配置为根据逻辑场景中各个子场景分类对应的参数取值范围,生成多个测试用例。

在一个示例中,最后一层的子场景分类为n个,第i个子场景分类对应第i个参数取值范围,i为不大于n的整数;生成模块740包括第一确定子模块741和生成子模块742;第一确定子模块741,被配置为根据第i个子场景分类对应的第i个参数取值范围,确定第i个子场景分类对应的ki个参数取值;生成子模块742,被配置为对n个子场景分类分别对应的参数取值进行排列组合,得到多个测试用例,n个子场景分类在单个测试用例中具有一个参数取值。

在一个示例中,第一确定子模块741,被配置为当第i个参数取值范围为连续取值范围时,获取逻辑场景中为第i个子场景分类设置的步长值,根据步长值在连续取值范围中确定出ki个参数取值;第一确定子模块741,被配置为当第i个参数取值范围为离散取值范围时,将离散取值范围中的每个取值确定为ki个参数取值。

在一个示例中,功能场景目录包括一级场景分类和二级场景分类;一级场景分类为m个,第j个一级场景分类对应有mj个二级场景分类;选择模块720包括第二确定子模块721和创建子模块722;第二确定子模块721,被配置为响应于场景选择指令,在m个一级场景分类中确定出被选择的一级场景分类;第二确定子模块721,被配置在每个被选择的一级场景分类对应的二级场景分类中,确定出至少一个被选择的二级场景分类;创建子模块722,被配置为根据所有被选择的二级场景分类创建功能场景。

在一个示例中,一级场景分类包括:道路情况、静态环境要素、自车行为和其他交通参与者行为中的至少一种;与道路情况对应的二级场景分类包括:车道线数目、车道线特征、路面材质、转弯半径中的至少一种;与静态环境要素对应的二级场景分类包括:天气、光照、交通灯、交通限速牌中的至少一种;与自车行为对应的二级场景分类包括:跟车、换道、汇入、转弯、停车、起始速度、加速度中的至少一种;与其他交通参与者行为对应的二级场景分类包括:跟车、换道、汇入、转弯、停车、起始速度、加速度中的至少一种。

本申请还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的自动驾驶的测试用例生成方法。

该计算机设备可用于响应管理者发出的场景选择指令和参数选择指令,得到逻辑场景,并根据该逻辑场景生成多个测试用例。

在一些实施例中,计算机设备包括但不局限于:台式计算机、服务器、移动电子设备等,具有通信功能的具有数据处理能力的设备均可作为上述的计算机设备。

要说明的是,该计算机设备可以是如下图8所提供的计算机设备。

请参考图8,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:计算机设备800包括中央处理单元(centralprocessingunit,cpu)801、包括随机存取存储器(readaccessmemory,ram)802和只读存储器(readonlymemory,rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。计算机设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(input/output,i/o)系统806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。

基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,大容量存储设备808可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、带电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)、闪存或其他固态存储其技术,光盘只读存储器、高密度数字视频光盘(digitalversatiledisc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元801执行,一个或多个程序包含用于实现上述自动驾驶的测试用例生成方法的指令,中央处理单元801执行该一个或多个程序实现上述各个方法实施例提供的自动驾驶的测试用例生成方法。

根据本申请的各种实施例,计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。

存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,一个或者一个以上程序包含用于进行本发明实施例提供的自动驾驶的测试用例生成方法中由计算机设备所执行的步骤。

本领域技术人员可以理解,图8中示出的结构并不构成对计算机设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述自动驾驶的测试用例生成方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的自动驾驶的测试用例生成方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述自动驾驶的测试用例生成方法。

可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1