一种自动驾驶仿真测试用例的自动化生成方法及系统与流程

文档序号:35381188发布日期:2023-09-09 06:52阅读:59来源:国知局
一种自动驾驶仿真测试用例的自动化生成方法及系统与流程

本发明涉及自动驾驶汽车仿真测试,具体涉及一种自动驾驶仿真测试用例的自动化生成方法及系统。


背景技术:

1、自动驾驶仿真测试作为对自动驾驶算法的重要测试手段,在各大主机厂中得到广泛的应用。软件在环(sil)、模型在环(mil)、硬件在环(hil)等测试方法与测试手段各有千秋,但无一例外其核心的测试内容都需要依靠测试案例来实现。长安汽车针对自动驾驶算法的功能逻辑测试采取软件在环的测试手段,通过固化测试案例完成算法的迭代验证。随着自动驾驶功能的开发与完善,自动驾驶算法的快速迭代,测试场景的丰富与细化,导致测试案例的数量也在逐步增加。当前测试案例的编写及用例代码生成主要依靠人工进行,过程繁琐且容易遗漏信息,进而导致测试效率低下,影响了测试结果的准确性。不同功能之间的测试案例及转化格式也不尽相同,传统的代码转换方式只关心是否完成转化,代码复杂且难以维护,对后续的执行效率及问题排查带来了很大的困扰。且由于缺乏转化模板,导致生成的测试用例只局限于单项功能的测试,无法在多个功能中快速复用。如何快速而准确的完成测试案例的编写与用例的自动化生成,逐渐成为了亟待解决的问题。

2、现有技术提供了一种基于测试用例的测试方法,该方法建立了测试用例的模板,并实现了关键参数写入模板的自动化过程。但该方法是针对每一个被测函数和用例字段生成了多个不同的模板,缺少通用性,导致可测性相对较差。


技术实现思路

1、本发明的目的之一在于提供一种自动驾驶仿真测试用例的自动化生成方法,以解决现有技术中缺乏测试用例转化模板,导致生成的测试用例只局限于单项功能的测试,无法在多个功能中快速复用的问题;目的之二在于提供一种自动驾驶仿真测试用例的自动化生成系统。

2、为了实现上述目的,本发明采用的技术方案如下:

3、一种自动驾驶仿真测试用例的自动化生成方法,包括以下步骤:

4、获取测试案例信息,根据所述测试案例信息生成测试执行任务书。

5、校验所述测试执行任务书的测试案例信息。

6、若校验通过则利用用例代码转化模板,自动化完成测试案例的用例代码转换,生成测试用例;若校验失败则记录错误日志,并进行错误信息修改,重新生成测试执行任务书。

7、根据上述技术手段,将人工手写测试案例与用例转化的过程转变为自动化完成,优化了传统转换方式导致代码复杂度高的问题,提升了测试案例的编写效率与用例代码转换生成的效率。通过语句分割和变量重组,构建得到了用例代码的转化模板,具有高复用性和可移植性。由于不同的仿真测试方法均需要大量的测试用例来支撑,使用上述技术手段能够快速地完成大批量的测试用例生成,并且能够有效提升测试用例的编写效率和准确性,在不同的测试方法中,只需要在模板中对用例格式和内容的要求进行一定的修改就能够在多种测试方式中完成快速适配,无需重新开发。

8、进一步,所述获取测试案例信息,根据所述测试案例信息生成测试执行任务书的过程具体为:从用户需求文档中通过关键字识别获取测试案例信息,对测试案例信息进行预处理后,整理为测试执行任务书;其中关键字包括有:需求id、用例id、测试概述、测试条件、执行操作、判断条件和测试优先级;所述测试执行任务书的存储格式为excel表格。

9、进一步,所述预处理的过程具体为:采用基于python的openpyxl函数获取测试案例的文字信息,并采用第一自定义函数与第二自定义函数区分有效案例与无效案例,将有效案例对应的测试案例文字信息保存为测试功能项列表,得到该测试功能项对应的测试执行任务书。

10、根据上述技术手段,从用户需求文档中获取所需的测试案例信息,将所有测试案例整合为测试执行任务书,技术人员能够很方便的得知每项功能对应的测试执行任务书。

11、进一步,校验所述测试执行任务书的测试案例信息的过程具体为:

12、采用第三自定义函数对测试执行任务书与开发需求文档进行交叉比对。

13、判断是否存在遗漏或错误的信号名称,若是,则将遗漏的信号名称补充完整,或是修正错误的信号名称;否则,获取开发需求文档中的信号名称与参数值,并保存为算法信号列表。

14、将测试功能项列表与算法信号列表进行交叉比对,判断信号名与参数值的使用与定义是否存在错误;若是,修正信号名与参数值的使用与定义;否则,完成交叉比对过程。

15、进一步,在校验所述测试执行任务书的测试案例信息的过程中还包括有将测试案例与转化需求文档中相对应的文字描述进行交叉检验,并建立对应关系,其中,所述转化需求文档包括有基础功能激活表和关键字激活表。

16、其中,建立对应关系的过程具体为:通过openpyxl函数获取基础功能激活表和关键字激活表中的文字信息,并保存在相关文字列表中;交叉检验过程具体为:将相关文字列表与有效案例列表进行比对。

17、根据上述技术手段,对测试执行任务书与开发需求文档进行交叉比对,能够确保测试案例信息的准确性与有效性。根据转化需求文档和测试案例建立相关文字列表,能够简化案例语言。

18、进一步,所述利用用例代码转化模板,自动化完成测试案例的用例代码转换,生成测试用例的过程具体为:

19、构建用例代码的转化模板,根据测试执行任务书中每一步测试步骤对应的信号名与参数值输入转化模板;依次执行重组、分割和回传完成测试用例代码的转换过程,经信息校验无误后,通过第四自定义函数实现多步测试步骤的代码转化。

20、根据上述技术手段,解决了传统的转换代码生成方式没有固定的模板,且代码逻辑较为臃肿不够清晰的问题,上述步骤建立的用例代码转化模板使得生成的测试用例代码结构更加简洁,并可以提高自动化测试的执行效率。

21、进一步,所述重组的具体过程为:将测试执行任务书中每个单元格的信息以数字顺序进行排列重组,并将每一步测试步骤按顺序保存至案例步骤列表中。所述分割的具体过程为:通过正则匹配函数,将测试执行任务书中每一步测试步骤的信号名与参数值单独提取并保存为参数化变量。所述回传的具体过程为:将单独保存的参数化变量按照案例步骤列表的顺序输入至用例代码的转化模板中。

22、根据上述技术手段,能够在转换代码的过程中确保每个用例的代码逻辑结构和框架都是一致,上述过程中的多步操作是为了生成单个用例,在后续操作过程中可以只更新用例信息生成案例代码,而不需要将整个逻辑结构重新编写一边,达成只需更改少量代码即可快速生成大量测试用例的效果。

23、进一步,将所述预处理的过程保存为第一子函数,将校验测试案例信息的过程保存为第二子函数,将生成测试用例的过程保存为第三子函数,将所述第一子函数、第二子函数和第三子函数构建主函数,主函数执行时实现如下过程:获取测试案例信息,根据所述测试案例信息生成测试执行任务书;校验所述测试执行任务书的测试案例信息;若校验通过则利用用例代码转化模板,自动化完成测试案例的用例代码转换,生成测试用例。

24、根据上述技术手段,能够通过调用主函数快速实现根据测试案例信息生成测试用例的技术效果。

25、进一步,在自动化生成测试用例的过程中,还包括有生成错误日志,自动化生成测试用例的过程中产生的错误以设定格式存储至错误日志中。其中,所述错误日志为txt文本文件;所述设定格式为:案例号与错误类型;所述错误类型包括有:不存在参数值、参数值未与实际情况对应、测试步骤缺失和测试用例生成失败。

26、根据上述技术手段,生成的错误日志可以方便脚本编辑人员对本工具进行完善。

27、一种自动驾驶仿真测试用例的自动化生成系统,包括存储器与处理器,所述存储器中包括自动驾驶仿真测试用例的自动化生成程序,所述自动驾驶仿真测试用例的自动化生成程序被所述处理器执行时实现的一种自动驾驶仿真测试用例的自动化生成方法。

28、本发明的有益效果:

29、(1)本发明通过语句分割、重组与回传,构建了用例代码转化模板,能够通过只更新测试用例信息来生成案例代码,通过将不同测试用例的信息写入同一个用例代码转化模板中即可快速生成大量测试用例,具有高复用性和可移植性,能在多种测试方式中快速适配。

30、(2)本发明利用用例代码转化模板将人工手写测试案例与用例转化的过程转变为自动化完成,优化了代码复杂度,提升了测试案例的编写效率与用例代码转换生成的效率。

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