基于知识图谱的硬件在环测试用例复用方法研究

2023-12-07 18:32龙鲜菊王骏王伟梁玮
汽车与驾驶维修(维修版) 2023年11期
关键词:知识图谱

龙鲜菊 王骏 王伟 梁玮

摘要:硬件在环测试是整车开发过程中不可缺少的一环,是在交付用户前对整车质量的检查和保证。由于硬件在环测试用例的数量上千条,设计测试用例非常耗时。为了减少测试用例设计时间,提高硬件在环测试效率,本文提出一种基于知识图谱的硬件在环测试用例复用方法,通过使用已有项目的测试用例建立一个测试用例库,根据测试用例库构建知识图谱检索模型,对新建测试用例进行关键字匹配,筛选出所需要的测试用例,进行测试用例重用。再通过模型匹配和检索,根据整车控制器的功能规范,对复用的测试用例进行验证。实践表明,该方法能够提高硬件在环测试用例的开发效率和测试用例复用率,平均用例复用率达到了74%,测试用例设计开发时间累计节约73%。

关键词:知识图谱;检索模型;硬件在环;测试用例复用

中图分类号:U469.72 文献标识码:A

0 引言

硬件在环(Hardware-in-the-Loop,简称HIL)是通过建立MATLAB 或Simulink 仿真模型来模拟测试对象,并对测试对象进行系统层级的半实物半仿真的测试。在整车开发周期中,对控制器直接进行实车测试存在很大的安全隐患,且成本高。因此很多主机厂在实车测试之前会要求进行硬件在环测试,进一步对整车控制器的功能和性能进行验证。HIL 测试已经成为ECU 开发流程中非常重要的一环[1-2]。

HIL 测试过程中,由于测试对象是控制器,功能种类繁多,测试用例开发工作任务繁重,相同功能的控制器在不同车型上又表现出不同的功能,这就需要大量功能相同的测试用例。为了减少测试用例开发的工作量,重复利用测试用例可以提高测试效率[3-4]。但是,测试工程师如何对测试用例进行重复利用又是一个重要的问题。

钱忠胜等对程序测试代码进行分析,提出相似测试用例程序可用关键字流图的程序[5]。李昊等以现有雷达软件测试本体关系模型,基于识图谱构建了雷达软件测试用例方法[6],该方法复用性强,但有局限性,无法应用于其他类型测试的测试用例。万进勇基于Bert 语言模型,针对文本相似度实现用例复用[7],对于较大的需求文档提取关键字消耗时间较长,在提高测试效率方面不高。余祥等建立相似度量模型解决测试用例库中有效用例缺乏的问题,改进的K 最邻近算为基础,并设计了检索测试用例算法[8]。

目前,对用例复用的研究还较少,大多是通过研究测试用例的设计方法来更快速地开发测试用例。且大部分测试用例的复用都是针对软件测试设计,关于硬件在环测试用例的复用研究成果目前还很缺乏。因此,为了解决以上叙述的问题,本文提出了一种基于知识图谱的硬件在环测试用例复用方法。利用知识图谱算法,通过建立测试用例库和关键字搜索模型,匹配所需要的测试用例,进行硬件在环的测试用例重用。

1 测试用例复用与知识图谱

1.1 测试用例

测试用例是测试过程中的最小单元实体,是为实现特定目的而设计的一组包含测试输入输出、执行条件和预期结果等的数据。硬件在环测试是一种黑盒测试技术,要进行测试用例复用研究,首先应了解硬件在环测试用例的设计方法。目前黑盒测试的测试用例设计方法有以下幾类,包括等价类划分法、边界值分析、枚举法及场景分析法等。

(1)等价类划分法是指将输入数据作为一个集合,在该集合中,每个输入数据对检测出错误的几率都是等效,每个等价类的代表值都等于其他等价类代表值的测试结果。因此,可以将这些输入数据划分为若干组等价类,从每组等价类中取出其中一个值作为输入,就可以利用少量具有代表性的数据进行测试并得到较好的测试结果,提高测试效率。

等价类可以分为有效等价类和无效等价类。有效等价类是有输出值的输入数据;而无效等价类是有输出值的输入数据之外的数据。假如对于学生成绩,输入是一个学生的成绩,范围是0 ~ 100,其有效等价类和无效等价类划分如图1 所示,可以确定1 个有效等价类和2 个无效等价类。

(2)边界值分析方法相对于等价类划分法而言,是取稍高于最高边界值和稍低于最低边界值的一些特殊情形,主要发生在输入值或输出值的边界上,而不是发生在输入或输出的范围内部。因此,使用边界值分析方法设计测试用例时,首先要确定边界值。通过输入输出等价类的边界就是测试的边界,应当选取等于、介于大于或小于边界的值作为测试输入。

(3)枚举法是穷举各输入变量的全部可能取值并进行排列组合,适用于输入变量少且均为可枚举的功能。该方法优点是覆盖度高,简单易行,缺点是用例数量大,易产生冗余或无意义用例。

(4)场景分析法是指根据用户场景来模拟用户的操作步骤,模拟不同用户在不同的环境下可能乃至不可能进行的操作。测试工程师站在用户的角度设计测试用例,可以生动描绘事件触发时的情景,使测试更全面、更完整地执行。场景分析方法通常是在系统测试、验收测试阶段使用。

1.2 测试用例复用研究

通过对测试用例进行修改适配,或直接调用用于被测对象的测试过程称为测试用例复用。硬件在环测试用例复用主要包含有软件、硬件及测试环境的复用,测试用例设计方法复用、执行策略和测试流程均为测试用例复用的重要组成部分。一个良好的测试用例模型可通过重复使用以及不断优化,使得测试效率、结果准确性不断提高。硬件在环测试属于一种黑盒测试,只关注测试对象外部功能的实现,不看内部逻辑。因此,本文选取的测试对象是硬件在环测试,该测试对测试用例有如下要求。

(1)通用性。指在测试过程中不过分依赖测试环境,对测试用例不经修改或稍加修改,就可以在同类控制器中广泛使用。

(2)有效性。指设计的测试用例输入数据有效,能够顺利执行并有对应的输出值,同时还有发现被测对象缺陷的可能。

(3)独立性。指各测试用例之间不存在依赖关系,各自独立。即能够单独在测试环境中执行测试,与运行的环境和其他测试用例的执行结果状态无关。

(4)易用性。要求设计的测试用例易于理解,可灵活检索和获取,方便测试人员使用。

2 硬件在环测试用例复用模型构建

2.1 知识图谱概述

知识图谱在本质上是一种语义网络,主要是将一些学科技术理论(如可视化技术、图形技术、数学技术和信息科学技术等)与实践方法结合,通过不同的图形显示发展进程与结构关系,以及运用可视化技术将知识资源及其载体,通过挖掘、分析、构建、回执和显示各种知识及它们之间的相互联系。知识图谱可以应用于智能搜索、文本分析、机器阅读理解、异常监控和风险控制等,它可以帮助企业构建行业图谱,摆脱原始的人工输入,实现智能化和自动化。

现今在很多专业领域中能看到知识图谱技术的广泛应用。在软件工程领域中,主要应用于构建知识管理库、设计和开发工程项目库以及构建软件检索库等。为了弥补测试管理工具的不足,使测试用例库得到有效管理,需要进一步优化测试用例的复用检索,提高测试用例的利用率。本文在硬件在环测试用例复用设计过程中,引入知识图谱技术来进行研究。

2.2 构建知识图谱模型

本文构建的基于知识图谱的硬件在环测试用例复用模型属于软件测试知识领域。其以测试用例复用为核心,采用属性图构建本体关系模型(图2)。不同的控制器可以建立相关的本体关系模型,被测对象运行于硬件在环,将被测控制器的功能需求分解为若干关键测试项,使用等价类划分法、边界值分析法和因果分析法等设计测试用例。

本体关系模型是将测试对象的历史缺陷与其对应的测试用例执行建立一种属性关联,通过测试得到被测对象缺陷的激发条件,记录缺陷发生时输出故障的表现形式,然后得到相对独立的被测对象的FMEA 数据。基于知识图谱的硬件在环测试用例是将测试用例中的有关知识和数据库中的测试用例,通过图形可视化的复杂语义形式进行存储和冲洗,以方便测试工程师从“关系”可视化的角度去访问知识图谱。

知识图谱在简单和复杂的项目中运用有所不同,本文基于硬件在环构建的知识图谱基本框架包含5 个层级(图3)。第一层级为原始数据,即硬件在环测试用例库;第二层级为知识抽取,包括功能需求、测试用例等关键字抽取、测试实体属性抽取和实测实体间关系抽取;第三层级则进行知识融合,通过构建测试本体与计算测试实体对齐;第四层级是进行知识加工,通过构建Neo4j 图形数据库进行关系推理、质量评估和知识更新;第五层级为知识应用,可将本框架应用于图谱浏览、质量分析、风险分析和智能检索。在此基础上,通过不断补充已有测试知识的质量和应用效果,以图形化人机交互界面的形式在知识应用层实现知识检索与质量数据统计分析。

2.3 硬件在环测试用例复用设计

测试人员为满足硬件在环测试用例的复用,通过检索测试用例相似功能需求时间的覆盖与追溯的关系[9]。当测试用例库中大量的程序可供选择时,需要在其中进行筛选,择优处理。本文应用知识图谱技术进行关系网络解析,采用知识融合中计算测试实体对齐自动化处理这一过程,构建以功能需求和测试用例为核心,包括被测控制器功能需求和控制器实体关联的知识图谱。知识图谱在关系网络分析上,获取实体最优的检索匹配结果。基于知识图谱的硬件在环测试用例复用检索模型如图4 所示。

硬件在环测试用例复用检索模型的优势,是可以快速搭建适合于特定场景的测试用例和测试质量管理平台。除此之外,还可开展相关用例的智能检索、质量评估、缺陷预测和效融合测试关联信息等诸多扩展研究。该检索模型在硬件在环测试过程中,可为测试质量管理决策分析提供依据,并为测试过程的改进提供数据基础。

3 测试验证与分析

本文选取了3 个控制器的历史测试用例作为数据输入,在Visual Studio 2019 中运行項目,跳转到图5 所示模型检索应用界面。点击“导入需求文档”按钮,显示文档名称在文本框中;点击“知识检索”按钮,软件根据算法检索出功能需求文档的关键字并显示出来;点击“知识匹配”按钮,经过运行算法显示测试用例复用结果;最后点击按钮“下载测试用例”,可以将匹配的测试用例以Excel 形式导出到本地。

各测试项目的主要实体数量和测试验证结果如表1 所示。根据历史数据,测试用例开发速度为300 条/ 天。通过本文的测试用例复用方法,平均时间节约率和平均复用率分别为:

时间节约率= 节约时间/ 用例开发时间

=(4+8+3)/(3+6+2)=73%

平均复用率= 匹配测试用例数/ 测试用例=74.48%

4 结束语

本文基于知识图谱设计了一种硬件在环测试用例复用的方法,用大量已有的历史相关测试数据建立基于知识图谱的硬件在环测试用例模型,并将其用到控制器的功能测试,得到以下结论。

(1)知识实体匹配技术可提高硬件在环测试用例检索的效率,同时减少测试用例开发过程中出现的错误,更好地发挥出敏捷测试的优势。

(2)通过设计3 个测试项目验证基于知识图谱的硬件在环测试用例复用方法,进行了测试用例复用情况统计。结果表明,该模型的平均复用率达到了74%,累计节约73% 的测试用例设计开发周期。

【参考文献】

[1] 刘江波, 杨发松, 孙涛. 整车多ECU 系统HIL 测试与分析[J]. 农业装备与车辆工程,2018,56(08):89-92.

[2] 刘帝平. 硬件在环测试在纯电动汽车VCU 开发中的运用[J]. 机电技术,2013,36(01):93-96.

[3] 尹平. 可复用测试用例研究[J]. 计算机应用,2010,30(05):1309-1311+1355.

[4] 楼芳, 李亮, 贺志强. 基于本体的渗透测试用例复用模型[J]. 计算机工程与科学,2011,33(02):23-26.

[5] 钱忠胜, 宋涛. 面向关键字流图的相似程序间测试用例的重用[J]. 软件学报,2021,32(09):2691-2712.

[6] 李昊, 柳溪. 基于知识图谱的雷达软件测试用例复用研究[J]. 测控技术,2021,40(06):18-26.

[7] 万进勇, 史涯晴, 黄松, 等. 基于Bert 的测试用例复用方法研究[J]. 软件导刊,2021,20(12):59-63.

[8] 余祥, 李强, 孙胜军. 基于TCBR 的测试用例复用方法研究[J]. 计算机工程与设计,2012,33(11):4230-4234+4313.

[9] Heiko Paulheim. Knowledge Graph Refinement: A Survey of Approachesand Evaluation Methods[J]. Semantic Web, 2016,8(3): 489-508.

作者简介:

龙鲜菊,本科,助理工程师,研究方向为汽车控制器测试。

猜你喜欢
知识图谱
国内外智库研究态势知识图谱对比分析
国内信息素养研究的知识图谱分析
国内图书馆嵌入式服务研究主题分析
国内外政府信息公开研究的脉络、流派与趋势
基于知识图谱的产业集群创新绩效可视化分析
基于知识图谱的产业集群创新绩效可视化分析
基于知识图谱的智慧教育研究热点与趋势分析
国内酒店品牌管理研究进展的可视化分析
从《ET&S》与《电化教育研究》对比分析中管窥教育技术发展
专家知识图谱构建研究