超适合新手的黑盒测试用例设计方法( 二 )


应用
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例 。
例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:
1)无SIM 卡插入时进行呼出(非紧急呼叫)
2)插入已欠费SIM卡进行呼出
3)射频器件损坏或无信号区域插入有效SIM卡呼出
4)网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)
5)网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
因果图法概念
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况 。
应用
因–原因,输入条件
果—结果,输出结果
用图形的方式,来分析软件 输入和输出的对应关系
边界值分析和等价类划分的一个弱点是未对输入条件的组合进行分析 。对输入组合进行测试并不是简单的事情,因为即使对输入条件进行了等分,这些组合的数量也是天文数字 。如果在选择输入条件的子集时没有采用一个系统的方法,很可能选择出一个任意的输入条件子集,这样会使测试没有什么成效 。
因果图介绍
1)4种符号分别表示了规格说明中的4种因果关系 。

超适合新手的黑盒测试用例设计方法

文章插图
 
2)因果图中使用了简单的逻辑符号,以直线联接左右结点 。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果) 。
3)C1表示原因,通常置于图的左部;e1表示结果,通常在图的右部 。C1和e1均可取值0或1,0表示某状态不出现,1表示某状态出现 。
因果图涉及的概念
1)关系
恒等:若c1是1,则e1也是1;否则e1为0 。
非:若c1是1,则e1是0;否则e1是1 。
或:若c1或c2或c3是1,则e1是1;否则e1为0 。“或”可有任意个输入 。
与:若c1和c2都是1,则e1为1;否则e1为0 。“与”也可有任意个输入 。
2)约束
输入状态相互之间还可能存在某些依赖关系,称为约束 。例如, 某些输入条件本身不可能同时出现 。输出状态之间也往往存在约束 。在因果图中,用特定的符号标明这些约束 。
超适合新手的黑盒测试用例设计方法

文章插图
 
输入条件的约束有以下4类:
E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1 。
I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0 。
O约束(唯一);a和b必须有一个,且仅有1个为1 。
R约束(要求):a是1时,b必须是1,即不可能a是1时b是0 。
说明:唯一的情况是有一个默认值:而互斥没有默认值
输出条件约束类型
输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0 。
总结:当有输入数据的时候,可以把需求中要求的每一个输入项当做一个条件
判定表驱动概念
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具 。
判定表驱动法
判定表的优点
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏 。因此,利用判定表能够设计出完整的测试用例集合 。
判定表(因果图)也是考虑控件组合,但是组合数量较少(一般不会超过20种),而且测试全面
正交试验法概念
依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等 。
应用
正交表:一种特制的表,一般正交表记为:Ln(m^K)
n是表的行数,也就是需要测试组合的次数
K是表的列数,表示控件的个数(因素的个数,或因子个数)
m是每个控件包含的取值个数(因因素的水平数,即因素的状态数)
功能图法概念
功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同时要依靠判定表或因果图表示的逻辑功能 。
场景法概念
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流 。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行 。


推荐阅读