文章目录

  • 4. 模型测试 - 测试过程、模型测试方法概述
    • 4.1 测试过程概述
    • 4.2 simulink模型测试方法概述

专题目录

4. 模型测试 - 测试过程、模型测试方法概述

4.1 测试过程概述

  • 众所周知,测试是软件开发过程中的一个重要组成部分,贯穿整个软件开发生命周期,保证了软件的正确性和可靠性,对于模型来说,也需要进行严格的测试工作,确保模型的准确性。
  • 根据测试阶段,可以把测试分为如下阶段 :
    • 单元测试 :对小模块单元进行检查和验证,比如一个chart模块;
    • 集成测试 :对各个模块集成后的系统进行测试;
    • 确认测试 :检查与证实软件是否满足软件需求说明书中规定的要求;
    • 系统测试 :集成硬件和软件系统,在真实或模拟系统运行的环境下,检查完整的程序系统是否能和系统正确配置、连接,并满足用户需求;
    • 验收测试 :在系统测试后期,以用户测试为主,或有测试人员等质量保证人员共同参与的验证性测试。
  • 按是否需要运行测试软件分类:
    • 静态测试 :不实际运行被测软件,而是直接分析软件的形式和结构,查找缺陷;
    • 动态测试 :运行被测软件,通过有效的测试用例(对应的输入、输出关系)来分析被测程序的运行情况或进行跟踪对比,发现程序问题。
  • 对于开发工作人员,一般需要进行单元测试和集成测试,确保开发模块的正确性

4.2 simulink模型测试方法概述

  • simulink模型建立完成后,为了确保模型的准确性,提供了完整的测试方法和手段,包括了静态检测方法:建模规范检查、设计缺陷检查动态检测方法:功能测试、覆盖度检查

1)建模规范检查 Model Advisor

  • Model Advisor是simulink自带的静态模型检查器,能够根据建模规则,建模标准对模型进行检查,并且能够进行部分错误的自动修改,帮助开发人员和团队搭建高质量的模型和使用高度统一的风格。
  • Model Advisor 的使用方法介绍见文章:模型测试 - Model Advisor 建模规范检查。

2)设计缺陷检查 Design Verifier

  • Design Verifier 有如下三大功能:

    • Design Error Detection — 查找死逻辑、除以零、溢出等问题
    • Test Generation — 基于模型和覆盖度来生成测试用例
    • Property Proving — 确定模型的输出和行为是满足预期要求的
  • 最常使用的是第一个功能,对死逻辑、除以零、溢出等设计缺陷问题的检查
  • Design Verifier 的使用方法介绍见文章:模型测试 - Design Verifier 设计缺陷检查 。

3)功能测试 Sumilink Test

  • Sumilink Test 是动态检测工具,也是单元测试最常用的动态检测工具。
  • 通过编写或者导入测试用例,检测模型运行的准确性。
  • Sumilink Test 的使用方法介绍见文章:模型测试 - Sumilink Test 功能测试 。

4)测试覆盖度检查 Coverage Analyzer

  • Coverage Analyzer 覆盖度是用来表示一个测试用例对模型逻辑结构的所有路径测试的完成程度,适用于对模型进行结构测试的测试用例。
  • 一个完整的模型结构测试用例应当对模型或状态机内的每条路径都有唯一的条件进行测试,并且不与其他路径条件发生冲突。
  • 覆盖度的作用对象是模型的测试用例,不是模型对象本身。
  • 模型测试检查中,工作量最大的就是编写足够的测试用例,达到测试覆盖度目标。
  • Coverage Analyzer 的使用方法介绍见文章:模型测试 - Coverage Analyzer 测试覆盖度检查。

5)Polyspace代码检查工具

  • 此外,matlab也有对代码进行检查的工具 - Polyspace。
  • Polyspace是代码静态,动态检查工具,可以对源代码进行静态检查:检查代码规范编码错误静态度量(代码量,调用次数);也可以动态检查运行时错误(算术溢出,缓冲区溢出,被零除和其他错误),测试覆盖度检测。
  • Polyspace 的使用方法介绍见文章:
    • 1. Polyspace工具基本介绍
    • 2. Polyspace - 工程Configuaration配置。

感谢阅读 若有错误 敬请见谅!!!


4. 模型测试 - 测试过程、模型测试方法概述相关推荐

  1. 谈谈机器学习AI模型测试与评估方法分析

    随着数字化转型与人工智能发展,AI应用软件层出不穷,人们虽然理解人工智能趋势,但是,企业往往很难接受这样AI应用软件,其中质疑点主要有: 预测或识别的准确性 模型相关性 鲁棒性 安全性 数据隐私 性能 ...

  2. MFQ测试设计模型概述

    早期的测试设计过程是直接根据测试需求或规格来设计用例,这种方法存在很多局限性,本章节我们讨论的是一种新的,或者说更全面的测试设计方法,现在在很多测试更完善的企业(如华为),他们提出了新的测试设计过程, ...

  3. TMM(测试成熟度模型)介绍

    许多公司在提高 测试效率时往往着重在人力.物力上,最终却发现收获颇微,其主要原因在于测试过程本身不合理.而当前流行的 CMMI(Capability  Maturity Model Integrati ...

  4. 测试模型 V模型 W模型(双V模型) H模型 优缺点解析

    一.测试模型概述 软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理,所以理解好软件的开发模型会便于理解测试模型. 软件测试的一般流程: 我们发现一般的软件测试流程和软件开发的流程一样,但是这 ...

  5. 并行程序调试、测试与模型检测

    并行程序调试.测试与模型检测 并行程序调试的挑战: 1.由于不能确定不同线程的执行顺序,导致可能的执行路径发生组合爆炸: 2.使用模型检验程序正确性能以应用到分布式系统上. 名词解释 确定性重放:通过 ...

  6. BS和CS架构,软件开发的瀑布模型,快速原型模型、螺旋模型、敏捷开发、软件测试分类,测试的分类和理解

    1.BS和CS架构 1.1  BS:浏览器与服务器结构 优点:客户端无需安装,有web浏览器即可 缺点:在速度和安全性上需要花费巨大的设计成本 1.2  CS:客户机与服务器结构 优点:CS架构的页面 ...

  7. 详细了解软件测试过程中的V 模型,W模型,H模型

    V模型 1.单元测试,是针对软件设计中的最小单位进行正确性检查的测试工作. 对于单元的定义: C语言中指一个函数 Java中指一个类 在图形化的软件中指一个窗口 2.集成测试,是在单元测试的基础上,将 ...

  8. 【深度学习之模型优化】模型剪枝、模型量化、知识蒸馏概述

    前言 模型部署优化这个方向其实比较宽泛.从模型完成训练,到最终将模型部署到实际硬件上,整个流程中会涉及到很多不同层面的工作,每一个环节对技术点的要求也不尽相同.但本质的工作无疑是通过减小模型大小,提高 ...

  9. 测试——开发模型(瀑布模型,螺旋模型,增量,迭代,敏捷)和测试模型(V模型,W 模型),软件开发生命周期与软件测试生命周期的对比

    目录: 软件测试生命周期与软件开发生命周期 开发模型 2.1 瀑布模型 2.2 螺旋模型 2.3 增量 和 迭代 2.4 敏捷 测试模型 3.1 V模型 3.2 W模型 1. 软件开发生命周期与软件测 ...

最新文章

  1. oracle循环语句loop,oracle循环语句loop
  2. 7篇必读ACM MM 2019论文:图神经网络+多媒体
  3. linux java查看进程命令_linux一些查看进程情况的命令
  4. java list加入listview_Android ListView自动生成列表条目的实例
  5. GSM网络与CDMA网络话务量、基站容量相关计算
  6. 给计算机处理器做手术来研究大脑
  7. Hadoop生态圈-zookeeper本地搭建以及常用命令介绍
  8. 增加数据_数据来了!集装箱运量猛增,到底增加了多少!?
  9. 95-235-050-源码-task-Flink task之间的数据交换
  10. jQuery图片懒加载示例(滚动函数再加载)
  11. 查询数据进行排名,一样的并列
  12. 宏病毒专杀软件测试大乐,推荐几个宏病毒专杀工具
  13. PMP考试多少分算通过?
  14. linux查看u盘的分区格式化,linux U盘格式化ext3
  15. C. Dominant Piranha
  16. 帝国时代2哪个服务器稳定,20年后的新生,经典永不落幕——《帝国时代2:决定版》体验报告...
  17. 计算机网络 pan名词解释,计算机网络名词解释
  18. 怎样搭建serveru ftp个人服务器
  19. 怎样用投资的逻辑来填报志愿?
  20. C++,OpenCV 中template(模板)的简单理解

热门文章

  1. 一般的商城系统运营模式
  2. Win10默认的图片查看器打开图片很慢怎么办?推荐WPS图片
  3. windows下制作Ubuntu的U盘启动工具
  4. python判断语句中while not XXX或者 if not 的含义和用法
  5. ROBO Pro的机械臂编程过程
  6. jsp107ssm广州市家教中介服务网站
  7. 你需要知道的那些go语言json技巧
  8. 某信服终端检测响应平台任意用户登录
  9. 《第一行代码Android》笔记
  10. 单循环,双向,双循环链表