如何搭建HVAC Controller功能自动化验证环境
要测试 HVAC UNIT 单元,您需要配置环境。 配置自动化测试环境的方法有很多种,但是搭建环境和执行验证大体相似,下面就让我们分阶段来看看如何搭建一个HVAC HILS基础验证环境。
① 为建立 HVAC 单元单机自动化环境,在 Simulator 中配置执行器数量、传感器数量、各种类型阀门数量、风机电机类型(BLDC、集成 PWM、FET 等)的输出环境.
② 参考 HVAC 单元管脚图,制作连接器并执行连接模拟器所需的接线。
③ 使用 Vector CANoe 或 PEAK-CAN Explorer 和 *.DBC 和 *.LDF 文件配置 CAN/LIN 通信环境。
④ 最后,如<图1>所示,构建了可以在PC、Test Simulation Box、HVAC unit等,监控或控制输入/输出的软件和工具。
<图1>自动化环境的构建
基于需求规范的测试用例编写方法
一般来说,当我们想到验证HVAC Controller时,我们往往会想到只根据一个简单的按钮输入进行操作。 但是,每个按钮的功能还不到总规格的 5%。 换句话说,不仅有很多用户可以感觉到的逻辑,也有执行用户感觉不到的细微操作的逻辑。
只有当设计的测试用例的预期结果以及测试的执行准确时,验证的结果才能被信任。 如果编写测试用例时预期的结果不符,那么测试结果就不正确,验证结果不可信是理所当然的事实。
在编写 HVAC 测试用例时,了解规范对于提高预期结果的准确性很重要,但也有必要整理 AUTO 操作的空调控制方程。 应根据需求规范实现单独的算术表达式,并用于得出预期结果。
例如,如果您输入汽车内部/外部的温度,则根据当前温度值计算出的输出值用于创建预期结果,例如室内/室外空气、鼓风机强度、A/C On/Off 等。当然,仅从计算公式推导出的预期结果不可能100%正确,但是需求规范的优先级和整体理解越高,可以推导出的预期结果越准确。
写好测试用例后,根据它设计一个场景。 通过以各种组合的场景形式实现每个测试用例,可以检查逻辑重叠部分的操作,例如优先级。 对于每个单独的逻辑,可以使用基于需求规范的技术编写测试用例。
首先,我们将简要介绍如何根据 HVAC 需求规范编写基于需求规范的技术测试用例。
由于HVAC的特性,为了测试DISPLAY、LED、LCD、INDICATOR等的表现,参照按键选择的ON/OFF和维护操作相关需求规范,通过状态转换测试技术推导出测试用例。
进入/退出条件的组合导致使用决策表测试技术的测试用例。 例如,如果进入条件是 AND 条件,而退出条件是 OR 条件,则它是一种将进入动作捆绑成一个动作后,逐个单独确认解除动作的方式设计测试用例的方法。
如果入口条件为①∩(②∪③),且AND条件和OR条件混合使用,则采用组合测试技术,结合入口条件设计测试用例。 满足①∩②的步骤1,满足①∩③的步骤2或满足①∩②∩③的步骤2 这样就可以根据组合为入口行为设计一个测试用例。
边界值分析包含了由HVAC特性引起的硬件问题的操作。 也就是说,有许多Table和 *Hysteresis 区间。
*Hysteresis区间是什么?
作为H/W特性,当施加电压和电阻时,该值不是保持在恒定值而是波动的。
<图2> Hysteresis区间示例
它是测试入口/出口部分边界的一项基本技术,并且在整个规范中被广泛使用,因为它可以导出测试用例来检查边界附近的缺陷。 该技术主要用于与其他技术组合来导出测试用例,而不是单独使用。
等价类划分和状态转换测试技术是与边界值分析结合使用的常用技术。
等价类划分技术结合边界值分析技术,在编写Hysteresis区间动态测试用例时,很容易推导出测试用例。 特别是在推导带有Hysteresis区间的阶梯型逻辑的情况下非常有效。
当在操作过程中根据优先级改变操作时,例如Hysteresis区间内系统关闭/开启、重启、电池安装或拆卸,可以通过结合状态转换测试技术来导出测试用例。
即等价类划分法检查与边界值之前的值的区间的操作,通过边界值分析检查边界值的操作,并使用状态转移测试方法得出优先级的案例在滞后部分重新启动车辆时的操作。
测试场景的设计(自动化脚本实现)
由于 HVAC Control 需求规范具有高优先级复杂性,因此需要检查每个逻辑的功能,然后通过组合按钮和逻辑来检查操作。
测试场景是基于实现了 100% 的基于需求规范的语法的测试用例设计的,并且可以通过更改以适合每种自动化脚本格式来使用以这种方式编写的场景。 (Execl、CAPL等)另外,非规范部分也设计为场景,进行自动化验证。
作为第一个例子,你可以把过去汽车的问题照原样使用,但可以从用户的角度设计多个场景,并根据场景进行各种测试,可能而不是每条生产线一个测试用例。 作为一个已经设计好的场景,它可以有效地用于软件分发之前的最终检查。
作为第二个示例,我们通过基于其他车型的问题以及相关车型的过去汽车问题来估计错误来得出案例和设计方案。 这也可以用于软件修改后的回归测试。
但是验证人员不能轻易推测错误代码修改可能产生影响的范围,因此如果开发人员提供修改后的代码可以具有的范围,则可能会更有效地推导用例。这可以期待由有效的验证执行时间和Side-Effect减少带来的风险降低。
从构建自动化环境到设计场景,整个过程都结束了。 除了HVAC验证外,它还可以应用于其他控制器,并且可以用于手动验证,因此可以在多个方向建立环境后使用。
结束
这篇文章的内容只是很基础的HILS搭建方法之一,在SureSoftTech,我们可以独立完成从环境搭建到测试用例编写、场景设计、测试执行、问题管理、结果报告的所有流程。
感谢大家的关心和关注。