进步无穷尽,测试有尽头。。。

怎样衡量测试成功

上一篇 / 下一篇  2010-03-01 16:11:05 / 精华(1) / 置顶(1) / 个人分类:项目管理

摘要:

  在很多时候,高级管理层通过可以节约多少成本来考核软件测试。测试自动化和外包被过分简单化地看作节约软件测试成本的一种简便方法。但是不幸的是,简单地自动化和外包一个低效的软件测试将导致一个差的自动化和外包测试绩效(But the sad truth is that simply automating or offshoring a poor softwaretestingeffort will simply yield an automated and offshore poor testing effort)。另外在自动化和外包的计划上,如果采用同样简单的方式,那么成本或许并不会降低。

  对于管理者,软件测试绩效之“成功”的定义显得非常重要。当然成本是一方面,但它不是唯一的一个方面。另外应该被考虑在内的有以下几个方面:

  • 测试覆盖的广度
  • 测试可复用性
  • 对软件测试所引申出的数据进行评估
  • 被测试软件的质量

  有了这些标准,对于成功,管理者应该有一个与测试策略及测试方法学相一致的清晰定义。当然,如果还没有策略和方法学,那就应该首先制定,但是这是另一篇文章的主题。

  本文将讨论非成本的成功因素的重要性。

  测试覆盖的广度

  测试覆盖的广度指的是在软件发布前实际上测试了多少。当然,对一个大而复杂的软件来说,完全测试是不可能的,尽可能多的测试时完全可以接受的。一个合理的开始测试点是,对软件重要且常用的地方进行完全测试。结果可能是测试自动化和/或外包将使得软件在相同的时间内被更完全的测试(It may turn out thattestautomation and/or offshoring may allow a company to test their software much more thoroughly in the same amount of time.)。在这种情景下,测试成本实际上可能并不会降低,但是流入到客户手上的缺陷将会变得更少,这也就减少了市场支持和维护的成本。

  测试可复用性

  对于软件的每个修正版本或发行版本,所有的测试(tests)需要重新创建,这种软件测试绩效,如果不采用自动化和外包,成本将会变得很高昂。任何软件测试绩效的一种考虑方式,就是你从软件测试上得到了多少,有多少能帮助持续降低测试维护成本的测试能够被复用 (参阅:Tests Built-to-Last: Software Tests as an Asset,Hung Q. Nguyen)。

测试维护成本将随着测试复用的递增而递减

  高程度的测试复用对于软件测试绩效是一个非常重要的指标。它不但降低成本,而且使得以后的测试将变得更快捷,并且能对所测软件有更清晰的认知。所有的这些都是意义非凡且值得的。

  评估数据

  软件测试能为组织提供无限价值的服务。对工程和高层管理者而言,被测试的软件的度量应该是清楚,简明,且易懂的(参阅: Understanding Metrics in Software Testing)。度量,如运行的测试用例,测试覆盖度,发现的缺陷,修复的缺陷等,以一种能窥探被测软件质量的方式为提供了管理信息。只有这样的信息能为管理者提供发布/不发布的决定。

  度量应该成为一个软件测试绩效的指标,在被测软件的快速变化的市场中,它能提供管理参考数据,这恰恰是做出重要商务决策所需的。这样的数据能够帮助组织避免过早地发布一款后续需投入高支持成本的产品。

  软件质量

  好的软件测试本身并不会产生高质量的软件。支撑软件质量有四个支柱,软件测试时其中一个。

软件质量的四大支柱

  假定这样的过程能产出高质量的软件:产品定义,设计和编码,那么软件测试能为软件质量做出非常大的贡献。一个好的软件测试绩效的关注点应该是能正确区分带着缺陷的好软件和不拘泥于缺陷的质量软件(A good, sound, software testing effort that is focused upon the right things is the difference between releasing good software with defects and quality software that is defect free)。

  客户使用软件的高质量的体验将带来友好,客户信赖,新客户,增长收入,降低支持成本。当关注点仅仅停留在软件的测试成本上,所有的这些都将错失。

  结论

  这些成功标准中的一些或许实际上并不能降低软件测试的成本,但是能提供“后续(downstream)”益处。它能帮助一个组织避免将来的费用,也能帮助积累其它益处,如友好,客户信赖,新客户,增长收入。总之,想一下这些非成本的标准或许能真正的帮助增长收入,降低整体成本,提高利润率,即使组织没有在软件测试上节省一分钱。对于仅仅关注降低测试成本的公司而言,这些都是可能被错失的。使用所有的度量方式定义测试成功,能生成一个无比优秀的软件测试过程(Defining success using all metrics can yield a far superior software testing program)。


TAG:

 

评分:0

我来说两句

Open Toolbar