3.错误推测法
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例
4.因果图法
侧重于输入条件的各种组合,各个输入情况之间的相互制约关系
(1) 因果图设计方法
从用自然语言书写的程序规格说明的描述中找出因果,通过因果图转换成判定表
(2) 因果图导出测试用例步骤
● 第一步:分析程序规格说明的描述中,哪些是原因,哪些是结果。原在因常常是输入条件或是输入条件的等价类,结果是输出条件
● 第二步:分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的‘因果图’
● 第三步:标明约束条件
● 第四步:把因果图转换成判定表
● 第五步:为判定表中每一列表示的情况设计测试用例
(3) 因果图基本图形符号
通常在因果图中,用Ci 表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现) 或1(某状态出现)
● 恒等:若原因出现,则结果出现;若原因不出现,则结果不出现
● 非(~):若原因出现,则结果不出现;若原因不出现,则结果出现
● 或(●):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;
● 与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现
(4) 因果图的约束符号
从输入(原因)考虑四种约束
● E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
● I(包含):表示三个原因中至少有一个必须成立
● O(惟一):表示两个原因中必须有一个,且仅有一个成立
● R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
从输出(结果)考虑一种约束
● M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
5.判定表驱动法
(1) 判定表:是分析和表达多逻辑条件下执行不同操作的情况的工具
(2) 判定表组成
● 条件桩:列出了问题的所有条件
● 动作桩:列出了问题规定可能采取的操作
● 条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
● 动作项:列出在条件项的各种取值情况下应该采取的动作
● 规则:任何一个条件组合的特定取值及其相应要执行的操作
注:判定表中贯穿条件项和动作项的一列就是一条规则;
(3) 判定表的建立(步骤)
● 第一步:确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2n种规则
● 第二步:列出所有的条件桩和动作桩
● 第三步:填入条件项
● 第四步:填入动作项。制定初始判定表
● 第五步:简化。合并相似规则或者相同动作
(4) 适合使用判定表设计测试用例的条件
● 规格说明以判定表的形式给出,或很容易转换成判定表
● 条件的排列顺序不影响执行哪些操作
● 规则的排列顺序不影响执行哪些操作
● 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
● 如果某一规则要执行多个操作,这些操作的执行顺序无关紧要
6.正交试验法
(1) 概述
● 从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法
● 使用已造好的表格“-”正交表来安排试验并进行数据分析的一种方法
● 因子:影响实现指标的条件
● 因子的状态:影响实现因子的条件
(2) 优点
● 节省测试工时
● 可控制生成的测试用例的数量
● 测试用例具有一定的覆盖率
(3) 设计步骤
● 提取功能说明,构造因子‘-’状态表。
● 加权筛选,生成因素分析表;
● 利用正交表构造测试数据集,正交表的推导依据Galois理论
L:代表正交表,L8(27)代表7为因子数,2为因子的水平数,8为此表行的数目(试验次数)
行数为mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+1
例:5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,
即L12(35*2)