如何搭建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,我们可以独立完成从环境搭建到测试用例编写、场景设计、测试执行、问题管理、结果报告的所有流程。

感谢大家的关心和关注。

汽车HVAC(空调系统)验证自动化场景设计相关推荐

  1. 阿里巴巴在应用性能测试场景设计和实现上的实践

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yunqiinsight/article ...

  2. 三. 自动化测试用例设计

    1.  主要内容:   2.  手工测试用例与自动化测试用例区别 目前自动化测试更多的时候是定位在冒烟测试和回归测试: 冒烟测试执行的是主体功能点的用例. 回归测试执行全部或部分的测试用例. 3.  ...

  3. 自动化测试用例设计原则(接口自动化用例设计的基本原则)

    自动化测试用例设计原则: 1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器. 2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统 3.尽量只做 ...

  4. 自动化测试用例设计原则(转)

    内容摘自:http://www.cnblogs.com/jshtest/p/6362677.html 一.自动化测试存在的真正意义: 主要用来保证产品主体功能正确完整和让测试人员从繁琐重复的工作中解脱 ...

  5. 自动化测试用例设计(四)自动化测试用例设计实例

    自动化测试用例设计(四)自动化测试用例设计实例 编写自动化测试用例的原则: 1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器. 2.一个脚本脚本只验证一个功能点,不要试图用户登陆系 ...

  6. Sketchup插件Vray户外场景设计渲染教程 Vray Next For Sketchup Exterior

    Sketchup户外场景设计的Vray Next 你会学到什么 渲染白天和夜晚场景 后期制作 Sketchup的Vray Next 中级sketchup用户 大小解压后:3.83G 1280X720 ...

  7. loadrunner 场景设计-负载生成器管理

    场景设计-负载生成器管理 by:授客 QQ:1033553122 1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器 ...

  8. 【浅谈】我所理解的游戏场景设计:身临其境

    今天看了一篇关于场景设计的文章,让我比较有感触,于是也想谈一谈自己对它的理解.我认为场景设计不好被单独拿出来讨论,它牵涉到游戏设计中的很多内容,下面先从"场景设计"聊起. 场景是至 ...

  9. 性能测试场景设计方法(教科书版)

    其实如何设计性能测试场景是非常复杂的艺术,巴特(but),性能测试这个领域有个教科书一样的场景设计方法,笔者曾经带领团队参加中国合格评定国家实验室认可委员举办的软件效率能力验证,最终被评定为性能测试能 ...

最新文章

  1. 《黑客与画家》读后感:你对技术一无所知(一些金句)
  2. 每日一皮:程序员穿着图解析
  3. 剑指offer--面试题12
  4. 堆叠柱形图上自定义数字_用Excel绘制Cell上的漂亮配图
  5. LeetCode 873. 最长的斐波那契子序列的长度(动态规划)
  6. jeecg 数据修改历史日志对比方法
  7. php curl详解用法[真的详解]
  8. 适用于SQL Server的DBATools PowerShell模块
  9. python中的进程池:multiprocessing.Pool()
  10. hashmap浅析-get方法
  11. diff 比较文件异同命令
  12. ListView控件商城列表
  13. 西门子G120C变频器中的参考速度+转速给定原理分析
  14. 系统论重要模型_笔记
  15. c语言-计算摄氏温度
  16. 投屏电脑怎么操作?投屏电脑最常用的4种方式
  17. C++11 ThreadPool总结
  18. 【QT】Qtcreator常用快捷键
  19. VC驿站黑客编程(关机,重启,注销)
  20. 专业名词解释 - DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV 记录,TTL

热门文章

  1. TCPDUMP使用及分析
  2. 更新DOTA2显示无法连接到更新服务器,9月26日DOTA2无法正常更新问题公告
  3. 云计算有什么用?云计算的应用领域有多大?
  4. 巧妙利用二分查找:力扣1095. 山脉数组中查找目标值
  5. Java Big EndianLittle Endian
  6. c++学习笔记day03
  7. 南水北调新进展: 引江补汉工程加快做好开工准备
  8. 【转】何谓智能视频监控技术与应用
  9. 【转】当你 林俊杰 歌曲链接(支持QQ空间)
  10. 阅读类App原型制作分享-Book Amigo