离离原上草,一岁一枯荣。 野火烧不尽,春风吹又生。

关于软件测试定义的前思后想

上一篇 / 下一篇  2011-04-13 14:38:58 / 个人分类:废话

软件测试的定义在哪里用得最多?肯定是在面试的时候。前人已经说过了,最开始的定义是80年代的,证明软件的正确性。然后是最常用的,软件测试就是找缺陷。另外还有一些非主流的定义,比如再现客户使用软件的各种场景等等……

其实,定义的目的是为实际活动进行解释和规范。比如医学的定义是治病救人,但是中医和西医干得具体工作差别很大。‘治病救人’的定义是说给需要看病的人说的,对研究医学的人指导意义并不大。几何或物理学,对直线,面,力,长度等等的定义,是为了建立整个架构的基础。如果拿几何或物理与软件开发进行比较。你可以发现以下几点

1.欧氏几何已经被开发了上千年了,软件开发通常只有几个月。
2.人们使用欧氏几何来盖房子修路,人们使用宏观物理来造汽车,人们使用软件来管理企业,娱乐,计算数据。
3.当人们觉得欧氏几何不够用时,就开发了非欧几何;人们要造nuke弹时,就要使用微观物理;当人们不喜欢一个软件的时候,就会去用别的软件。
4.理论和软件都有缺陷。比如有人在比萨斜塔上扔下来两个球而一举成名,软件测试人员每天要建很多塔,扔无数的球,除了开发人员很少有人记住他们。我只能说传统理论和软件产品相比要重要的多。
5.传统理论的创建者经常被人当作神,但是不包括扔球的那小子。同样,软件测试人员不该用神的标准要求开发人员,但是用户会。
6.……

虽然我们把很多东西进行了定义,比如物理学对力进行了定义,几何学对直线进行了定义。但是物理学需要做实验,科学家对实验本身没有明确的定义(或许有,但是我是外行,我不知道)。由此可见,软件测试并不需要明确的定义,更甚一步软件测试是其他需要定义的概念的基础。

我在网上搜到一句话“经过大量严格的实验验证的物理学规律被称为物理学定律。”可见,当你质疑物理学定律的时候,无数聪明透顶的科学家立刻疲软,他们已经把这个问题推给了实验人员(可能就是他们自己)。“大量严格的实验验证”,这句话明显是用来骗外行的。堪称完美的物理学就是建立在这句话上的。如果你想更深入一步了解物理学定律的制造过程,科学家们也许会含笑不语。如果你想了解开发软件的过程,开发人员也对你含笑不语,希望你同样表示理解。这群含笑不语的人是最拿手的就是定义和逻辑,还有另一个神秘力量在进行“大量严格的实验验证”,想了解这部分你必须是个“内部人”。

如果你是软件测试人员,你绝对无法用“大量严格的实验验证”来忽悠产品经理,特别是在产品缺陷不断发生的时候。软件测试的定义本身可能无法严谨,但是软件测试是开发高质量软件产品的一项基础活动。


TAG:

Emma的个人空间 引用 删除 caoyan_emma   /   2011-04-13 16:51:00
我咋觉得自己是扔球那小子......
 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 16751
  • 日志数: 32
  • 建立时间: 2010-09-08
  • 更新时间: 2011-08-11

RSS订阅

Open Toolbar