说明

本文记录simulink test在使用过程中的心得,包含使用过程中新的发现及提高测试效率的一些技巧。

本文提到的内容均基于以下运行环境:

MATLAB   版本 9.3 (R2017b)
Simulink   版本 9.0 (R2017b)

Win10系统

1、simulink test 如何得出模型覆盖度报告?

首先,两个设置:

1)模型界面下,进入analysis --> Coverage -->Settings,勾选最上面的“Enable coverage analysis”,并设置需要做的覆盖率测试项目

模型的设置

2)simulink test中测试用例的设置

进入analysis --> test managerment,点击对应test file或者test suite的 open in tab,在里面设置 coverage settings,勾选“record coverage for referenced models”

simulink test的设置

之后,运行测试用例。在测试结果中,可以看到一个覆盖率报告

测试结果中覆盖率情况

最后,点击上图中的红框“add tests for missing coverage”,软件会自动补充测试用例。

自动生成用例结果

点击上图中的最后一条,便可以看到覆盖率测试报告了,且是涵盖了步骤一种的所有覆盖率测试项目。

最终的覆盖率测试结果

2 如何用verify查看结果

参考链接:(test sequence语法)https://www.mathworks.com/help/sltest/ug/syntax-for-test-sequences-and-assessments.html

3、测试时间较长如何保证仿真步骤能够被运行

需要将仿真时长加长至能够满足测试的最长时间,在harness模型中设置即可

4、关于时序问题

1)测试时需涉及到时序问题,需关注stateflow,stateflow中两个状态之间跳转时会经历过一个单元模块的运行周期(也即仿真步长)

2)simulink test每一个step都为一个单元模块运行周期

3)simulink test搭建的测试模型,其输出有一个步长的延时。也即,simulink test仿真的输出值与模型实际输出值的对应要错开一个步长

5、如何使其不受仿真时间约束,停止在最后一个测试步骤

在原有用例的最后再新增一个step(命名为DoNothing,内容为空),让该步骤作为用例执行的最后一个步骤 。

解决的问题:假如希望测试软件运行到某个步骤后停止,而又不明确总的运行时间。这时候运行到最后一个步骤后,仿真总时长还剩余,则模型会继续往下执行,而simulink test的测试结果判定语句则会停留在最后一步。这样就可能出现,模型的运行结果发生了变化,而simulink test判定结果的语句却维持不变。显然,simulink test给出的最终结果是测试fail。

利用该方法,可以不管设置的仿真时长,用例运行到这一DoNothing步骤后,模型即不会再往下执行,从而保证测试运行结果的唯一性。

6、simulink test用例脚本中需不需要对数值加强制类型转换?

答案是:一定要。simulink test的测试脚本中默认数值为single类型,如果不加强制类型转换,则很可能会报错。

举例: 用verify写了个判定语句 verify(v_BROBMSChrgRdy_u8 == 0, 'The real value is %d', v_BROBMSChrgRdy_u8);

运行后的测试结果中,提示可能产生非预期的结果:

测试结果中以红色字体报错

而修改后verify(v_BROBMSChrgRdy_u8 == uint16(0), 'The real value is %d', v_BROBMSChrgRdy_u8);该报错提示消失。

Simulink Test笔记(含一些小技巧)一相关推荐

  1. [读书笔记]5个小技巧让你写出更好的JavaScript[图]

    在使用JavaScript时,我们常常要写不少的条件语句.这里有五个小技巧,可以让你写出更干净.漂亮的条件语句. 使用Array.includes来处理多重条件 举个栗子: //条件语句 functi ...

  2. 学习笔记22—PS小技巧

    1.将图片四角变弧形:菜单-->选择-->平滑-->设置参数: 2.画曲线的方法是: 1)选择钢笔工具, 2)工具属性选择路径:用钢笔点下路径的起点,点下即松开鼠标:在下一个锚点,点 ...

  3. 立创EDAPro使用之冷僻小技巧

    自己认为的从教程里特地挑出来的不太常见的不怎么容易记得怎么使的不太常用的但又在某些情况下十分有用的却很难想起的只好做笔记记下的小技巧.[/doge] 文章比较长,但是有目录,需要迅速查看某个功能的速看 ...

  4. 调试笔记--jlink 变量转实时波形小技巧

    调试笔记–jlink 变量转实时波形小技巧 上篇讲了jlink RTT组件在RAM中开辟一段内存,将printf字符串存入然后通过jlink调试接口读取RAM,将printf字符串在jlink-RTT ...

  5. 调试笔记--keil 测量周期小技巧

    调试笔记–keil 测量周期小技巧 本文参考安富莱专题教程第7期 http://www.armbbs.cn/forum.php?mod=viewthread&tid=87176&ext ...

  6. 调试笔记--keil 断点调试小技巧

    调试笔记–keil 断点调试小技巧 给变量打断点 调试不熟悉的项目时,卧槽!怎么这么多全局变量?这玩意又在那修改了??这个时候会给变量打断点就能省好多事. 将要监视的全局变量添加到watch窗口 选中 ...

  7. 如何优化小红书笔记?教你三个小技巧,让你快速提高笔记排名

    小红书推广的第一步就是发布笔记,笔记排名越靠前,流量就越大,所以做好笔记很重要,下面教你三个小技巧,让你快速提高笔记排名 1.内容优化 笔记内容撰写首先要符合小红书平台规则,原创度高,建议企业从产品卖 ...

  8. EXCEL学习笔记——小技巧

    EXCEL学习笔记--小技巧(持续更新) 我赌五毛:八成的EXCEL使用者连SUM()函数的帮助都没阅读过.我敢再赌五毛:九成的EXCEL使用者没使用过我下文中九成的技巧.写本文的初衷是能让EXCEL ...

  9. javascript取随机数_查缺补漏一些 Javascript 的小技巧笔记

    前言 这篇文章的话,分享一些最近使用React开发项目时,用到的小技巧,其实也算是JavaScript中的一些技巧吧,内容主要有一下几点? 产生随机不重复id 快速取整数 合理布局样式 字符串xml的 ...

最新文章

  1. Android开发之异步任务加载网络图片并存储在sdcard中(源代码分享)
  2. java 在线电影_java电影在线影评管理系统
  3. BZOJ4943 洛谷3823 UOJ315:[NOI2017]蚯蚓排队——题解
  4. SQLite相关知识
  5. Ubuntu Linux 永山(mount)分
  6. JS之scrollTop不起作用的问题(兼容性有问题)
  7. 安川机器人位置变量要素_安川机器人变量分配(维修)
  8. conda加入pytorch清华源
  9. Windows 部署服务(WDS)基础配置指南 (2008 or 2008R2 Only)
  10. springMVC浏览器接受json报406错误的解决方法
  11. 今天来聊Java ClassLoader
  12. 使用js调用摄像头拍照
  13. spss26没有典型相关性分析_SPSS数据分析—典型相关分析
  14. 计算机专业logo元素,计算机系logo设计大赛
  15. 客户预付款处理和设置
  16. QT总结10-绘制箭头
  17. 电子取证之服务器取证,本人小白第一次从pc取证到服务器,这里有一套例题分享给大家,所有解析我都尽可能全面具体,希望与各位同仁一起学习。(非常推荐!)
  18. Doom流量回放工具导致的测试环境服务接口无响应的排查过程
  19. 基于PANDA做DTI分析
  20. VBS奇葩操作 “我是猪”

热门文章

  1. (45)中断门和快速调用进0环详解,重写 WriteProcessMemory
  2. MoveWindow() 与SetWindowPos()
  3. 微信二维码扫描登录原理解析
  4. 存在i+1< i的数吗?为什么?
  5. 737Max事故分析,天灾还是人祸?
  6. verilog实现基于Cordic算法的双曲函数计算
  7. 修理店修院长的电视机
  8. 在鬼语者中看到米帅(温特沃斯·米勒)
  9. 思科设备路由综合配置
  10. java实现List/Set集合排序:集合内容是字符串,字符串(包含汉字,英文字母,数字)集合的排序