1、Include Boundaries in the Partition
大量的错误发生在输入域的边界而不是中央
注意边界
-正整数与负整数之间的0
-数字类型的最大值和最小值
-空寂如空的字符串、空的数组、空的列表
-集合类型中的第一个元素或最后一个元素
边界值分析方法是对等价类划分方法的补充
覆盖分区的两个极限情况:
——笛卡尔积:全覆盖
每一个分区都要有一个测试用例。
对于软件构造6-5第一部分中的例子max(),共有3x5x5=75个测试用例,但是并不是所有组合情况都可能如a < b,a = 0, b = 0
——覆盖每个取值:最少1次即可
每个维度的每个取值至少被一个测试用例覆盖,如在max()的例子中我们选取了五个测试用例:
(1, 2)
(-1, -3)
(0, 0)
(Integer.MIN_VALUE, Integer.MAX_VALUE)
(Integer.MAX_VALUE, Integer.MIN_VALUE)
这五个测试用例覆盖了所有分区。
笛卡尔积测试完备,但是用例数量多,测试代价高
覆盖每个取值测试用例少,代价低,但是测试覆盖率未必高
在实际测试中要折中