`
marb
  • 浏览: 418905 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

软件测试的核心价值

阅读更多

既然是“核心价值”,就应该能用一句话说清楚。关于软件测试的核心价值是什么,各种观点争论了很久,似乎很难得出一个明确的结论。这里有个很重要的原因,就是我们都深陷在测试工作的细节里面,没办法看清自己的位置和价值。不识庐山真面目,只缘身在此山中。

要想搞清楚这个问题,我们必须走出围城来进行分析,如果把软件测试看成一种服务,那么从客户的视角来评判,最合适不过了。下面讲一件真实的事情。

有一次我回家跟老友一起吃饭,聊起最近的工作。老友的单位是一家大企业,几个月前委托一家软件开发公司,开发了一套很大的企业管理软件。现在软件已 经开发完成,进入了验收阶段。现在问题来了,负责验收软件的是信管部,部门老大非常担心软件的质量,希望能在验收签字前,把软件的严重质量问题都找出来, 可是又不知道该从哪下手,如果能有一个权威的软件评测机构,对软件进行专业的测试,就最好了。

“你们淘宝的软件测试,应该做的很专业吧,能不能帮我们来测试一下这个软件?你们接这种业务么?”老友提出这个问题。

虽然淘宝测试现在还没有这种外接服务,不过这是一个难得的,饶有趣味的话题。

“那你想要我们来测试哪些东西呢?哪些地方最担心?”

“主要是性能吧,如果全公司人一起来用,不知道会不会出问题。还有就是数据的安全方面,公司的重要数据一定要绝对安全,不能被挖走。”

“那软件的功能呢,功能需不需要我们来测一下?”

“功能就不用了,我让我们部门的人来点点就行了。”

听到这话我有点觉得不爽,不过想想倒也没必要跟老友去争辩这个问题,其实这确实是很多人对软件测试的看法。后来这个话题被岔开,没有继续谈下去了。

所以下面的谈话并没有真实发生,是我用推理的方式,把讨论继续了下去,非常有趣。

“功能测试并不是随便点点这么简单,淘宝的测试非常专业的,因为我们…”

大家注意,精彩的地方到了,当我说出一个原因,并且能让老友信服,那就说明,这就是软件测试的核心价值了。

“…我们的工程师对需求理解得很透彻,对业务很精通。”

“我们部门的人对需求也很清楚的,因为他们就是最终的用户。”在平时的项目里我们也发现,无论需求分析做得多细致,软件交付以后,用户总能提出很多 问题和改进意见,这是正常的,大可不必因此责怪测试工程师,因为没有人比用户更了解需求。最重要的是,不要让用户发现既严重又初级的Bug。

“…我们编写的测试用例、文档非常专业非常完整,能够保证测试的质量。”

“很好啊,你们很专业,不过这是你们内部的工作方式,我不是很关注的。”这里并不是否定测试文档的作用,只不过测试文档是测试团队的过程产物,无法直接给用户带来价值。

“…我们对软件的架构设计非常了解,可以提前发现软件设计中的重要缺陷,避免返工。”

“嗯,这个非常好,不过现在他们已经开发完了,要是在他们编码之前,请你们来对设计方案把把关,就好了。”用户非常希望能控制软件开发的全过程,而软件设计是最重要的里程碑,设计是否合格,直接影响后面的工作。

“…我们能看懂代码,找出代码里的问题,不仅如此,我们还能修复Bug。”

“好是好,不过代码量那么多,你们需要多少人来做啊?至于修复Bug,还是让他们自己改吧,不然我花那么多钱请他们干吗?”

“…我们现在用的最好的测试管理工具,还有最好的自动化测试工具,可以把测试完全自动化。”

“挺好,不过我还是担心需要的资源太多,自动化测试是挺好,你说说具体好在哪里呢?如果比手工测试成本低,就行。”同样的,用户对我们用什么方式测试并不特别关注,成本才是关键。

“…我们的工程师工作效率很高,测试速度非常快,比你们部门的人要快50%。”

“厉害!不过我们这里的薪水都比较低的,你们都是高薪IT,人月成本这么高,如果测的结果差不多,还是我自己找人来做吧。”

“…我们的工程师都是专业人员,你的人只能发现一些表面的Bug,而我们能找出隐藏很深,并且很严重的Bug,这些Bug提早发现,能减少很多损失。”

“有道理,其实我也担心他们这样点点,有些深层次问题发现不了,要是上线一段时间以后,大家才发现,那改都来不及了。”

好了,这段虚拟的对话就到此为止,下面我们来做一些分析。先看一下最开始提到的性能测试和安全测试,这两个测试类型有一定的技术壁垒,因此性能和安 全的Bug,不是每个人随便就能发现的。另外虚拟对话中提到,发现软件设计方案中的问题,也非常有难度。而功能测试的门槛相对较低,即使没受过训练,一般 人也能发现一些初级的Bug,这让很多人产生一个错觉:“一般人”都能做功能测试。

要证明这个错觉不成立,其实也挺容易,那就是看测试人员所发现的Bug,与“一般人”有哪些不同。如果找不到明显的不同,那错觉就变成了现实,如果测试人员没发现的Bug,让一般人或者用户发现,那就更杯具了。由此我们推理出测试的核心价值:

能发现一般人发现不了的Bug!

这句话看起来非常简单朴实,但是包含了很多因素。目前淘宝测试团队所设定的金Bug大奖(Gold Bug Award),就是为了鼓励测试工程师体现这一核心价值。

有的测试工程师,由于项目时间太紧,开发匆忙赶出的代码质量又不合格,所以大部分时间都纠缠在初级的Bug里面,根本没时间、没精力去关注深层次Bug,虽然做的很辛苦,也做了很多项目,但是成长很慢,原因就在这里。

要解决这个问题,测试工程师一方面要加强对开发技术的学习,了解软件程序的内部结构,为发现深层Bug创造必要条件;另一方面,要想办法推动开发提高代码质量,让自己从初级Bug里解脱出来,为自己赢得更多的时间,来寻找深层Bug,并且总结发现Bug的技巧和经验。

到这里我们对测试核心价值的讨论可以告一段落了,软件测试要体现核心价值,自说自话是没有意义的,只有把测试作为一种服务提供给客户,让客户来评 判,测试才能发展得更好。现在淘宝测试团队也专门成立了TAAS团队(Testing As A Service),在测试服务化上进一步探索。这篇文章送给淘宝测试团队,也特别送给文朗,与你讨论总有很多收获。

分享到:
评论

相关推荐

    软件测试价值提升之路-观后感

    腾讯的软件测试以自运营为核心,研发只需关注“happy path”,其余流程交由测试团队负责。这种模式下,测试团队负责在上线前发现可能导致商业目标无法达成的缺陷,通过体验测试团队的独立评估来推动业务改进,实施...

    软件测试的核心价值是什么概要.pdf

    软件测试的核心价值是什么概要.pdf

    云计算环境下第三方软件测试知识库研究.pdf

    3. 软件测试核心价值 在软件测试中,测试团队的价值体现在提升被测软件的质量上。一个优秀的测试团队应具备在关键测试中发现并定位关键性问题的能力。这种能力可以视为测试团队的核心价值,也是软件测试工作存在的...

    非常有价值的软件测试理论知识

    本资料包“非常有价值的软件测试理论知识”提供了深入探讨软件测试核心概念的资源,特别是聚焦于黑盒测试、白盒测试以及用例设计这三大方面。以下是对这些关键知识点的详细阐述。 **黑盒测试**,也称为功能测试,...

    探索软件测试的核心价值

    前两天在taobao的测试blog上看到一篇文章,讲软件测试的核心价值,原文在http://qa.taobao.com/?p=11320因为前同事Bob同学的转发,仔细阅读了一下,觉得很多地方蛮有启发的  软件测试作为一个工作有很多的价值,...

    软件测试人员的独特价值体会

    企业存在的核心价值在于创造客户认可的产品,满足客户需求,实现盈利。在这一过程中,测试人员发挥着关键作用。他们负责理解客户需求,确保产品符合预期,并通过高效的工作提高生产力。无论是传统的V模型开发,还是...

    软件测试理论

    软件测试理论的核心在于确保软件产品满足需求规格,并且在实际应用中能够正确、稳定地运行。 《软件测试理论》一书的作者Paul C. Jorgensen是这一领域的知名专家,其著作被广泛认为是软件测试领域的经典教材。书中...

    软件测试工程师核心能力

    ### 软件测试工程师核心能力 #### 一、测试的定位与职责 - **定位:** 软件测试工程师的核心定位在于保障产品的质量。他们通过对软件进行系统的测试,确保其符合预定的功能和性能标准,减少软件在实际使用过程中...

    再谈软件测试的核心价值

    这是一个在论坛,在身边经常会听到和谈到的话题,软件测试的价值是什么?在组织中它能够给企业带来什么好处?我们如何在工作中体现这种价值,为此谈谈个人的拙见。首先,谈价值是需要有前提条件的,软件测试的价值只对...

    GJB软件测试报告模版

    - **描述**:“GJB软件测试报告模版”进一步强调了文档的核心内容是关于GJB标准下的软件测试报告模版。 #### 三、标签解析 - **测试工具**:指文档可能包含有关特定测试工具的使用说明或推荐,帮助读者更好地理解...

    软件测试资料打包

    在软件开发过程中,软件测试是不可或缺的一环,它确保了产品的质量和稳定性。本文将深入探讨“软件测试资料打包”中的三个关键知识点:单元测试、敏捷软件开发以及软件测试基础。 首先,我们关注“单元测试之道Java...

    软件测试培训感想

    【软件测试培训感想】 软件测试,作为软件开发过程中的关键环节,对于...最后,测试不应被视为孤立的活动,而应是与软件开发流程紧密结合的一部分,只有这样,才能真正发挥软件测试的价值,为用户提供可靠的软件产品。

    GBT 15532-2008 计算机软件测试规范

    本文将围绕该标准的核心内容进行阐述,并深入探讨其在软件开发生命周期中的应用价值。 ### 一、概述 GBT 15532-2008 计算机软件测试规范是基于软件工程实践总结而成的标准文档,旨在提高软件产品的质量与可靠性。...

    软件测试.ppt

    在这个100元价值的“软件测试.ppt”中,我们预计将深入探讨以下几个核心知识点: 1. **软件测试定义与目标**:软件测试是为了评估软件产品的质量,确保它满足预定的需求和用户期望。其主要目标是发现并报告软件中的...

    北大青鸟软件测试PPT

    【北大青鸟软件测试PPT】是一份由北大青鸟教育机构推出的...对于想要踏入软件测试领域的初学者来说,这是一份非常有价值的参考资料。通过深入学习和实践,能够逐步提升软件测试技能,为日后的职业生涯打下坚实的基础。

    软件测试的核心价值是什么?

    Philonis高在微博上发起了软件测试的价值体现在何处的讨论,蛙蛙王子则向大家提问:如何在实际工作中更好的重构?  Philonis高在微博上发起了软件测试的价值体现在何处的讨论,蛙蛙王子则向大家提问:如何在实际工作...

Global site tag (gtag.js) - Google Analytics