时间:2024-07-28
杨 薇,曹春芳,姚素娟,申晓彦,姜晓博,闫云艳
(中国北方发动机研究所(天津),天津 300400)
随着柴油机电子控制系统的快速发展,软件逐步成为柴油机的核心,其复杂程度也大幅增加。其典型的表现是需求数量激增,需求之间的控制耦合、数据耦合关系复杂。软件测试作为保证需求完整并正确传递至设计和编码人员、提高软件质量和可靠性的重要手段,逐渐成为研究的热点。
为了提早发现尽可能多的不确定性因素和设计缺陷、降低项目后期风险,需要转变开发完成后才开展软件测试的工作方式,全面分析柴油机控制要求,逐步梳理影响软件质量的正确性、健壮性、安全性等因素,有计划、分步骤地开展测试工作。柴油机电控系统软件根据柴油机的实际运行工况,控制喷油定时和喷油量,对柴油机及车辆的可靠工作起着至关重要的作用。本文从仿真测试环境搭建、测试用例设计和复用方法等方面,对柴油机控制软件的测试方法进行了研究。所设计的用例可有效检验输入/输出信息,以及电控系统功能、性能指标是否符合需求规格说明书的要求。
软件测试环境是开展测试用例设计的前提,为软件测试工作的有效开展提供了根本保证。柴油机电控系统软件的突出特点在于其运行环境(目标机环境)和开发环境(宿主机环境)的不一致。因此,在进行配置项测试时,首先要搭建模拟测试环境[1]。控制软件动态测试环境如图1所示。
图1 控制软件动态测试环境
本文所述的柴油机电控软件测试工作基于Dspace半实物仿真测试平台开展[2],用于发现程序中功能错误/遗漏、接口错误和性能错误等问题。
该环境以基于模型的半实物仿真方法为核心,利用发动机各个部分的数学模型代替发动机本体,输出发动机运行的转速、油门踏板和环境变量等模拟信息。对Dspace硬件在回路仿真测试平台进行功能和接口分析后,将仿真系统提供的I/O硬件接口与柴油机控制器连接,从而实现对柴油机控制软件的动态测试,有效降低台架试验、试车的工作量和事故风险[3]。
柴油机电控软件仿真测试过程框图如图2所示。
图2 柴油机电控软件仿真测试过程框图
测试过程主要包括测试需求分析、测试策划、测试用例设计、测试执行、测试总结五个部分[4]。各部分主要工作内容如下。
①测试需求分析。分析柴油机电控系统需要测试的内容,确保每一项被测内容都满足研制任务书、合同的要求。
②测试策划。安排软件测试需要的人、时间、工具与环境,并评估进度、分析风险等内容。
③测试用例设计。根据测试需求分析的结果,设计正常、异常的用例,验证各个测试需求点的实现是否满足要求。
④测试执行。在仿真测试环境下执行测试用例,实施对各类正常、异常状态的测试以及故障注入的测试,发现系统问题、记录测试结果,并对测试用例是否通过进行分析。
⑤测试总结。对前期的测试活动进行总结,编制测试报告。
经过上述测试,尽可能发现隐藏的问题、并充分验证柴油机电控系统的功能、性能、余量、接口、可靠性、安全性等特性,为电控系统提供强有力的质量保障。
测试用例通常是指对一项特定的软件产品进行测试,用于体现测试方案、方法、技术和策略[5]。软件测试用例的设计是测试活动中的重要工作,是保证测试全面性和有效性的基础,可用于评价测试工作对需求的覆盖程度。
设计柴油机电控软件测试用例,首先要分析电控软件的设计需求。通常,电控软件可进一步划分为采集、状态检测、发动机保护、数据记录和总线通信等功能模块。通过识别上述功能模块控制需求,分析各模块的功能、性能等特点,以划分等价类或分析控制状态间的转换关系的方式,从而设计电控软件运行的基本测试用例。然后,针对柴油机电控系统运行的边界、极限条件,补充设计测试用例。柴油机电控软件对可靠性的要求很高,因此在验证软件正确性的基础上,还需开展可靠性测试和安全性测试[6]。这就要针对软件运行的故障状态处理、软件容错性、冗余性设计需求,进行软件运行异常测试用例的设计。最后,要分析软件的动态响应需求,修改并完善测试用例的评价指标,或补充新的测试用例[7]。柴油机电控系统软件测试用例的设计策略如图3所示。
图3 测试用例的设计策略
以柴油机运行状态喷油量控制为例,喷油量控制策略如图4所示。柴油机电控软件首先根据柴油机运行油门位置和平均转速信息,通过查油量确定目标喷油量基本值,结合进气温度、进气压力和冷却水温对基本油量进行修正,得到的结果与当前转速下的最大喷油量作比较,较小的值即为最终喷油量[8-11]。
图4 喷油量控制策略
在设计喷油量控制功能的测试用例时,首先对控制逻辑进行分析,设计转速和踏板输入状态正常时和处于边界时喷射功能的正常测试用例。然后对程序运行的异常状态进行识别和分析,同时测试系统对于转速传感器故障、踏板故障状态的容错处理能力。喷油量控制测试用例设计思路如表1所示。该设计可较好地实现对喷油量控制策略需求的全覆盖[12]。
表1 喷油量控制测试用例设计
测试用例参数自动匹配方法如图5所示。
图5 测试用例参数自动匹配方法
各种类型的柴油机电控系统,具有产品特性相似、总体设计需求明确、开发过程相通等特点。因此,可通过建立底层测试用例数据库和顶层管理系统的方法,实现测试用例的良好复用。
底层测试用例数据库主要用于实现基础测试用例的存储,根据各类型电控系统设计以及软件测试工作的开展,不断扩充和完善[13]。顶层管理系统主要用于实现底层测试用例库的访问以及测试项和测试用例的匹配。对于柴油机电控系统,分析整理柴油机电控软件测试用例的特征参数后,在设计测试用例时充分考虑用例的通用性。后续项目可通过测试用例参数匹配的方法实现用例的复用,进而有效减少测试用例的设计时间[14-15]。
本文对柴油机电控软件测试的方法进行了探讨。柴油机电控软件作为强实时性的嵌入式软件,具有实时性、复杂性、硬件依赖性等特点[16]。针对其设计的用例实现了需求的全覆盖。经过在多个项目中的应用实践,在台架试验前发现了多项软件缺陷。由此证明,软件测试用例设计切实有效,能够测试电控软件的功能、性能、执行强度、安全性和可靠性是否达到要求,保证软件需求正确地落实到设计和编码,使软件质量和可靠性稳步提高。同时,本文提出了一种测试用例参数自动匹配方法,所设计的测试用例具有良好的可复用性,形成组织资产库后,可大大减少软件测试设计的时间,提高研发效率,缩短研制周期,实现软件测试工作的精益管理。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!