等价类划分
边界值分析
错误推测
因果图
功能图
一 等价类划分
等价类划分就是对所有的输入数据划分不同的子集,并且相同子集内部的数据对于程序的运行是等效的。达到测试子集中的某一数据即可代表子集中的所有数据。可分为有效等价类和无效等价类两种集合。
确定等价类的几个原则:
- 在确定输入范围或取值个数的情况下,可确定一个有效等价类和两个无效等价类。其中的有效等价类就是确定的输入域,而无效等价类分别是大于和小于两种情况的域。要特别注意空值和0值这两个值的覆盖。
- 在输入条件是个布尔值时,可确定一个有效等价类和一个无效等价类。
- 在规定了一组值,并且对并且对这个n个值分别处理的情况下,可确定n个有效等价类和一个无效等价类,其实可再将这n个有效值归类为若干个有效等价类集合,这取决于业务的重要性而确定的抽样频次。
- 在规定了输入规则的情况下,可确定一个有效等价类(符合规则)和若干个符合子规则的子有效等价类,同时确定若干个无效等价类(从不同角度违反规则)。
确定等价类之后设计测试用例的三个步骤:
- 给每一个等价类编号(最好列成表格的形式)。
- 设计一个新的测试用例,尽可能多的覆盖尚未被覆盖的有效等价类。重复这一步,直到所有的有效等价类都被覆盖。
- 设计一个新的测试用例,使其仅覆盖一个无效等价类。重复这一步,直到所有的无效等价类都被覆盖。
二 边界值分析法
根据输入和输出的等价类边界,选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据,而不是等价类中的典型值或任意值。要注意极大值和极小值。
设计步骤:
- 如果规定取值范围,则选取范围的边界值以及前后相邻的值,作为测试的输入数据。
- 如果规定输入的个数,选取正好等于、正好大一、正好小一(分别是最大值和最小值的两边)。
- 选取有序集合中的第一个和最后一个元素。
- 根据输出域的边界值,回推输入域的值,使得输出域的边界被上述步骤覆盖。
三 错误推测法
根据自觉和经验推测程序中可能存在的各种错误,从而有针对性性的设计测试用例的方法。
四 判定表法
判定表分析法主要是分析和表达多种输入条件下系统执行不同动作的技术。它可以把复杂的逻辑关系和多种条件组合的情况表达得很明确。
判定表由四个部分组成:
- 条件桩:列出被测对象的所有输入,并列出输入条件与次序无关。
- 动作桩:列出输入条件系统可能采取的操作,这些操作的排序顺序没有约束。
- 条件项:列出输入条件的其他取值,在所有可能情况下的真假值。
- 动作项:列出在条件项的各种取值情况下应采取的动作。
规则:将条件项和动作项组合在一起,即在条件项的各种取值情况下应采取的动作。在判定表中贯穿条件项和动作项的每一列构成一条规则,即测试用例。可以针对每个合法的输入组合的规则设计测试用例进行测试。规则计算方式为2n个,其中n表示条件个数。
在根据判定表设计好的测试用例中,可能存在相似的规则,即条件桩的取值对动作桩无影响的情况。此时,可以将规则进行合并。合并的规则是动作桩相同情况下,并且条件项中存在相似的关系,则可以合并规则。
判定表分析法的设计用例的步骤如下:
步骤1:找出条件桩和动作桩。
步骤2:分析条件项,并计算规则个数,然后构成判定表。
步骤3:根据条件项的各种取值将动作项填入判定表中。
步骤4:简化判定表,合并相似的规则。
步骤5:根据每条规则生成对应的测试用例。
在使用判定表时,需要注意,合并是存在风险的,因为它是以牺牲输入条件的组合为代价的。一般情况下,测试用例少的时候不建议合并,如果用例设计多需要合并时,最多只进行一次合并。
五 因果图分析法
因果图分析法是分析输入条件之间的约束情况,然后生成判定表,进行用例设计。其主要目的还是在辅助输出判定表的基础上产生用例。
因果图分析法的设计用例的步骤如下:
步骤1:找出输入条件(原因)和输出条件(结果)。
步骤2:画出因果关系图,如果一步不能达到结果,可以借助中间节点。
步骤3:将因果关系图转换为判定表。
步骤4:简化判定表,合并相似的规则。
步骤5:根据每条规则生成对应的测试用例。