测试脚本生成方法、电子设备及程序产品与流程

摘要: 本技术涉及汽车电子测试领域,尤其涉及一种测试脚本生成方法、电子设备及程序产品。背景技术:1、随着车载网络通信复杂度的持续提升,对网络节点间交互行为的验证需求快速...
测试脚本生成方法、电子设备及程序产品与流程

本技术涉及汽车电子测试领域,尤其涉及一种测试脚本生成方法、电子设备及程序产品。

背景技术:

1、随着车载网络通信复杂度的持续提升,对网络节点间交互行为的验证需求快速增长。测试过程通常依赖专业测试工具模拟总线通信、监测信号变化及诊断响应,而测试脚本作为控制测试流程、注入激励信号及判定测试结果的核心载体,其编写质量与效率直接关系到整个验证周期的长短。

2、现有技术中,测试脚本的开发主要依赖人工编写方式或统一通用模版生成。测试人员根据需求文档中的测试用例描述,按照特定测试工具所支持的脚本语法规则,逐条手动编写用于发送信号、检测响应、判定通过条件的脚本语句,并将多个测试语句组合为完整的测试用例。在需要对多个被测节点或多种测试场景进行验证时,测试人员通过复制已有脚本并进行逐行修改的方式来生成新的测试用例,最终将全部测试用例组织为测试套件并交付执行。当前统一通用脚本模板的全部测试参数均填充至同一套模板内执行生成操作,仅简单读取表格内全部数据直接输出脚本。

3、现有技术中当面对大量测试用例时,单一的通用模版难以适配多类型车载网络标准化测试需求,而人工逐条编写脚本导致生成效率极低,且测试脚本的结构需要与测试需求中的逻辑分组和层级关系相对应,而人工编写方式下,各测试用例的输出顺序和分组结构完全依赖于编写者的主观组织。

技术实现思路

1、本技术实施例提供测试脚本生成方法、电子设备及程序产品,用以达到提高脚本批量生成效率的效果。

2、第一方面,本技术实施例提供一种测试脚本生成方法,包括:

3、获取多个测试用例,每个测试用例包括多个参数指标和每个参数指标对应的测试信息;

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、本技术实施例提供的测试脚本生成方法、电子设备及程序产品,通过将测试人员整理的表格形式的测试需求自动转换为可执行脚本,过程中无需人工调整表格列名格式即可自动识别数据,且能够依据测试用例所属类型自动选用匹配的脚本模板进行内容填充,同时保留各测试用例在原始表格中的排列次序,最终将批量生成的脚本片段按该次序组装为完整脚本文件,通过上述手段达到提高测试脚本生成的效率与准确性,降低人工编写及维护成本,进而提升需求频繁变更场景下测试脚本批量更新的一致性与可维护性的效果。