黑盒测试--边界值、特殊值、随机测试

边界值分析

  • 经验表明:大量的错误发生在定义域和值域的边界上,而不是内部。
  • 确定边界条件取值的原则
    • 如果规定了值的范围,则取刚达到范围的边界,以及刚超过边界的值。
    • 如果规定了值的个数,则取最大个数、最小个数,最大个数多一、最小个数少一。
    • 规定了输入域或输出域是有序集合,则取第一个元素和最后一个元素。
    • 如果使用的是一个内部数据结构,则选择这个内部数据结构的边界上的值。
  • 边界值分析
    • 在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。
    • 表示方法(min、min+、nom、max-、和max)。
  • 单缺陷假设
    • 失效极少是由两个或多个缺陷的同时发生引起的。
    • 单缺陷假设是边界值分析的关键假设。
  • 边界值分析测试用例
    • 使所有变量取正常值,只使一个变量取极值。
    • 对于一个n变量函数,边界值分析会产生4n+1个测试用例。
  • 优缺点
    • 优点:简便易行,生成测试数据的成本很低。
    • 缺点:测试用例不充分,不能发现测试变量之间的依赖关系;不考虑含义和性质。
    • 结论:只能作为初步测试用例使用。

健壮性边界值测试

  • 健壮性是指在异常情况下,软件还能正常运行的能力。健壮的系统是指对于规范要求以外的输入,能够判断该输入不符合要求,并能合理处理的系统。
  • 健壮性测试是边界值分析的一种简单扩展,除了使用五个边界值分析取值,还要过采用:
    • 一个略超过最大值(max+)的取值
    • 一个略小于最小值(min-)的取值
    • (xmin-,xmin,xmin+,xnom,xmax-,xmax ,xmax+)
    • 对于一个n变量函数,健壮性边界值分析会产生6n+1个测试用例。
  • 健壮性测试的主要价值是观察异常情况的处理
    • 软件质量要素的衡量标准:软件的容错性
    • 软件容错性的度量
      • 从非法输入中恢复

最坏情况边界值测试

  • 最坏情况测试的基本思想
    • 边界值测试分析采用了可靠性理论的单缺陷假设
    • 最坏情况测试拒绝这种假设,关心当多个变量都取极值时会出现什么情况。
  • 最坏情况用例设计方法
    • 对每一个变量首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值 五个元素集合的测试,然后对这些集合进行笛卡尔积计算,以生成测试用例。
    • n变量函数的最坏情况测试会产生5n个测试用例。

健壮最坏边界值测试

  • 对每一个变量,首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值、略大于最大值、略小于最小值的取值。然后对这些集合进行笛卡尔积计算以生成测试用例。
  • 健壮最坏情况测试总产生7n个测试用例。

总结

在这里插入图片描述

特殊值测试

  • 特殊值测试使用领域知识、使用类似程序的经验开发测试用例的特殊值。
  • 特点:最直观、最不一致、具有高度主观性。
  • 特殊值测试特别依赖测试人员的能力。
  • 虽然特殊值测试是高度主观性的,但是能更有效地发现缺陷。

随机测试

  • 不是永远选取有界变量的最小值、略高于最小值、正常值、略低于最大值和最大值,而是使用随机数生成器选出测试用例值。

等价类划分与边界值分析的比较

  • 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
  • 通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
  • 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
- 黑盒测试的目的是验证软件系统的功能是否按照规格说明书的要求正常工作,而不需要了解系统内部的实现细节。测试人员根据输入和预期输出来设计测试用例,然后执行这些测试用例,验证系统是否能够正确地处理输入并产生正确的输出。 - 白盒测试的目的是验证软件系统的内部逻辑是否正确。测试人员需要了解系统的内部实现细节,通过检查代码、执行路径和数据流等来设计测试用例,然后执行这些测试用例,验证系统是否能够正确地执行各种情况下的代码路径。 - 沙箱测试的目的是测试软件系统在隔离环境中的行为。测试人员在隔离的环境中运行系统,以确保系统不会对外部系统或环境产生负面影响。 - 单元测试的目的是验证系统中的单个模块是否按照设计要求正常工作。测试人员编写测试用例来验证模块的输入和输出,以确保模块能够正确地处理各种情况下的数据和逻辑。 - 集成测试的目的是验证系统中各个子系统之间的交互是否按照设计要求正常工作。测试人员使用模拟数据和环境来测试系统的各个部分,以确保它们能够协同工作。 - 用户验收测试的目的是验证系统是否满足用户的需求和期望。测试人员使用真实数据和环境来测试系统,并且模拟用户的使用情况,以确保系统能够满足用户的需求,并且易于使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值