读书笔记:《The Art of Software Testing》第四章—于无声处听惊雷

  Myers的这本书非常不错,非常薄,但简明扼要,讲的是测试中的基本原则,值得人反复研读。今天看的第四章测试用例的设计应该算是本书的重点部分。简而言之,在书中的前面几章,作者阐明了一个观点。完全的测试方法是不可能的,对任何程序的测试必定是不完全的。那么,如何在时间成本的约束条件下,尽量选取一个测试用例的子集,使其最有可能发现最多的错误。

  总的原则确定了,接下来作者分别讨论了黑盒和白盒测试的一些具体测试方法。并且建议在实现策略时将这几种方法综合起来,因为任何一种单独的测试方法都是不完善的,都有其优势和弱点。  白盒测试方法有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,多重条件覆盖。白盒的优点是测试可以覆盖程序逻辑结构(源代码),但缺点是它未考虑到程序的规格说明。这之中,最完整的是多重条件覆盖。

  黑盒的测试方法有等价类划分,边界值分析,因果图分析,错误猜测。等价类中,覆盖有效等价类时,一次要覆盖尽可能多的有效等价类,即用例设置在多个有效等价类的交集部分。覆盖无效等价类时,每次仅覆盖一个,这是因为一次有多个无效条件,可能在判断出第一个条件不满足时,后面的条件根本不做判定了,从而相关的等价类就没有被测试到。边界值分析也较好理解,这是从经验中总结出来的,重点考虑边界条件时,具有较好的测试回报率。因果图看起来比较复杂,整个过程也极为繁琐。其中最具难度的地方是将因果图转化为判定表的部分。错误猜测则具有相当多的偶然性了。大体是我们可以猜想程序可能会出错的地方,然后编写用例加以测试。

  最后,作者建议了一个测试策略。
  1.先根据规格说明使用因果图分析。
  2.边界值分析加以补充
  3.等价类分析
  4.错误猜测
  5.检查程序逻辑结果,使用白盒中各种覆盖准则。

  看完这部分,最大的体会就是,测试工作量如此之大,超乎人的想象。
  然而这项工作又是具有多么大的挑战性啊。给人以非常大的施展才华的空间。
  可以说,测试中的想象力和创造力一点也不亚于分析和设计。
  看来,测试就是“螺狮壳里做道场”,“于无声处听惊雷”!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值