第三章:boundary-value analysis

文章目录

  • 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-value analysis_第1张图片
    第三章:boundary-value analysis_第2张图片

boundary shift 边界偏移

  • 边界偏移: 边界偏移是指分支语句中的谓词不正确,从而有效地“偏离”了其预期位置。
    在这里插入图片描述
    第三章:boundary-value analysis_第3张图片

  • 上述例子的边界就偏移了 1 个值(从不包括 10 到了包括 10)

  • 如果我们任意选择等价类的值,比如一个长度为 5 的列表和一个长度为15 的列表,那么我们的测试将无法发现上述错误。

  • 许多故障是由于边界条件引入了边界偏移,因为程序员要么:

    • (1)对输入条件的正确边界不确定;
    • 或者(2)错误地测试了边界。

boundary value analysis 的优势

  • 在边界上进行的测试既可以检测到 计算故障 又可以检测到 边界偏移,而远离边界缺陷的测试只能检测到计算故障。
  • 边界值分析需要从等价类的边缘或接近等价类的位置 选择 一个或多个测试用例,而等价划分只需要任何一个等价类中的元素即可。边界值分析还要求从输出条件派生出测试用例。这与通常只考虑输入域的等价划分不同。
    第三章:boundary-value analysis_第4张图片

Path condition, domain, and domain boundary (路径条件、域和域边界)

你可能感兴趣的:(testing)