上一篇文章功能安全实践 | CTM方法实践步骤01介绍了软件测试分类树CTM实践的前期内容,本文首先对上篇文章中关于等价类划分的相关内容做一些补充

a,文章中的等价类并不是结果一样,比如,对于数值计算来说,所谓等价类并不是说同一个等价类中所有输入计算的输出都是一样的(事实上绝大多数结果都是不同的)。

b,等价类的划分需要具备完整性不能遗漏值。测试过程中用到的所有值都需要分配给一个类。

c,等价类的划分需要保证独立性。说白了就是与测试相关的某一个值只能归为一个类,而不是多个类。这个定义与高等数学上映射的定义很像。

下面是一个等价类划分的具体例子:制动器高温报警

假设我们需要测试某个车型仪表上的制动器高温报警提醒。制动器高温报警提醒的判断所用的温度信号来自ESP内部的温度模型算法。这个算法计算的温度范围是-40℃到550℃。当温度低于300℃时,高温报警系统关闭,当温度高于300℃时高温报警打开。

很显然对于制动高温报警提醒来说,温度是唯一的测试相关方面。为了合理的保证测试效果,我们并不希望把每个相关的温度都测试一遍。所以,我们需要根据等价类划分原则对数据进行等价分类。

首先需要进行的最佳实践是找出可能的无效输入值。在我们这个例子中汽车启动或者总线断路等都会导致一个无效值。因此,我们首先需要将输入温度划分为有效和无效两个大类。无效值包括温度太高(高于550摄氏度)和温度太低(低于负40摄氏度)。在高低温之间的是有效值。在有效值中,我们可以根据制动器高温报警的功能描述再进一步划分出两组,即温度报警打开(300℃-550℃)和温度报警关闭(-40℃到300℃)。如下图所示,我们至少可以分出4个等价类进行测试

前面文章中介绍过,等价类划分好需要进行进一步的等价类优化,还以本文中的制动器高温报警为例子进行分析。在有效值的这两组组,分类还不够详细。为什么这么说,主要是因为按照等价类方法论,我可以在关闭报警这一组选择任何一个值进行测试。比如,我们选择了3℃,那么就会存在小于0的负温度没有被测试到的问题。同样对于报警打开的这一组,我们可以选择301℃,但是,对于衰退温度500℃以上的温度也缺少了对应的测试案例,所以我们需要进一步的分组优化。如下图所示;

最终的分组可以将原来4组优化后,分为现在的6组。进行分组优化所用的知识就与个人的经验以及对系统的认识息息相关了

下期预告:

功能安全实践 | CTM中边界值方法实践

介绍CTM中包含的边界值方法

基于junit4的关于个人所得税计算的等价类与边界值_功能安全实践 |软件测试方法论之分类树 CTM中等价类方法实践...相关推荐

  1. 基于junit4的关于个人所得税计算的等价类与边界值_《边界值分析》-有这篇就够了...

    目录: 定义(What) 为什么使用该方法?(Why) 如何选定边界值?(How) 设计测试用例 根据测试用例的完整性划分 边界的分类 使用场景 实战演练 边界值分析的优缺点 特殊值测试 边界值分析和 ...

  2. 基于junit4的关于个人所得税计算的等价类与边界值_关于量子力学的基本原理

    ​​文章抽选关于量子力学基本原理的几个题目,包括量子力学与经典物理学的对比.量子概念的产生.薛定谔方程的出现.全同性原理和量子路径积分等,作些说明.目的在于激发读者思考量子力学的本质在哪里. 撰文 | ...

  3. java计算整数出现的次数_[剑指offer题解][Java]1到n整数中1出现的次数

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

  4. 基于C语言的个人所得税计税系统

    基于C语言的个人所得税计税系统 问题描述: 我国现行的个人所得税计算方法如下: 级数 全月应纳税所得额 税率(%) 1 不超过500元的 5 2 超过500元至2000元的部分 10 3 超过2000 ...

  5. R语言with函数和within函数:with函数基于表达式在dataframe上计算、within函数基于表达式在dataframe上计算并修改原始数据

    R语言with函数和within函数:with函数基于表达式在dataframe上计算.within函数基于表达式在dataframe上计算并修改原始数据 目录

  6. 置信区间(Confidence Intervals)是什么?如何计算置信区间?置信区间的两种计算方法是什么?二值样本置信区间如何计算?如何基于bootstrap抽样进行置信区间计算?

    置信区间(Confidence Intervals)是什么?如何计算置信区间?置信区间的两种计算方法是什么?二值样本置信区间如何计算?如何基于bootstrap抽样进行置信区间计算? 目录 置信区间( ...

  7. showdialog 尝试读取或写入受保护的内存_TreadMarks: 基于工作站网络的共享内存计算...

    TreadMarks: 基于工作站网络的共享内存计算 以前学MIT6.824时看过TreadMarks相关论文,这篇论文当时只翻译了一半.最近无意中看到这篇未完成的翻译,google了下发现仍然没有人 ...

  8. 基于openstack的私有云构建_阿里云杨敬宇:四层技术构建基于城市场景的边缘计算...

    12月11日,阿里云边缘计算技术负责人杨敬宇在2019亚太内容分发大会上表示:在未来,边缘计算主要是以地市.区县为单位开展,面向城市服务的交通.医疗.健康.教育.新零售等场景提供算力基础.阿里云认为边 ...

  9. 【深度学习】基于Pytorch进行深度神经网络计算(一)

    [深度学习]基于Pytorch进行深度神经网络计算(一) 文章目录 1 层和块 2 自定义块 3 顺序块 4 在正向传播函数中执行代码 5 嵌套块 6 参数管理(不重要) 7 参数初始化(重要) 8 ...

最新文章

  1. AI,被“横扫记录”反噬?
  2. antd 动态添加表单_react Ant Design 动态生成表单,并带验证
  3. 赴美工作常识(Part 4 - 面试)
  4. winform datagridview 合并单元格
  5. 图像缩放算法_opencv缩放算法
  6. 《黑客秘笈——渗透测试实用指南(第2版)》—第2章2.7节总结
  7. c语言用switch字母判断星期几,c语言程序,输入年月日,判断这一天是这一年的第几天,同时判断这一天是星期几。(用switch语句)...
  8. 你可能不知道的Chrome-devtools用法总结
  9. android 颜色选择类
  10. 小程序在父组件执行子组件方法,可适用于下拉刷新上拉加载之后执行子组件方法...
  11. ASCII、Unicode、GBK和UTF-8字符编码的区别联系[转]
  12. 单片机1到十五c语言,手把手教你学单片机的C语言程序设计(十五).pdf
  13. 内存——CPU、内存以及磁盘是如何交互的
  14. 使用最新的跨平台框架Electron 实现 STM32 MCU 嵌入式系统的序列号烧写器上位机开发
  15. linux串口编程(termios结构体说明)
  16. 计算机课评课意见,信息技术应用 用计算机画函数图象第一课时评课稿
  17. 【EDM邮件营销】独立站卖家如何通过用户标签提高EDM邮件打开率
  18. 自动生成 : Java方法 toString(); hashCode(); equals(); compareTo()的方法 避免繁杂的体力活
  19. win7计算机资源管理器卡住,如何解决win7系统资源管理器已停止工作的问题
  20. 微信公众号授权前端(uniapp为例)

热门文章

  1. Yii2 定制表单输入字段的标签和样式
  2. 根据ip地址查询城市信息
  3. 100天插画动效计划
  4. postgresql源码学习(27)—— 事务日志⑦-日志落盘上层函数 XLogFlush
  5. 有人云物联网关通过MQTT服务器对PLC数据进行操作
  6. emoji android to iphone,你知道苹果上的 Emoji 在 Android 上长啥样吗?!
  7. 【Scratch考级99图】图21-等级考试scratch绘制复杂图形4个凹形图 少儿编程 scratch画图案例教学
  8. 直觉模糊Choquet积分算子的多属性决策及matlab应用
  9. 谷歌中文输入法已经可以使用了
  10. 向你汇报三件事,有意义的事儿