【测试理论】软件缺陷的本质

    我才疏学浅,很少引经据典。当然,就我感觉而言,软件行业,尤其是软件测试,谈的上经典的,屈指可数。

    我从网上查阅到,计算机硬件的错误率是:对 1Mbit 进行10亿小时操作,突发异常 778 – 25,000 次(参考Google员工论文,这方面资料很少,如果理解有误请看原文)。如果硬件极少发生缺陷,那么软件怎么会出错呢。

    实际上,我们通常说的软件缺陷是指软件没有按照我们期望方式工作,本质上是给了计算机错误的指令或没有给该给的指令。所以,软件缺陷的本质是:人的失误 。人和计算机交流的时候:话说错了,该嘱咐的没嘱咐,说的啰里啰嗦。可以说:计算机从来没有错,软件从来没有错,都是人的错。

    软件测试,就是要扫除软件的缺陷,我们应该以什么样的视角,什么样的手段来发现、避免软件的缺陷呢?

    如果我们只是根据交付给我们的软件的表现,来发现缺陷的话,那么对于我们想不到的输入,就难以看到软件的行为。甚至对于我们看到的错误行为,也有可能理解为合理的行为。还有可能是我们只关注到了软件部分行为,而忽略了其他行为。导致种种缺陷漏网的发生。

    如果把视角放在,如何避免、发现人的失误上,提升软件质量可做的事情,就有很多可以发挥想象力的地方。比如,人们发明了 软件开发流程 ,技术评审点(TR),分阶段、逐层量化控制人可能出现的失误。很多开发的checklist、测试checklist、某个领域特有的checklist等等。甚至在软件测试中想一想,如果我是开发,这里可能会用什么方式实现,可能埋下怎样的错。

    想想现在软件工程师在大家脑中的形象,很多时候,是我们自己 把脑力劳动做成了体力劳动,做贱了自己


参考文档: DRAM Errors in the Wild: A Large-Scale Field Study  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值