从2007年毕业以后应聘到外包公司做IBM的软件测试项目,到现在成为业内知名企业的一份子,算算时间,还有几个月就整整十年了。有时会感慨时间飞逝这个词的含义。这十年的摸爬滚打,让我对软件测试有了比较深入的认识。做了十年测试,也许会被很多人笑话观点狭隘吧,最近突然有了想把自己的想法整理成文字和大家交流一下,还请各位高手们勿喷。
一、软件测试人员的个人定位
之前看过一些诸如“测试人员到底是否有存在的价值”之类的观点。做了这么久的测试,能够体会到行业是在不断调整的,也许测试人员不被重视,但我认为测试的环节或者说行为是不可能消失的,所以所谓的“测试人员将会被淘汰”的观点,我认为是庸人自扰的说法。任何岗位都是一样不进则退,不断学习提高自己的水平,在哪里都不会被淘汰。
二、软件测试人员应该具备的基本能力
身为一个测试人员,应该站在产品的发展上去看待自己的工作,而不是为了测试而测试。而且测试人员应该比开发人员更熟悉业务需求,要十分了解功能需求,把自己当做最终用户,并了解软件的每一个功能。
语言方面,必须懂代码才可以和开发人员交流,道理就不多说了。
还有一个很重要的能力,就是文字表达能力。作为一名测试人员,如果可以很顺利的写出一份清晰的测试报告,让其他岗位能够明确了解测试组的工作和需要解决的问题,那会大幅提高工作效率。
三、软件测试人员的价值所在
软件测试的核心价值应该是体现在为开发和产品的服务方面:
1、建立产品质量的评估方法
为项目团队提供每个版本的bug趋势分析数据,让项目中的每个人都了解项目当前的状态通过分析bug数据来建立或完善各种Checklist,帮助项目团队更好的完成需求评审、设计评审以及代码评审,减少bug出现的机会。同时,可以定期将多个项目的Checklist进行合并,使单个项目的经验可以通过TestTeam快速的流动起来,及时的作用于其他项目主动为ArchitectTeam提供每个项目的性能测试数据,帮助他们获取更多的实际项目信息,减少踏入“陷阱”的几率
2、建立可持续运行的测试框架
建立自动化测试测试框架;
构建持续集成,使版本的迭代与更新得到快速的反馈。
3、建立关注开发质量的开发文化
产品的质量应该由开发与测试共同承担,而不是全部加在开发环节。测试人员应该多关注一下性能、功能、用户体验、操作体验等各环节的情况和场景。(现实中的责任到人,让团队很难形成这种文化)
4、贡献产品发展
久病成医,测试的产品多了自然会对产品有自己的理解,产品的定位,用户习惯与体验;可以从测试的角度贡献产品的发展。(这个由产品的特点,公司文化决定)
四、学会与团队其他成员相处
这个道理适用于所有岗位,作为团队的一员,需要了解其他岗位对你的需求,并及时解决。比如开发人员,和测试的关系最为紧密,首先应该尝试和开发人员成为朋友,并且寻找如何提高沟通交流的效率。我通常都是把问题集中在一起,再去找开发人员发问,节省我们双方的时间。
五、避免测试功能点的遗漏,充分关注和利用测试工具
现在很多大企业都在开发测试工具,功能十分强大,可以充分避免测试功能点的遗漏,不要从心底里抵制创新,活到老学到老的道理,说起来容易,做起来难。如果利用工具可以缩短项目周期,加快项目交付,那公司和领导也会对你刮目相看。