边界值分析
很简单,不作解释。
划分等价类
等价类是指某个输入域的子集合,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
判定表
判定表是一个表格,分为四个部分,其左部是条件或数组元素的名称,右上部是所有条件的组合,左下部是处理中活动的名称,右下部标明条件组合和相应的活动的对应关系。
判定表通常有以下四个部分组成:
- 条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序无关紧要
- 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束
- 条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值
- 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作
因果图法
产生背景:
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了
因果图法设计测试用例步骤:
- 从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变)
- 作因果图
- 把因果图转换为判定表
- 为判定表中的每一列设计一个测试用例
通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现
恒等:若c1是1(0),则e1也为1(0)
非:若c1是1(0),则e1为0(1)
或:c1 c2 c3中只要有一个成立,则e1成立
与:c1和c2同时成立,e1才成立
下面举个例子来说明因果图转判定表的步骤:
例题:
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币
分析
原因:① 投入1元5角硬币; ② 投入2元硬币;③ 按“可乐”按钮; ④ 按“雪碧”按钮; ⑤ 按“红茶”按钮。
中间状态:① 已投币; ② 已按钮。
结果:① 退还5角硬币; ② 送出“可乐”饮料;③ 送出“雪碧”饮料; ④ 送出“红茶”饮料。
作因果图
将因果图转化为判定表