将测试过程中的输入、输出、操作等相似内容分组,从每组中挑选具有代表性的内容作为测试用例,划分为有效等价类和无效等价类。
格式:测试示例(R,P):
1.合法输入、不合法输入(上界、下界)
2.(w,f)----(字符串,文件名)—返回字符串在文件中出现的次数
W:非空、空
F: 存在且非空、不存在、存在为空
输出值为0
输出值为最大值、最小值
其他所有输出值
确定输入域(变量、类型、取值)
等价类划分(变量笛卡尔积)
组合等价类
消除不可测等价类
例:
①三角形问题
任意输入3个整数作为三角形的3条边的长度,判断三角形的类型
https://blog.csdn.net/u010529212/article/details/14445553
②NextDate问题
输入月份、日期和年,函数返回输入日期后面的那个日期。如果年月日不符合要求,则NextDate都会产生一个输出,“无效输入日期”。(year∈[1912,2050])
http://www.docin.com/p-1372559050.html
(强建壮等价类测试用例、改进等价类划分测试用例)
对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,测试用例来自等价类的边界。
格式:测试示例(R,P):
若输入(输出)条件规定了值的取值范围,则以该范围的边界内和边界附近的值作为测试用例。
若输入(输出)条件规定了值的个数,则以最大个数、最小个数、比最大个数多一、比最小个数少一的数作为测试用例。
若规格说明书中规定输入或输出是一个有序集合,则选取有序集合的第一个和最后一个元素作为测试用例。
若程序使用了一个内部数据结构,则选择这个数据结构的边界上的值作为测试用例。
①有一Web系统某查询条件是 1990 年 1 月到 2049 年 12 月,由 6 为数组表示,前 4 位表示年份,后 2 位表示月份
从日期的长度角度,考虑 5 位的数字字符、7 位的数字字符
从年份的取值范围角度,考虑年份 1989、1990、2049、2050
从月份的取值范围角度,考虑月份 00、01、12、13
②http://www.docin.com/p-1372559050.html(NextDate问题 边界值分析法)
适合于检查程序输入条件的各种组合情况。
因果图的“因”——输入条件
因果图的“果”——输出结果
①基本符号:Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。
②约束关系:
售货机:简化情况,假设投币只有1元和5毛两种;零钱默认都是5毛;有橙汁和可乐两种饮料,饮料价格均为5毛;机器没零钱的时候零钱找完的灯会亮
①梳理输入与输入,输入与输出之间的约束关系
输入:
(1)售货机有零钱
(2)投币1元
(3)投币5毛
(4)按橙汁按钮
(5)按可乐按钮
输出:
(21)零钱找完的灯亮
(22)退回1元
(23)退回5毛
(24)出橙汁
(25)出可乐
输入与输入的约束关系:
(2)、(3)是异的关系,至多出现一个,可能一个都不发生
(4)、(5)是异的关系,至多出现一个,可能一个都不发生
输入与输出的约束关系:
(1)、(21)是非的关系
② 绘制因果图
③绘制判定表
④根据决策表设计测试用例的输入和输出数据
QQ登录示例:https://blog.csdn.net/YZJ_0722/article/details/80580759
横向的条件(因)和动作(果)
纵向的规则(测试用例)组合而成。
1)条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
2)动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。
4)动作项:列出在条件项的各种取值情况下应该采取的动作。
构造决策表的5个步骤:
(1) 确定规则的个数。有n个条件的决策表有2^n个规则(每个条件取真、假值)。
(2) 列出所有的条件桩和动作桩。
(3) 填入条件项。
(4) 填入动作项,得到初始决策表。
(5) 简化决策表,合并相似规则。
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。
http://www.docin.com/p-1372559050.html (NextDate问题 决策表法 )