边界值测试,即使用输入空间的边界值来标识测试用例。基本原理是错误很可能出现在输入变量的极值附近。基本思想就是使用变量的最小值、略高于最小值、正常值、略低于最大值、最大值来测试程序的正确反应。
边界值测试有个假设,“单缺陷”假设,这个假设的内容是“问题极少是由两个或多个缺陷同时发生所引起的”,所以在进行边界值测试的时候只要考虑让一个变量取上述五个值而让另外一个变量取正常值。
对于n个变量的输入,边界值分析会产生4n+1个用例,因为有n-1个冗余的都包含正常值的测试用例。
边界值分析的局限性之一是假设输入变量是完全独立的,而有些输入变量却是相关的,如NextDate中的年月日变量,闰年的2月有29天,其他时有28天。
考虑异常情况时,即健壮性测试,还添加略超过最大值和略小于最小值两个值。
考虑“多缺陷”时,即最坏情况测试。它对所有的取值做了一个笛卡尔乘积的组合,所以n个变量的最坏情况就是5的n次方。
考虑健壮的最坏情况的话,n个变量的最坏情况就是7的n次方。
考虑特殊情况时,即根据测试人员的经验、程序的特点等补充特殊值的测试用例。如闰年的2月有29天。