当前位置: 首页 > article >正文

关于编写测试用例的细枝末节

这里写目录标题

    • 故障判别类-边界考虑
      • 示例1.0:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0。
    • 故障判别类-不可恢复测试
      • 示例1.1:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障不可恢复。
    • 故障判别类-位翻转测试
      • 示例1.2:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障可恢复。
      • 示例1.3:复位有效时,输出B为0;复位无效时,若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1;若A≤20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为0。
      • 示例1.4:复位有效时,输出B为0;复位无效时,若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障不可恢复。

故障判别类-边界考虑

示例1.0:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0。

注:数据A的采样频率大于1000Hz。

  • 应考虑A数据的分辨率:
    若A的分辨率为0.3,需计算出最接近阈值的数值,即为20.1和20.4,那么设计这两种情况的测试即可。
  • 应考虑判故时间周期:
    根据此示例,判故间隔为1ms,也就是说需观测14ms和15ms这两种情况即可。

用例示例
步骤1:构造A为20.1,等待14ms,查看B是否为0。
步骤2:等待1ms,查看B是否为0。
步骤3:构造A为20.4,等待14ms,查看B是否为0。
步骤4:等待1ms,查看B是否为1。

故障判别类-不可恢复测试

示例1.1:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障不可恢复。

注:数据A的采样频率大于1000Hz。

用例示例
步骤1:构造A为20.1,等待14ms,查看B是否为0。
步骤2:等待1ms,查看B是否为0。
步骤3:构造A为20.4,等待14ms,查看B是否为0。
步骤4:等待1ms,查看B是否为1。
步骤5:构造A为20.1,等待15ms,查看B是否为1。

故障判别类-位翻转测试

  • 先验证故障状态的初始状态是否正确。
  • 验证故障状态为正常时,应先构造故障状态为故障(不可恢复类除外)。
  • 验证故障状态为故障时,应先构造故障状态为正常。

示例1.2:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障可恢复。

注:数据A的采样频率大于1000Hz。

用例示例
步骤1:构造复位有效,查看B是否为0。
步骤2:构造复位无效,A为20.4,等待14ms,查看B是否为0。
步骤3:等待1ms,查看B是否为1。
步骤4:构造A为20.1,等待1ms,查看B是否为1。

示例1.3:复位有效时,输出B为0;复位无效时,若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1;若A≤20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为0。

注:数据A的采样频率大于1000Hz。

用例示例
步骤1:构造复位有效,查看B是否为0。
步骤2:构造复位无效,A为20.4,等待14ms,查看B是否为0。
步骤3:等待1ms,查看B是否为1。
步骤4:构造A为20.1,等待14ms,查看B是否为1。
步骤5:等待1ms,查看B是否为0。

示例1.4:复位有效时,输出B为0;复位无效时,若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0,该故障不可恢复。

注:数据A的采样频率大于1000Hz。

用例示例
步骤1:构造复位有效,查看B是否为0。
步骤2:构造复位为无效,A为20.1,等待14ms,查看B是否为0。
步骤3:等待1ms,查看B是否为0。
步骤4:构造A为20.4,等待14ms,查看B是否为0。
步骤5:等待1ms,查看B是否为1。
步骤6:构造A为20.1,等待15ms,查看B是否为1。


http://www.kler.cn/a/504436.html

相关文章:

  • Sonatype Nexus OSS 构建私有docker 仓库
  • STM32特殊功能引脚详解文章·STM32特殊功能引脚能当作GPIO使用嘛详解!!!
  • MATLAB学习笔记目录
  • Nginx代理同域名前后端分离项目的完整步骤
  • Docker 安装开源的IT资产管理系统Snipe-IT
  • 深度学习中的常见初始化方法:原理、应用与比较
  • STM32 FreeRTOS 的任务挂起与恢复以及查看任务状态
  • 【算法学习】——整数划分问题详解(动态规划)
  • Nginx是什么?怎么用?
  • 【大数据】机器学习------决策树
  • react Hooks 父组件调用子组件函数、获取子组件属性
  • react与nodejs实现流式传输,并可以进行中断(fetch聊天版)
  • RTX 5090 加持,科研服务器如何颠覆 AI 深度学习构架?
  • 自动驾驶ADAS算法--测试工程环境搭建
  • RDP、VNC、SSH 三种登陆方式的差异解析
  • 工程水印相机结合图纸,真实现场时间地点,如何使用水印相机,超简单方法只教一次!
  • 【免费开源】积木JimuBI大屏集成eladmin
  • arcgis中生成格网矢量带高度
  • 【MySQL】简单解析一条SQL查询语句的执行过程
  • 注册中心及技术选型对比分析
  • Single-agent和Multi-agent的区别及各自适用的落地场景(ChatGPT-4o,智谱清言 GLM 4 Plus 回答)
  • C#使用OpenTK绘制3D可拖动旋转图形三棱锥
  • 2025年01月13日Github流行趋势
  • 网络层协议-----IP协议
  • k8s之pod生命周期
  • Open FPV VTX开源之betaflight配置