文章目录
- Boundary-value Analysis
-
- computational faults 计算错误
- boundary shift 边界偏移
- boundary value analysis 的优势
- Path condition, domain, and domain boundary (路径条件、域和域边界)
- Open and closed boundaries (闭合边界 / 开放边界)
- on / off point
- Guidelines
-
- triangle 的例子
- 多个变量的 domain (Domains with Multiple Variables)
- 检测边界偏移
-
- 不等式情况
- 等式情况
Boundary-value Analysis
- 边界值分析是在等价类划分的基础上进行的,其目的是为了找到更好的 test cases
- 边界条件是应用于输入等价类和 输出等价类 的边界上方、下方和直接上的谓词。
- 直观地说,边界值分析旨在选择测试用例 以探索程序的边界条件。边界值分析和输入划分密切相关。它们都利用了一个思想,即等价类中的每个元素应该在程序中执行相同的路径。然而,边界值分析是基于这样一种理论:如果程序员在程序逻辑上犯了错误,导致某些等价类中的输入执行了不正确的路径,则 这些错误通常会发生在等价类之间的边界上,因为这些边界与流程控制结构(如if语句和while循环)有关。
computational faults 计算错误
- computational faults是在程序中发生的一种故障;例如,算术计算或字符串处理错误
boundary shift 边界偏移
-
边界偏移: 边界偏移是指分支语句中的谓词不正确,从而有效地“偏离”了其预期位置。
-
上述例子的边界就偏移了 1 个值(从不包括 10 到了包括 10)
-
如果我们任意选择等价类的值,比如一个长度为 5 的列表和一个长度为15 的列表,那么我们的测试将无法发现上述错误。
-
许多故障是由于边界条件引入了边界偏移,因为程序员要么:
- (1)对输入条件的正确边界不确定;
- 或者(2)错误地测试了边界。
boundary value analysis 的优势
- 在边界上进行的测试既可以检测到 计算故障 又可以检测到 边界偏移,而远离边界缺陷的测试只能检测到计算故障。
- 边界值分析需要从等价类的边缘或接近等价类的位置 选择 一个或多个测试用例,而等价划分只需要任何一个等价类中的元素即可。边界值分析还要求从输出条件派生出测试用例。这与通常只考虑输入域的等价划分不同。