0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用TPT完成Stateflow动态测试

北汇信息POLELINK 2022-08-01 14:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为美国MathWorks公司的知名产品,Stateflow具有软件架构清晰、模型复杂度低、可读性和可维护性强等优势,因此被大量应用于设计有关监控、任务调度以及故障管理应程序的逻辑,在汽车电控领域也有着非常广泛的应用。

基于支持客户的Stateflow测试经验,北汇信息总结了一套针对Stateflow的具有普适性的测试方法。下面就以Fan Management单元模块的动态测试为例,和大家一起分享。

被测模型

poYBAGLnO_-ANwuWAABv65y4BEE758.png

Fan Management单元模块

Fan Management单元模块通过VPM(整车高低压状态)、FanErr(风扇故障)、FanTemp(风扇温度)信号,对FanEn(风扇使能)、FanErrBack(风扇故障反馈)信号进行计算。

那么,当拿到这样一个单元模型和功能需求描述,应该如何去开展我们的动态测试工作呢?首先,为了防止在测试过程中深陷到Stateflow错综复杂的跳转逻辑中无法自拔,应该明确我们的测试思路。

围点打援 中心开花

其实无论多复杂的Stateflow模型,其基本组成都可拆分为初始状态、跳转条件和目标状态三个部分。正是基于这样的基本结构,我们建立了“围点打援”的测试思路。

  • 围点:控制Stateflow跳入初始状态
  • 打援:针对跳出初始状态的跳转路径进行用例编写
  • 中心开花:最终实现以初始状态为中心,向四周辐射的MCDC覆盖
  • 假设以Normal状态最为初始状态:
  • 围点:以Normal为初始状态
  • 打援:① Normal跳转至Off_Err

② Normal跳转至 On_OverTemp

pYYBAGLnPEmAHsBEAAD_vLwIuok328.png

围点与打援

测试用例编写方法

当确定好测试思路之后,下面就正式的搭建测试工程。这里,我们搭建测试工程用的是一款自动化的软件动态测试工具——TPT

围点:控制Stateflow跳转至初始状态

在进入初始状态的过程中,并不需要考虑MCDC覆盖度的要求。因此,只需要控制信号按照最短的路径进入到初始状态即可。

以Normal作为初始状态为例,直接使VPM = 8,跳入Normal状态。由于每次状态跳转会占用一个步长,我们给入足够的等待时间保证状态跳转至初始状态。

pYYBAGLnPIWASVE0AAAvlDVLIBM801.png

进入Normal状态

pYYBAGLnPJKAdM6bAACkJDeOtUs326.png

按照以上的搭建方法,分别对模型中的5个功能状态搭建了测试用例,并按照模型中的状态块名称对用例进行了命名。

poYBAGLnPKSAb2DdAADcNpFoHMc343.png

初始状态

由于这5个初始状态在后面测试用例搭建的过程中需要多次调用,TPT可以将编写好的测试用例进行封装,生成Variants,在搭建测试用例的过程中直接选择想要的状态即可。这会大大提升测试用例的搭建效率。

poYBAGLnPLWAFhRRAACOXk-Ng3Q721.png

以Variants形式存在的初始状态

打援:给入状态跳转条件信号

按照OriginalState分组封装的思路,将模型中的跳转条件也进行了Variants的搭建。这里针对信号Variants的划分会用到在测试过程中常用到的一种方法:等价类划分

按照测试中常用的等价类划分方法,对Fan Management单元模型中的输入信号进行了等价类的划分:

Bool类型:true、false

有明确功能对应关系的信号:

高低压状态(VPM_st):8、9、(!(8 or 9))取等价类3

风扇故障(FanErr)信号:0(无故障)、1(有故障)

有明确功能阈值的信号:

风扇工作温度(FanTemp):≥90(取等价类100)、≤85(取等价类50)

划分好跳转条件上信号的等价类之后,为了方便复用,同样在TPT中搭建了相应的Variants。

poYBAGLnPUGAbSThAADPQ5LrxSM384.png

以Variants形式存在的跳转条件

当OrigianlState和ObjState上的Variants都搭建好之后,接下来就是选择需要的Variants,让他们组合成我们想要的测试用例。为了减少用例运行过程中的资源占用情况,在用例的末尾加了一个300ms的最大跳出时间限制。

poYBAGLnPU6AJakxAADlnvM2was360.png

测试用例

pYYBAGLnPVyAK6ycAAHiR9cQiH4516.png

当然,TPT本着“万物皆Variants”的原则,测试用例中States的跳转条件也可以封装成Variants,便于我们的复用。

poYBAGLnPWuADo68AAB7VGbE6h4030.png

跳转条件的Variants

在运行用例的时候,TPT可以调用Simulink的V&V工具箱对模型的覆盖度进行统计分析。我们可以方便的查看MCDC覆盖度是否实现了“中心开花”的效果:以初始状态为中心,跳出初始状态的条件实现MCDC全覆盖。这样可以大大减少我们在为了满足MCDC覆盖度去补充测试用例的工作量。

pYYBAGLnPX6AOxt7AACuNS4V_Rw887.png

结构覆盖度统计结果

在这个过程中,TPT还可以进行一些测试用例分组管理、测试需求管理、设置测试用例属性信息的工作,篇幅所限,这里就不给大家详述了。

一招从天而降的掌法--测试用例自动生成

在搭建测试工程的过程中,有没有一种能减轻测试工程师的工作量,自动生成测试用例的方案呢?

为了提升大家的测试效率,TPT也提供了多种自动生成测试用例的方法。当我们搭建出OriginalState和ObjState的Variants之后,只需要动动手指,TPT就能自动生成我们想要的测试用例。

pYYBAGLnPZCAHtV_AAF1U2rI_SA224.png

并且,在保证测试用例数量可控的前提下,自动生成的用例MCDC覆盖度达到了100%!

poYBAGLnPaGALzBQAABJDZg0mrI641.png

在我们的测试过程中,巧妙的利用TPT提供的自动生成测试用例的方法,能够大大较少测试工程师的重复性劳动,实现真正意义的自动化测试。

关于评估

用例搭建完成之后,我们还需要搭建测试评估,这里就可以利用TPT强大的脚本评估去实现。TPT的脚本评估使我们彻底摆脱了传统时间域上的评估,转向了复用性、自适应性更强的逻辑评估方式,同时也便于我们对模型和测试工程的debug。

对于Stateflow的评估,我们同样采用了“围点打援”的思路,先用正则表达式regexp定位至Normal状态,然后筛选出高压故障区间进行评估。

poYBAGLnPbSAXBUeAADx3_iOhjA070.png

Normal跳转至Off_Err评估脚本

篇幅所限,这里只给大家介绍了一个简单Stateflow模型的测试方法,对于多层嵌套、含调度模块、复杂跳转条件、延迟逻辑等复杂模型,都可以在此基础上进行扩展。如果大家测试过程中存在疑问,欢迎留言评论哦。

PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。

北汇信息作为PikeTec在中国的独家合作伙伴,致力于帮助中国客户提升嵌入式控制系统的开发效率。目前,TPT已被众多国内知名主机厂和零部件企业认可,在新能源(VCU/BMS/MCU)以及ADAS等领域中被广泛应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TPT
    TPT
    +关注

    关注

    0

    文章

    25

    浏览量

    7541
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    知识分享 | 如何通过建模规范轻松掌控Stateflow开发

    Stateflow为用户提供了强大的建模功能,但如果使用不当,也可能带来风险。通过使用MXAM,遵循这些最佳实践,可以构建稳健、高效且易于维护的Stateflow模型,并实现与Simulink和TargetLink的无缝集成。
    的头像 发表于 03-26 14:27 1342次阅读
    知识分享 | 如何通过建模规范轻松掌控<b class='flag-5'>Stateflow</b>开发

    柯力传感战略投资中科动态,高端力学测试设备国产化进程加速

    国内智能传感领域龙头企业宁波柯力传感科技股份有限公司(股票代码:603662)近日完成对高端力学测试设备创新企业中科动态的战略增资。此次合作是传感行业龙头与技术驱动型企业的一次深度联动,旨在共同推动
    的头像 发表于 02-03 19:17 251次阅读

    直流电子负载:动态测试瞬态响应性能

    在服务器CPU瞬间睿频、新能源汽车电机急加减速、通信基站射频功放间歇发射等真实场景中,电源必须在微秒级时间内完成大电流切换。稳态测试无法暴露反馈环路带宽不足、输出电容ESR过大等隐患,只有借助源仪
    的头像 发表于 12-24 17:47 1761次阅读
    直流电子负载:<b class='flag-5'>动态</b><b class='flag-5'>测试</b>瞬态响应性能

    如何进行动态策略的性能测试

    动态策略的性能测试核心是 “ 量化关键指标、模拟真实负载、验证极限能力 ”,聚焦 “响应速度、功耗控制、实时性、资源占用” 四大核心维度,通过精准工具测量和场景模拟,确保策略在不同工况下性能达标
    的头像 发表于 11-13 17:55 2472次阅读
    如何进行<b class='flag-5'>动态</b>策略的性能<b class='flag-5'>测试</b>?

    基于Moku的功率器件动态参数测试系统:精准、高效、经济的一体化测试方案

    摘要随着SiC、GaN等新型功率器件的广泛应用,功率器件动态参数测试对系统响应速度、同步精度和灵活性提出了更高要求。本文基于LiquidInstruments的Moku平台,提出一种可重构、高集成度
    的头像 发表于 10-31 14:09 659次阅读
    基于Moku的功率器件<b class='flag-5'>动态</b>参数<b class='flag-5'>测试</b>系统:精准、高效、经济的一体化<b class='flag-5'>测试</b>方案

    TPT-X-2025.09 焕新上线!汽车电子测试效率再升级,解决测试痛点!

    在软件定义汽车浪潮下,汽车电子系统复杂度与日俱增,对测试工具的自动化与兼容性提出了更高要求。作为专注汽车嵌入式软件的测试工具,TPT始终紧跟技术发展趋势,持续优化自身产品。此次
    的头像 发表于 10-29 10:02 756次阅读
    <b class='flag-5'>TPT</b>-X-2025.09 焕新上线!汽车电子<b class='flag-5'>测试</b>效率再升级,解决<b class='flag-5'>测试</b>痛点!

    功率放大器测试解决方案分享——光纤水听器动态压力测试

    功率放大器测试解决方案分享——光纤水听器动态压力测试
    的头像 发表于 10-10 18:34 626次阅读
    功率放大器<b class='flag-5'>测试</b>解决方案分享——光纤水听器<b class='flag-5'>动态</b>压力<b class='flag-5'>测试</b>

    Stateflow模型测试典型问题分享——不可达的分支

    问题描述: Stateflow条件存在互斥情况,导致部分工况不可达。 造成的影响: 较多的互斥结构将无法满足ASIL C/D等级覆盖度要求,并存在安全隐患。
    的头像 发表于 09-23 16:33 741次阅读
    <b class='flag-5'>Stateflow</b>模型<b class='flag-5'>测试</b>典型问题分享——不可达的分支

    电源模块的短路保护如何通过自动化测试软件完成测试

    在当今电力电子领域,电源模块的可靠性至关重要,短路保护作为其关键特性,需通过精确的自动化测试软件进行验证。本文将整理如何借助自动化测试软件ATECLOUD完成电源模块短路保护的测试
    的头像 发表于 09-03 19:10 1012次阅读
    电源模块的短路保护如何通过自动化<b class='flag-5'>测试</b>软件<b class='flag-5'>完成</b><b class='flag-5'>测试</b>

    国际领先!思瑞浦TPT1044xQ全项测试通过IBEE/FTZ EMC认证Class-3最高等级,筑牢车载总线安全防线

    聚焦模拟和数模混合聚焦高性能模拟与数模混合产品的供应商思瑞浦3PEAK(股票代码:688536)自主研发的汽车级CAN收发器芯片TPT1044xQ成功通过欧洲权威测试机构IBEE
    的头像 发表于 09-02 15:18 1384次阅读
    国际领先!思瑞浦<b class='flag-5'>TPT</b>1044xQ全项<b class='flag-5'>测试</b>通过IBEE/FTZ EMC认证Class-3最高等级,筑牢车载总线安全防线

    利用矢量网络分析仪测试动态范围微波器件的几种方法

    利用矢量网络分析仪对微波器件进行测试时,矢量网络分析仪的测试动态范围将影响被测微波器件(DUT)的测量范围、测量精度和测量速度。只有矢量网络分析仪的测试
    的头像 发表于 08-27 17:33 1919次阅读
    利用矢量网络分析仪<b class='flag-5'>测试</b>大<b class='flag-5'>动态</b>范围微波器件的几种方法

    材料电压-电流动态特性测试解决方案

    本方案旨在为材料提供电压-电流动态特性测试解决方案。通过激励源对材料施加特定波形的电压或电流激励,使用数据采集系统采集经过材料后的电压、电流等信号变化,以此分析材料的动态特性。通过对电压和电流信号
    的头像 发表于 08-10 15:30 1859次阅读
    材料电压-电流<b class='flag-5'>动态</b>特性<b class='flag-5'>测试</b>解决方案

    模型捉虫行家MV:致力全流程模型动态测试

    动态测试通过模拟真实运行数据,对模型及生成的代码进行“全维度体检”。这一过程层层递进:从单元测试聚焦单个模块的精准性,到集成测试验证模块间的协作逻辑,最终通过
    的头像 发表于 07-09 16:37 885次阅读
    模型捉虫行家MV:致力全流程模型<b class='flag-5'>动态</b><b class='flag-5'>测试</b>

    利用普源示波器进行功率器件动态特性测试的研究

    功率器件作为电子系统中的核心元件,其动态特性直接影响着系统的效率、稳定性和可靠性。因此,对功率器件动态特性的准确测试显得尤为重要。普源示波器作为一种高性能的电子测量仪器,具有宽带宽、高采样率和大存储
    的头像 发表于 06-12 17:03 785次阅读
    利用普源示波器进行功率器件<b class='flag-5'>动态</b>特性<b class='flag-5'>测试</b>的研究

    IGBT功率模块动态测试中夹具杂散电感的影响

    在IGBT功率模块的动态测试中,夹具的杂散电感(Stray Inductance,Lσ)是影响测试结果准确性的核心因素。杂散电感由测试夹具的layout、材料及连接方式引入,会导致开关
    的头像 发表于 06-04 15:07 2474次阅读
    IGBT功率模块<b class='flag-5'>动态</b><b class='flag-5'>测试</b>中夹具杂散电感的影响