网易首页 > 网易号 > 正文 申请入驻

天啦噜!Stateflow动态测试竟然so easy

0
分享至

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

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

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

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

围点打援 中心开花

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

围点:控制Stateflow跳入初始状态

打援:针对跳出初始状态的跳转路径进行用例编写

中心开花:最终实现以初始状态为中心,向四周辐射的MCDC覆盖

假设以Normal状态最为初始状态:

围点:以Normal为初始状态

打援:① Normal 跳转至Off_Err

② Normal 跳转至 On_OverTemp

测试用例编写方法

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

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

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

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

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

由于这5个初始状态在后面测试用例搭建的过程中需要多次调用,TPT可以将编写好的测试用例进行封装,生成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。

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

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

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

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

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

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

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

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

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

关于评估

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

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

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

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
《庆余年3》正式官宣,十大主演名单公布,开播时间初步确定

《庆余年3》正式官宣,十大主演名单公布,开播时间初步确定

娱乐倾城巷
2024-05-31 17:06:19
你们会把海边比基尼照片发朋友圈吗

你们会把海边比基尼照片发朋友圈吗

花小猫的美食日常
2024-06-01 19:23:10
湖北28岁女孩一年两次徒步西藏,15000公里让她从美女变成了大妈

湖北28岁女孩一年两次徒步西藏,15000公里让她从美女变成了大妈

深月望城
2024-06-01 19:52:14
《庆余年2》大结局范闲为何突然恢复了真气?并非因为天一道心法

《庆余年2》大结局范闲为何突然恢复了真气?并非因为天一道心法

小凡娱影
2024-06-01 12:55:34
最好的大傻!队内最矮的卡瓦哈尔头球破僵,当选全场最佳球员

最好的大傻!队内最矮的卡瓦哈尔头球破僵,当选全场最佳球员

直播吧
2024-06-02 05:22:30
1958年,我国爆发打雀运动,一年时间消灭19亿只,麻雀险些灭绝

1958年,我国爆发打雀运动,一年时间消灭19亿只,麻雀险些灭绝

一往历史
2024-05-30 16:35:02
珠峰上,排队的人群,一眼看不到头

珠峰上,排队的人群,一眼看不到头

大象新闻
2024-06-01 10:55:06
世界第一枚3nm芯片问世,不是台积电生产,高端半导体芯片有多难?

世界第一枚3nm芯片问世,不是台积电生产,高端半导体芯片有多难?

田间农人阿馋
2024-06-01 19:47:40
高调!詹娜旧情复燃,连续4晚,正式复合,这下布克真的彻底凉了

高调!詹娜旧情复燃,连续4晚,正式复合,这下布克真的彻底凉了

球童无忌
2024-05-30 18:24:13
卡瓦哈尔一锤定音!破欧冠9年球荒,第六冠将到手,追平亨托

卡瓦哈尔一锤定音!破欧冠9年球荒,第六冠将到手,追平亨托

奥拜尔
2024-06-02 04:45:56
美女私房写真分享日记979期

美女私房写真分享日记979期

小影的娱乐
2024-05-30 15:10:14
切糕都得甘拜下风,卡车摊榴莲有啥“套路”?买回家之后,我懂了

切糕都得甘拜下风,卡车摊榴莲有啥“套路”?买回家之后,我懂了

煮菜婆
2024-05-30 22:36:12
詹俊晒下赛季皇马预测锋线:若拥有这样攻击线,欧冠准备几连冠?

詹俊晒下赛季皇马预测锋线:若拥有这样攻击线,欧冠准备几连冠?

直播吧
2024-06-02 07:41:09
美国为什么敢扒掉俄罗斯的核底裤?

美国为什么敢扒掉俄罗斯的核底裤?

思想无疆
2024-05-31 11:45:11
乌司法部长宣布:将组建独立“囚犯突击队”

乌司法部长宣布:将组建独立“囚犯突击队”

参考消息
2024-05-28 14:08:07
我国代表被请出场外喝咖啡,愤然离去当场立下誓言

我国代表被请出场外喝咖啡,愤然离去当场立下誓言

一度历史观
2024-03-02 11:16:32
大陆中止ECFA关税减让后,台公布民调,称76%民众不认同九二共识

大陆中止ECFA关税减让后,台公布民调,称76%民众不认同九二共识

说天说地说实事
2024-06-01 07:51:39
0比2爆冷出局!25岁女网大满贯冠军掉链子,网友:从巨星变三流

0比2爆冷出局!25岁女网大满贯冠军掉链子,网友:从巨星变三流

体坛知识分子
2024-06-02 06:15:02
布良斯克5分钟击落5架俄机要重演,德国再援5亿欧元

布良斯克5分钟击落5架俄机要重演,德国再援5亿欧元

移光幻影
2024-05-31 18:20:14
成为完全自由球员,李凯尔:很想回到森林狼,但一切还都未知

成为完全自由球员,李凯尔:很想回到森林狼,但一切还都未知

懂球帝
2024-06-01 22:52:03
2024-06-02 07:52:49
北汇信息
北汇信息
专注汽车电子领域
557文章数 30关注度
往期回顾 全部

科技要闻

余承东:不卷价格!雷军:将双班制生产!

头条要闻

小伙投资300万在瑞典开拉面馆生意火爆 1碗面卖100元

头条要闻

小伙投资300万在瑞典开拉面馆生意火爆 1碗面卖100元

体育要闻

女排最强2主攻合体 合砍40分打懵泰国

娱乐要闻

白玉兰提名:胡歌、范伟争视帝

财经要闻

实锤!普华永道,危!

汽车要闻

吉利银河E5 Flyme Auto智能座舱首发

态度原创

亲子
艺术
房产
教育
公开课

亲子要闻

奶爸带双胞胎女儿的瞬间,坐在地上给女儿梳着小辫。

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

房产要闻

重磅!琼海出台楼市新政:住房出租、挂牌计划出售,都可减套数!

教育要闻

台湾省中考真题,求∠1+∠2的度数,难哭学生妹

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版