软件测试之黑盒测试

本文介绍了黑盒测试的基本概念,强调了其在软件测试后期的重要性。内容涵盖等价类划分,包括有效和无效等价类的概念,并通过三角形判断程序举例说明。此外,还讨论了边界值分析的策略,如选取边界值作为测试用例,以及与等价类划分的区别。最后提到了决策表测试,这是一种严格的测试方法,能够全面展示复杂问题的各种可能情况。

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

黑盒测试

黑盒测试又称正确性测试,或功能测试,是对产品的各功能进行验证,用于检查产品是否达到用户要求的功能或者说检查软件的功能是否符合规格说明。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。白盒测试在测试的早期采用,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构,而是注意信息域。

黑盒测试主要测试的方面:

  • 不正确或遗漏的功能;
  • 接口、界面错误;
  • 性能错误;
  • 数据结构或外部数据访问错误;
  • 初始化或终止条件错误等等。

等价类划分

等价类划分是一种典型的黑盒测试方法,该方法完全不考虑程序的内部结构,只根据对软件的要求和说明,即需求规格说明书,把程序输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据为作测试输入。

有效等价类和无效等价类

等价类划分分为两种情况,有效等价类无效等价类


示例:假设存在一个三角形判断程序:输入三个正整数,根据输入的数判断组成的三角形类型。

当输入为:a = 10,b = 10,c = 10时,为有效等价类

当输入为:a = -1,b = 5,c = 9时,由于a=-1不满足,三个都为正整数的条件,因此为无效等价类。

等价类划分

划分等价类需要满足划分的集合为互不相交的一组子集,且这些子集的并是整个集合。

以上面的三角形判断程序为例:


 

边界值分析

大量的故障发生在输入或输出范围的边界上,而不是在输入范围的内部。使用边界值分析方法设计测试用例时首先应确定边界情况。

边界值分析测试数据的选取(也要考虑无效值):

  1. 选取正好等于边界的值
  2. 刚刚大于边界的值
  3. 刚刚小于边界的值

边界值分析的不足:

边界值分析要求输入的变量是独立的,否则这类方法不能产生令人满意的测试用例。例如,月份和日期就不是独立的,日期的最大值随月份的变化而变化。

边界值分析与等价划分的区别:

  1. 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
  2. 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

决策表测试

决策表(也叫判定表)是所有的黑盒测试方法中最严格,最具有逻辑严格性的测试方法。 决策表最突出的优点是,它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。

决策表的原理:

在一些数据处理问题当中,某些操作的实施依赖于多个输入条件的组合。判定表能够将复杂问题按照各种可能的情况全部列举出来,避免遗漏。


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值