测试方法-边界值/因果图设计

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–不扣工资
在这里插入图片描述

发布了82 篇原创文章 · 获赞 7 · 访问量 4174

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/105279495