接下来结合案例对围着Bug转的三个阶段分别进行介绍。
图2-2 Bug 生命周期曲线闭环图
测试的第二重境界:站在Bug之上
测试的价值仅仅是发现Bug吗?通过“站在Bug之上”测试第二重境界的介绍,希望能帮助读者正确理解测试的真正价值是什么,在实际工作中如何操作以体现 这些价值。不同的理念,将会牵引着测试人员朝不同的方向迈进,“站在Bug之上”可以拓宽测试人员的视野,找到更多可以充分体现测试价值的测试链,让测试 人员为项目的成功做出更大的贡献,从而带来更宽范围的测试成功。
测试的价值不仅仅是发现Bug
一提到测试,大家马上会想到Bug。测试仅仅就是为了发现Bug吗?这是值得我们思考的问题。
从软件测试最基本的定义出发,早在1979年J. Myers在《软件测试的艺术》一书中提到:
1、软件测试的目的就是尽早发现Bug。
2、一个成功的测试就是发现了至今为止尚未发现的Bug的测试。
总之,测试就是为了发现Bug,测试所做的工作无一不是围绕Bug而展开,如图2-8所示。测试发现Bug越多,测试人员越自豪,越有成就感,这个观点已几乎根深蒂固地扎在了我们的心里,测试除了发现Bug真没其他事情可做吗?
图2-3已发现Bug为核心的测试机制
发现了很多Bug,测试人员高兴了,但老板肯定是不高兴的。很明显的道理,为了解决这些Bug,他必须付出更多的成本,包括开发人员与测试人员的工资,更 严重的还可能影响产品交付市场的时间。商场如战场,时间就是金钱,时间能给产品带来更多的市场空间,为企业赢得更多的利润。理解这些商业知识能帮助我们做 正确的事,并且正确地做事。认识到这一点后,相信测试朋友就不会再为某个Bug还没有解决,版本却上市而耿耿于怀了。测试人员应该跳出仅发现Bug就沾沾 自喜的圈子,看到项目整体,站在公司的角度想测试可以做什么。只有项目成功了,公司才能获得利润,最终达到员工与公司双赢的目标。
质量、成本、时间是项目管理的三要素。它们像三足鼎立,稳如泰山,即质量好、成本低、工期短,这样的项目当然是项目经理求之不得的。但它们又是矛盾地存在 着,形象地看,它们犹如一个等边三角形,如图2-4所示。对其中的任何一个元素处理不当,三元素的三角关系就会变得不稳定,将给项目的成功带来风险。
图2-4 测试与项目管理要素关系图
软件测试团队是整个项目团队大家庭中的成员之一,在软件质量上把关,要尽可能早、尽可能多地发现Bug。这也是软件测试成立的根本,是质量上能给项目做出 贡献的地方。那么在成本与时间的控制上,测试可以做些什么,要如何做呢?也就是前面提到的测试如何配合项目的成功做正确的事,并且正确地做事。
小贴士:
1、做正确的事与正确地做事
2、做正确的事出发点是企业利益最大化,而不是站在个人和小团体的立场去做事,也不是怕承担责任,把事推给别人。要求我们在众多的可能性中选择,辨别出什么是正确的,什么是最直接、最可行的做事方式和方法,把企业效益最大化作为办事的标准。
3、正确地做事,是驱动具体做事的人员如何按照领导的意见去做事,而不去考虑是否符合企业效益最大化的原则。
对于测试,做正确的事就是站在用户的角度,进行常用功能(模块)重点测试,而避免非常用功能的过度测试,浪费成本,包括人力与时间的投入。正确地做事,就是采用合理、全面的测试方法验证软件是否符合用户需求,不想当然地通过用户根本不可能用到的非法操作或后门进行验证。下面讲述关于软件测试的2-8原则,通过此2-8原则,可以使软件测试在项目的成本与时间的应用上做到效益最大化。
举个大家在日常生活中常遇到的例子,如经常看到广告上说,现在的手机软件的功能如何强大,如何丰富,但每一功能用户使用的频度都一样吗?回答是否定的。这 就有了在软件测试范围侧重点上存在的2-8原则,即要把80%的精力放在测试20%的重点功能上。从用户角度出发,这是值得的,也是需要这样做的。
原文转自:http://www.uml.org.cn/Test/201306184.asp