测试方法

  • 1.黑盒-边界值
    • 例1:利用边界法完善等价类中的计算器
    • 例2:等价类划分中出现的余额宝提现
    • 例3:边界值举例
  • 2.因果图法
    • 例1:使用因果图+判定表设计测试用例
    • 例2:因果图练习余额宝提现的例子
    • 问题:某厂工资发放

部分内容来自于慕课课程

1.黑盒-边界值

(比如0.01~200是发红包的钱的范围,拿到边界值就能找到最具有代表性的数据范围即等价类)

1.边界值分析法是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。

2.实践证明,在设计测试用例时,对边界附近的处理必给予足够的重视,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。

3.边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例(输出也要在乎边界)

边界值设计的原则

1.如果输入条件规定了取值范围,应该以范围的边界内及刚刚超范围的边界外的值作为测试用例

2.如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值.(最后一个符合条件的值和第一个不符合条件的值)

通过以上伪代码能够判断出无效等价类和有效等价类

边界值: 所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;

两个特征: 选择一个或多个元素,以便等价类的每一个边界都经过了测试;与仅仅关注输入条件不同,还需要考虑结果空间(输出等价类)设计测试用例;

边界条件可能非常微妙,因此把他们确定下来煞费心思;

使用场景: 输入+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)

例1:利用边界法完善等价类中的计算器

由于允许输入的数值在-99到99之间,所以我们可以把-99和99看作两个边界值。我们测试的时候可以取紧邻边界值的数值和边界值本身作为输入

例2:等价类划分中出现的余额宝提现

例3:边界值举例

以三角形测试为例:输入3个整数做为三角形的三个边,1<a、b、c<10,通过程序判定三角形的类型;

2.因果图法

解决的是等价类划分和边界法解决不到的问题。因为等价类划分和边界法都是着重于输入条件,而不考虑输入条件的各种组合、输入条件之间的相互制约关系。(比如a输入什么值以后 b就只能选择什么值,比如选择省之后选择市)
适用条件:
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字
因此必须考虑采用一种适合于描述多种条件的组合、产生多个相应动作的测试方法,这就需要利用因果图(逻辑模型)

因果图法基于这样的思想:
一些程序的功能可以用决策表的形式来表示,并根据输入条件的组合情况规定相应的操作。因此,可以考虑为决策表中的每一列设计一个测试用例,以便测试程序在输入条件的某种组合下的输出是否正确
概括地说,因果图方法就是从程序规格说明书的描述中找出因(输入条件)和果(输出结果或程序状态的改变)
将因果图转换为判定表,为决策表中的每一列设计一个测试用例 这种方法考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系

判定表

编写程序的辅助工具
把复杂的逻辑关系和条件组合表现得具体明确

判定表通常由四个部分组成:

条件桩(Condition Stub) : 列出了问题的所有条件,通常认为列出得条件的次序无关紧要。(类似于上面表中的问题)
动作桩(Action Stub) : 列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。(这些结果一般都是互相排斥的)
条件项(Condition Entry) : 列出针对它左列条件的取值,在所有可能情况下的真假值。
动作项(Action Entry) : 列出在条件项的各种取值情况下应该采取的动作。(最终导致的结果或者需要采取的动作)

因果图法设计步骤:
1.分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
2.分析软件规格说明中语义的内容,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(可能会用到等价类方法,先判定哪些是有效的那些是无效的等等 )
3.由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特定的情况,在因果图上使用一些记号表明约束或限制条件
4.把因果图转换为判定表
5.根据判定表中的每一列设计测试用例

例1:使用因果图+判定表设计测试用例


分析输入和输出条件:

分析条件互斥:

分析,简化并画出判定表:
再根据判定表写出测试用例即可:

例2:因果图练习余额宝提现的例子

分析输入输出条件:

判定表:

问题:某厂工资发放

描述、分析:
工资分为年薪制a1,月薪制a2;
错误程度分为普通a3,严重a4;

工资为a1的员工犯普通错误的扣工资2% (b1) ,犯严重错误扣工资6% (b2) ;
工资为a2的员工犯普通错误的扣工资4% (b3),犯严重错误扣工资8% (b4) ;
其中,a1和a2为互斥; b1, b2和b3,b4是互斥; a3和a4可以同时具备。

分析输入和输出条件:
输入
输入1:条件1–工资年薪制 条件2–工资月薪制
输入2:条件3–犯普通错误 条件4–犯严重错误 条件5–同时犯严重和普通错误
输出
结果1–扣工资2% 结果2–扣工资6% 结果3–扣工资8%
结果4–扣工资4% 结果5–扣工资8% 结果6–扣工资12%
结果7–不扣工资

测试方法-边界值/因果图设计相关推荐

  1. 软件质量保证常用测试方法---边界值测试,等价类测试,路径测试

    本文内容整理自西安交通大学软件学院杜小智老师的mooc附件ppt mooc链接:软件质量保证_中国大学MOOC(慕课) 文章目录 测试方法 边界值分析技术 边界值选择的基本原则 边界值测试分类 边界值 ...

  2. 测试方法——边界值法

    边界值测试方法 边界值方法是一种比较常用的测试方法,在很多软件测试中都会应用到 一.应用条件 只要有输入框输入数据的地方,就可以用边界值这一方法来测试,一般与等价类划分共同使用,找到有效数值和无效数值 ...

  3. 因果图设计测试用例的步骤

    1.1.1. 分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分.这样做的好处是,不必在一次处理过程中考虑所有的原因.没有固定的流程说明究竟分解到何种程度才算简单,需 ...

  4. 软件测试 | 边界值测试用例设计方法

    边界值测试是对等价类测试的补充! 边界值测试是对等价类测试的补充! 边界值测试是对等价类测试的补充! 重要的事情说三遍!!! 等价类测试方法请移步我的另一片文章:https://blog.csdn.n ...

  5. 黑盒测试方法——边界值分析法

    目录 目录 一.方法简介 二.实战演习 一.方法简介 1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等 ...

  6. 黑盒测试方法之因果图法

    因果图法 因果图法步骤 软件需求示例 测试用例分析设计 总结 因果图法步骤 1)赋标识符.分析软件需求规格说明,找出哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和 ...

  7. 测试方法-边界值分析法

    对程序的输入和输出边界进行测试的一种黑盒用例设计方法,常与等价类法结合使用,此时它的用例来自于等价类的边界. 边界值分析的理论基础是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附近的取值不 ...

  8. 用等价类和边界值法设计NextDate问题的测试用例并进行测试,具体要求如下:NextDate是一个有3个变量(月份、日期和年)的函数。函数返回输入日期后一天的日期。变量月份、日期和年都具有整数值

    根据等价类和边界值法,我们可以先找出每个变量的等价类和边界值,然后组合测试用例. 月份变量: 等价类:正常范围内的月份(1-12),非法的月份(小于1或大于12) 边界值:1, 12 日期变量: 等价 ...

  9. 测试用例设计(等价类、边界值、因果图、判定表、正交实验)

    测试设计与测试用例 测试设计是将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务 评审测试依据(需求,系统架构.设计和接口说明),根据依据,确定哪些部分需要测试 评 ...

最新文章

  1. opencv中的threshold()函数(二值化)
  2. 数学之美系列16(转帖)
  3. Python 并行分布式框架 Celery
  4. 基于OpenCV全景图像拼接
  5. Atitit.获取某个服务 网络邻居列表 解决方案
  6. 惠普HP Designjet 5100 打印机驱动
  7. 力荐 | 台大林轩田《机器学习基石》资源汇总
  8. 手机端(移动端)UI框架整理
  9. 图片优化——质量与性能的博弈
  10. windows 2003 directx 3D加速 开启
  11. Progressive LayeredExtraction(PLE):ANovelMulti-Task Learning(MTL)ModelforPersonalizedRecommendations
  12. 内部系统自己搭建还是花钱购买?这是一个问题
  13. PMP工具与技术之人际关系与团队技能
  14. 快递企业玩转微信扫一扫教程
  15. TO_DATE()函数?
  16. modprobe命令介绍
  17. 深度学习入门(三十七)计算性能——硬件(TBC)
  18. FlashBuilder的代码模板
  19. hive、impala的客户端,cli、beeline、WebHCat
  20. 【创意编程】《无限》:宇宙、三体、星云和轨迹

热门文章

  1. PowerDesigner15.5 逆向生成mysql数据PDM文件
  2. 辽宁省高考成绩查询时间2021,2021年辽宁高考成绩什么时候出来,今天几点钟出成绩可以查询...
  3. python 股票自动交易助手_hikyuu: 基于C++/Python的开源量化交易研究框架
  4. 泛在电力物联网——物联网相关技术梳理(物联网技术脑图)
  5. 用歌词来记录此时的心情
  6. 腾达u6无线网卡 linux,腾达U6驱动下载 腾达U6无线网卡驱动 v0.12.2.3 官方版 下载-脚本之家...
  7. 全国农村固定观察点调查数据
  8. 技巧分享:我的VM黑群晖安装及独特网络访问方案
  9. 请问打开PB时出现其停止工作的提示,如何处理?
  10. PADS运行脚本出现“Active X Automation:server could not be found”