Aaron之无主题空间

皆主题,此谓无主题。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

体检报告中的“未见异常”和软件测试

Posted on 2005-08-16 15:05  Aaron  阅读(2238)  评论(9编辑  收藏  举报
        前段时间公司体检,做了CT、胸透等很多检查,在体检表上很多栏体检的结果都是“未见异常”,刚开始看了挺不舒服,正常就正常嘛,干吗叫“未见异常”,可是仔细想想是对的。医院这样的措辞有其严谨性。“未见异常”的潜台词是:没发现问题,但不代表一定没有问题。这也就是不直接填“正常”的原因。这个分析起来大致有两个原因:(1)所有真理都是相对真理。目前的医学知识并不能发现、解释所有问题,也不能保证绝对正确;(2)根据理论进行操作、分析的主体是人,不同的人由于技术技能等级、责任心等等原因,增加了体检结论的不确定性。所以,“未见异常”是很科学的说法。
        我因此就想到了我们软件测试。
        大家都已公认,软件测试是“证伪”,而不是“证真”。就是说软件测试的目的是证明软件有问题,即找出软件的问题;而不是说经过测试没发现问题就说软件没有问题。看看,和体检多么相近?
        我为什么这样联想呢?因为在我们的开发中有一些错误的看法,这些看法认为:测试是保证软件质量的唯一手段;测试可以找出软件的所有问题;测试是软件质量的责任承担者;等等。这些看法爆出很多同仁对软件测试了解太少,对软件开发过程研究不透。在这样错误的认识下,很多测试人员当了冤大头。
        其实,开发过程中的任何一个环节都对软件缺陷负有责任。软件生产的每道工序都对软件质量至关重要。很简单,料理大师不仅仅是手艺好,他们对原料的要求同样苛刻。看过《大长今》的人都知道,韩尚宫和长今多次为外出找到理想食料而颇费周折。软件质量也是如此,从需求调研开始就应该有明确的质量意识,减少出现defect的机会。好的编程习惯、优秀的设计思想也可以大大提高代码质量,提高软件质量。测试只能做测试做的工作,这个环节已经不能减少软件的缺陷了,因为缺陷的产生过程已经结束,因此通过测试来减少系统可能存在的缺陷同时也是种消极的想法。跟体检同样的道理,没有什么测试方法能够保证把系统所有缺陷都找出来,而且不同的测试团队的能力和水平不同,所以测试人员即使说“我们测试了没有问题”,也不是说软件质量就OK了,而最多是个“未见异常”!