功能测试脚本生成方法、装置、设备、介质及产品与流程

摘要: 本技术涉及车辆测试,特别涉及一种功能测试脚本生成方法、装置、设备、介质及产品。背景技术:1、电子控制单元在量产发布前通常需在硬件在环台架中完成功能验证,测试人员...
功能测试脚本生成方法、装置、设备、介质及产品与流程

本技术涉及车辆测试,特别涉及一种功能测试脚本生成方法、装置、设备、介质及产品。

背景技术:

1、电子控制单元在量产发布前通常需在硬件在环台架中完成功能验证,测试人员依据功能需求编制测试脚本,通过台架接口完成供电控制、信号注入、状态观测与结果判定等操作。

2、相关技术中,从节点库构建测试行为树并转换为测试脚本,然而测试行为树的节点配置与台架接口实际提供的可调用原语之间的对应关系仍需由测试人员手动建立,测试步骤与台架原语的粒度差异导致生成过程中存在人工介入断层。该断层导致脚本生成效率受限于人工翻译,且生成结果依赖个人经验,造成调试反复、覆盖受限以及质量波动。

技术实现思路

1、本技术提供一种功能测试脚本生成方法、装置、设备、介质及产品,以解决相关技术中测试步骤与台架原语粒度差异,导致生成过程中存在人工介入断层等问题。

2、本技术第一方面实施例提供一种功能测试脚本生成方法,包括以下步骤:获取目标测试台架的测试激励原语集,根据测试激励原语集构建原语知识库,其中,测试激励原语集中测试激励原语表示功能测试脚本中被调用以驱动目标测试台架的函数;获取被测电子控制单元的功能需求集、源代码和配置数据,根据功能需求集、源代码和配置数据生成增强需求集,其中,功能需求集中原始功能需求文本为被测电子控制单元中待测试功能的自然语言描述,增强需求集中包括多个增强功能需求文本;根据增强需求集和原语知识库生成被测电子控制单元的功能测试脚本,目标测试台架利用功能测试脚本对被测电子控制单元进行测试。

3、可选地,功能测试脚本生成方法源代码遵循汽车开放系统架构的分层规范,配置数据包括诊断故障码、时序与延迟约束、参数范围、目标测试台架的硬件输入输出映射、被控对象模型参数与故障注入配置的多个。

4、可选地,根据测试激励原语集构建原语知识库,包括:提取测试激励原语集中的每条测试激励原语;获取每条测试激励原语的功能描述、目标测试台架输入输出参数的语法与语义、使用模式和属性访问路径,根据功能描述、语法与语义、使用模式和属性访问路径生成记录数组;将记录数组作为测试激励原语的知识记录;根据每条测试激励原语的知识记录生成原语知识库。

5、可选地,在获取每条测试激励原语的功能描述、目标测试台架输入输出参数的语法与语义、使用模式和属性访问路径之前,还包括:若识别属性访问路径为提供结构化接口文档的目标测试台架,则从结构化接口文档中提取功能描述、语法与语义和使用模式;若识别属性访问路径为提供接口源码的目标测试台架,则从接口源码提取接口层入口函数集,根据接口层入口函数集生成函数摘要,从函数摘要生成的上下文数据中提取功能描述、语法与语义和使用模式。

6、可选地,根据接口层入口函数集生成函数摘要,包括:将接口层入口函数集中全部入口函数作为可调用原语;根据功能测试脚本可达的可调用原语生成代码闭包;根据代码闭包、抽象语法树、控制流图与程序依赖图生成代码属性图,根据代码属性图中调用者与被调用者关系生成代码调用图;识别代码调用图中每个入口函数的签名、源文件路径、行号与所用宏,根据每个入口函数的签名、源文件路径、行号与所用宏生成元数据,根据元数据生成函数摘要。

7、可选地,根据功能需求集、源代码和配置数据生成增强需求集,包括:根据源代码生成需求点语料,从需求点语料选择多个目标需求点;根据多个目标需求点和配置数据生成多个增强功能需求文本;根据多个增强功能需求文本生成增强需求集。

8、可选地,根据源代码生成需求点语料,包括:将源代码按照模块入口进行切分;根据切分结果生成模块调用图与分层语义摘要;根据模块调用图与分层语义摘要生成需求点语料。

9、可选地,从需求点语料选择多个目标需求点,包括:提取需求点语料中每个原始需求点;计算功能需求集中原始功能需求文本和原始需求点的相似度;根据相似度从需求点语料的原始需求点中选择多个候选需求点;获取每个候选需求点的完备度和置信度,根据完备度和置信度从多个候选需求点中确定多个目标需求点。

10、可选地,根据增强需求集和原语知识库生成被测电子控制单元的功能测试脚本,包括:根据增强需求集生成多个测试步骤;将多个测试步骤表示为行为树,利用原语知识库对行为树施加约束;基于施加约束后的行为树生成功能测试脚本。

11、可选地,行为树的约束包括原语约束、参数约束和表达式约束,其中,原语约束包括每个动作节点的函数名可解析到原语知识库中测试激励原语的记录,参数约束包括每个动作节点的实际参数符合原语知识库中测试激励原语的参数定义,表达式约束包括条件节点与循环节点中的逻辑被限制为安全子集,安全子集包括比较运算、布尔运算、算术运算与括号的至少一个。

12、本技术第二方面实施例提供一种功能测试脚本生成装置,包括:构建模块,用于获取目标测试台架的测试激励原语集,根据测试激励原语集构建原语知识库,其中,测试激励原语集中测试激励原语表示功能测试脚本中被调用以驱动目标测试台架的函数;增强模块,用于获取被测电子控制单元的功能需求集、源代码和配置数据,根据功能需求集、源代码和配置数据生成增强需求集,其中,功能需求集中原始功能需求文本为被测电子控制单元中待测试功能的自然语言描述,增强需求集中包括多个增强功能需求文本;生成模块,用于根据增强需求集和原语知识库生成被测电子控制单元的功能测试脚本,目标测试台架利用功能测试脚本对被测电子控制单元进行测试。

13、本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序,以实现如上述实施例的功能测试脚本生成方法。

14、本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例的功能测试脚本生成方法。

15、本技术第五方面实施例提供一种计算机程序产品,计算机程序被执行时,以用于实现如上述实施例的功能测试脚本生成方法。

16、由此,本技术包括如下有益效果:

17、本技术通过获取目标测试台架的测试激励原语集并构建原语知识库,为后续生成环节提供了可供调用的原语记录来源,避免了因台架接口差异导致生成脚本调用不存在的接口或误用参数的情形;通过获取被测电子控制单元的功能需求集、源代码和配置数据并生成增强需求集,将原始的自然语言需求转化为包含增强信息的结构化需求描述,为后续生成环节提供了更完整的测试上下文;通过根据增强需求集和原语知识库生成功能测试脚本,将增强后的需求描述与原语记录来源相结合,使从需求描述到可执行原语调用的转换路径得以自动完成,由此使行为树的节点配置与台架接口提供的可调用原语之间的对应关系在生成过程中自动建立,测试步骤得以自动分解为连续的原语调用序列,消除了相关技术中测试步骤与台架原语粒度差异所导致的人工介入断层,实现了端到端的自动化测试脚本生成。

18、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。