怎样衡量测试成功
来源:互联网 发布:Java十六进制异或 编辑:程序博客网 时间:2024/05/04 00:01
怎样衡量测试成功
-- Rob Pirozzi 《How to Measure Testing Success》
Roger翻译于2/27/2010
原文地址:http://www.logigear.com/newsletter/how_to_measure_testing_success.asp
摘要:
在很多时候,高级管理层通过可以节约多少成本来考核软件测试。测试自动化和外包被过分简单化地看作节约软件测试成本的一种简便方法。但是不幸的是,简单地自动化和外包一个低效的软件测试将导致一个差的自动化和外包测试绩效(But the sad truth is that simply automating or offshoring a poor software testing effort will simply yield an automated and offshore poor testing effort)。另外在自动化和外包的计划上,如果采用同样简单的方式,那么成本或许并不会降低。
对于管理者,软件测试绩效之“成功”的定义显得非常重要。当然成本是一方面,但它不是唯一的一个方面。另外应该被考虑在内的有以下几个方面:
l 测试覆盖的广度
l 测试可复用性
l 对软件测试所引申出的数据进行评估
l 被测试软件的质量
有了这些标准,对于成功,管理者应该有一个与测试策略及测试方法学相一致的清晰定义。当然,如果还没有策略和方法学,那就应该首先制定,但是这是另一篇文章的主题。
本文将讨论非成本的成功因素的重要性。
测试覆盖的广度
测试覆盖的广度指的是在软件发布前实际上测试了多少。当然,对一个大而复杂的软件来说,完全测试是不可能的,尽可能多的测试时完全可以接受的。一个合理的开始测试点是,对软件重要且常用的地方进行完全测试。结果可能是测试自动化和/或外包将使得软件在相同的时间内被更完全的测试(It may turn out that test automation 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)。
参考文章
l Key Success Factors for Keyword Driven Testing, Hans Buwalda
l Software Testing 3.0: Delivering on the Promise of Software Testing, Hung Q. Nguyen and Rob Pirozzi
l The Four Drivers for Delivering Automation Success, Hung Q. Nguyen
l Understanding Quality Cost, Rob Pirozzi
- 怎样衡量测试成功
- 数据管理质量怎样衡量
- 如何衡量测试效率
- 如何衡量一个操作系统是否成功
- CIO如何衡量ERP项目是否成功?
- CIO如何衡量数字化转型成功?
- 怎样衡量企业的MS水平
- 怎样衡量一份工作是否值得坚持?
- C#怎样测试SmtpClient客户端是否成功连接SmtpServer?
- 衡量
- 衡量服务器性能的基准测试
- 软件测试的原则和衡量标准
- 压力测试衡量CPU的三个指标
- 如何衡量和提高测试效率
- 如何衡量和提高测试效率
- 性能测试衡量指标--学习笔记
- 打工皇帝唐骏:自己才是衡量成功的标尺
- 衡量SOA是否成功企业用什么办法去判断?
- 关于CMMI
- vmware虚拟linux局域网中上网
- Ubutnu安装wxPython/jdk
- mushup的神秘面纱
- SmartFoxServer学习笔记1——Linux下安装
- 怎样衡量测试成功
- 不打开另一个工作簿取它里面的工作表名
- 使用JS预加载图片
- table+iframe+变量url实现左边treeview,右边根据节点选择不同加载不同页面
- listView.GetItemAt()
- tomcat OutOfMemory 终极解决办法
- 隐藏SDI、MDI标题栏
- 不要等待
- Cassandra的数据模型