第三章:boundary-value analysis

本文详细介绍了边界值分析方法,重点讨论了如何通过边界条件来检测计算错误和边界偏移。文章涵盖了计算错误的概念,边界偏移的影响,以及如何通过选择特定的测试用例来揭示这些错误。同时,文中提供了关于如何处理多种变量的域和边界条件的指导,以及在等式和不等式情况下的测试策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Boundary-value Analysis

  • 边界值分析是在等价类划分的基础上进行的,其目的是为了找到更好的 test cases
    在这里插入图片描述
    在这里插入图片描述
  • 边界条件是应用于输入等价类输出等价类 的边界上方、下方和直接上的谓词。
  • 直观地说,边界值分析旨在选择测试用例 以探索程序的边界条件。边界值分析和输入划分密切相关。它们都利用了一个思想,即等价类中的每个元素应该在程序中执行相同的路径。然而,边界值分析是基于这样一种理论:如果程序员在程序逻辑上犯了错误,导致某些等价类中的输入执行了不正确的路径,则 这些错误通常会发生在等价类之间的边界上,因为这些边界与流程控制结构(如if语句和while循环)有关。

computational faults 计算错误

  • computational faults是在程序中发生的一种故障;例如,算术计算或字符串处理错误
    在这里插入图片描述
    在这里插入图片描述

boundary shift 边界偏移

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

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

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

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

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

boundary value analysis 的优势

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

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

在这里插入图片描述

  • 只有满足这个 path condition 的时候才能执行这条路径
  • domain 是符合这个 path condition 的所有数据
  • domain boundary 是这个 domain 的边界
  • 测试输入被选择在边界上或附近。然而,有两种明显不同的边界类型:闭合边界和开放边界。

Open and closed boundaries (闭合边界 / 开放边界)

在这里插入图片描述

on / off point

  • 我们可以定义边界的 开和关点这些是我们在边界值测试中选择的测试输入。所选择的输入取决于边界类型。
    在这里插入图片描述
    在这里插入图片描述
  • 对于等式或者不等式,他们的 on 点是一样的

Guidelines

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值