老司机教你如何编写黑盒测试与白盒测试的测试用例

本文介绍了黑盒测试与白盒测试的原理及其在单元测试中的应用。黑盒测试依据规格说明,关注产品的外部行为,而白盒测试则基于代码结构,关注执行路径。由于组合爆炸问题,全面的测试不可能,因此建议先进行黑盒测试,再补充白盒测试用例。等价类划分和边界值分析是黑盒测试的有效技术,而语句覆盖、分支覆盖和路径覆盖则是白盒测试的主要方法。此外,代码复杂性度量也可用于辅助评估测试需求。
摘要由CSDN通过智能技术生成

单元测试的测试数据可以用两个基本的方法系统地构建。第一个是规格说明测试,这个技术也称为黑盒测试(行为测试,数据驱动测试,功能测试以及输入/ 输出驱动测试)。在这个方法中,不考虑代码本身,在拟制测试用例中使用的仅有的信息是规格说明文档。另一个是代码测试,它在选择测试用例时不理会规格说明文档。这个技术也称为白盒测试(结构测试、逻辑驱动测试以及面向路径测试)。

规格说明测试的可行性:

考虑下面的例子。假定某个数据处理产品的规格说明指出,必须包含5类佣金和7类折扣。仅测试佣金和折扣的每个可能的组合就需要35个测试用例,说佣金和折扣是在两个完全独立的模块中,因而可以独立测试是没有用的,因为在黑盒测试中将产品当作黑盒对待,它的内部结构因此是完全无关的。因此,彻底的规格说明测试在实际中是不可能的,因为它的组合方式会爆炸式的增长。

代码测试的可行性:

代码测试最常见的形式要求对模块通过的每条路径最少执行一次。试验产品中全部路径是不可靠的,因为存在这样的产品,某些数据试验一个给定路径将检测到错误,而不同的数据试验同一个路径将不会检出错误。然而,面向路径的测试是有效的,因为它没有固有地将可能揭示错误的测试数据的选择排除在外。

因为组合爆炸,彻底的规格说明测试或彻底的代码测试都是不可行的。为此,在使用将尽可能多揭示错误的技术的同时,也承认没有方法保证已经检测出全部错误,一个继续下去的合理的办法是首先使用黑盒测试用例,然后使用白盒测试开发额外的测试用例。

黑盒单元测试技术:

彻底的黑盒测试通常要求成百上千亿的测试用例,因此测试的技巧是设计一个较小,可管理的测试用例集,是检测出一个错误的机会最大,同时通过让相同的错误由多个测试用例检出从而使浪费一个测试用例的机会最

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

传说三哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值