软件测试价值观-SMBT新理念
作者:张元礼
http://blog.csdn.net/vincetest
近年来有不少软件测试同行不少有些困惑-软件测试人员的价值在哪里?我们怎么才能做好软件测试?怎么才能让自己的价值在团队中得到最佳的体现?在这里SMBT理念会给你答案,你所有的困惑将会迎刃而解。
一、SMBT是什么?
SMBT是Shortest time、Most bug、Best bug、Track bug这几个单词的缩写,其含义就是“测试人员要在最短的时间内发现最多最有价值的Bug,并将Bug跟踪到底”,这就是我们测试人员追求的最高价值。其核心包括:一个宗旨、四个关键域。
附:SMBT图示
二、SMBT宗旨
以产品成败为出发点,站在整个项目团队的立场上思考问题、解决问题,而不是单一的从测试团队或者个人为出发点。
在这点我想说明的是:在一些企业里面的某些产品团队因为或多或少的原因导致产品失败,最后影响整个产品团队的考核,这个时候必然会有一部分测试人员跳出来说我们测试做的挺好的,产品失败和我们没什么关系,为什么给我们也考核得那么差。这时我想对那些测试人员或者主管测试的负责人说,你们真的错了,你们是为整个产品团队服务的,虽然产品失败的因素可能会很多、可能和你没直接关系,试想一下难道真的和你一点关系都没有么?如果现在用SMBT的宗旨来看待这个问题,你势必会找到你错在了哪里!我们不能有本位主义的思想来禁锢自己,我们一切要为整个产品团队出发,只有这样你才能在整个产品研发过程中充分发挥你的才能为整个产品服务,而不是单单的测试活动,因为单单的测试活动是远远不够的,这是传统的测试理念和思维给我们带来的弊端,也是SMBT产生的根本。
三、SMBT关键域
1. Shortest time:最短时间、尽早、尽快
一方面Bug无限,时间有限,这个道理大家都知道,我们在测试工作中测试的时间是有限的,我们的每一项测试的时间都不可能很充足,随着互联网行业的竞争越来越大,产品更新换代的周期日益缩小,企业稍微慢一步,整个产品就完全没有竞争优势,势必会被竞争对手抢占先机,即使你有创新的想法,但没有最快的速度上市,也难得商机。不管是互联网行业还是其他行业,现在都是快鱼吃慢鱼的时代,在这种环境下,对我们的研发团队、我们的测试人员提出更高的要求,那就是快-快-快,一点都不能慢。测试时间长了即使你产品的质量再好,因为时间关系错失商机、流失用户,我们所有的付出都将白费。
另一方面从研发模式来讲,现在很多企业都比较推崇敏捷研发模式,这也是追求快速响应的一个途径,然而对于测试来讲,我们一定要尽早的发现Bug,让开发人员尽早的修改,或者让产品人员调整需求,而不是到了产品最后某些本应该前期发现的Bug结果到了产品快上线的时候才发现,一旦这个时间出现比较严重的Bug,这将会对整个产品的研发进度造成严重的影响,同时因为这个Bug的修复势必会对本来感觉已经稳定的系统带来重大的质量干扰,因为修复Bug在很大程度上必然会带来新的Bug,至于修复Bug的难度那就更不用说了。特别是在产品研发的后期发现需求流程上的问题,这将是灾难性的后果!
2. Most bug:最多Bug
量变到质变是事物的变化规律,测试也如此,只有Bug的量上去了,产品的质量才能有所改观,如果Bug在数量上上不去,这对测试活动有信心谈何容易,一旦遇到这种情况测试经理们就头痛起来了,因为这必定是一个危险的信号,我们的信心将会荡然无存,除非系统质量足够的好,测试手段足够的高超,否则我们将会面临产品上市后的最大危机。
3. Best bug:最有价值Bug
之前谈到我们尽早发现Bug、发现最多的Bug,难道这样就可以了么,很显然特别的片面,进一步的说我们还要发现有价值的Bug。那么什么样的Bug才算有价值呢?直白一点就是最影响系统使用、对系统功能模块有严重影响或者破坏作用的Bug,最能决定研发周期的Bug,比如说如果事先能把需求类的Bug在需求阶段提出来解决而不是等研发末期提出来,还有就是影响系统架构的Bug以及一些隐藏很深修复难度及波及面广的Bug,所有这些都是从量变到质变的过程。
4. Track bug:跟踪Bug
经常会遇到一些项目在项目末期了才去关注以前提交的Bug,测试人员尽管很早就提出了很多严重的Bug,没有引起开发人员的注意或者测试人员跟进不给力,在这个时候需求类Bug提交的早、也提交的多、并且也很有价值,甚至有些直到产品发布上线运营了有客户投诉或者在运营过程中再次暴露的时候才引起关注,此类情况的发生直接说明前期所做的测试工作算是白做了,根本没有对产品质量做保证和提升嘛。也就是说我们测试人员缺乏明显的跟进,只发现Bug而不跟进Bug修改这是测试人员最大的悲哀,反之如果测试人员做到了这点也是测试人员的最大价值体现,我们找到Bug不算什么,关键还是要让Bug得到解决,这样才能对整个产品负责,也只有这样测试人员的价值才能得到真正的发挥和体现。
四、SMBT运用
1. 领会SMBT的宗旨,建立良好的心态,做一个有责任心的测试人员,明确自己的工作不仅仅是测试工作,而是为整个产品团队服务的工作,当然这得根据自己的精力和能力来限定范围,不能什么都抓什么都做。
2. 如何实现Shortest time
1) 尽早介入到产品研发活动中,特别是产品需求阶段是很容易被忽略的,有问题尽早发现;
2) 对测试活动及相关的安排进行合理的部署,测试策略、测试方法及测试工具的选择对测试效率的影响至关重要。
3. 如何实现Most bug、Best bug
1) 加强测试设计的能力,提升测试技术基础势在必行,剖析被测对象的内在,而不仅是表象。
2) 站在产品用户的立场思考问题做好测试设计、深入挖掘用户行为和心理、深入理解系统运行机制及实现原理,这些都做到了,还做不到Most bug、Best bug真的很难。
3) 不能单一的追求Most bug或Best bug,要两者兼顾,要在Most的基础上Best。
4. 如何实现Track bug
1) 以主人翁的心态对待每一个Bug,我们不仅负责测试出Bug,还要将这个Bug的修改情况负责跟踪到底,直到最终解决不再复现为此,也只有这样我们的测试工作才算完成。另外还要以积极的心态高效的跟进,不能有半点耽误和延迟。
2) 不光要配合Bug修改,更重要的是要起到督促的作用,测试人员的行为要为整个项目负责。
领会SMBT宗旨,将SMBT四个关键域融会贯通、运用自如,此乃测试最高境界也!
PS:坦诚的讲,鄙人自知对SMBT的理解或许存在一些不完善的地方,在此也算是起到抛砖引玉的作用吧。希望测试界的广大同仁及读者能够对SMBT进行完美的补充,让SMBT更加完善,理念更加深入透彻。也希望测试工作者能够灵活运用到企业中,更好的改进测试工作,提升测试价值,保持测试行业的绝对竞争优势!
欢迎转载此文,转载时请注明文章来源:张元礼的博客 http://blog.csdn.net/vincetest