软件测试行业是需要牛人的!现在的软件测试工程师并不牛!
记得2年前刚毕业的时候听说了软件测试这个行业,当时也去百度仔细进行了一番搜索,评价基本千篇一律的看好。看好的原因在于,专家认为未来的互联网市场用户体验至上,而产品质量与用户体验有紧密的联系,自从近年产品经理岗位火了之后,人人都是产品经理的概念深入人心,但其实人人也都要具有质量观念,出色的产品质量可以提供更好的用户体验。
说被专家一席话打动有些牵强,当时就是因为自己的开发功底不足,退而求其次选择了软件测试。而生活中很多事都要亲历了才知道究竟是怎样~其实,国内的软件测试行业没有书中以及媒体描述的那么好,规范、流程都需要各个公司摸索制定。流程是否规范,对测试的能力要求高低,自动化与接口测试完善与否,很多工具平台或软件是否能够重复使用,这都说明着该公司在软件测试方面的积累。
但凡接触过软件企业的人应该都知道,从公司的生态链来说,软件测试属于最下游,这也决定了很多情况必须要被动接受。即使某个测试攻城狮理论知识丰富,辨识风险能力强,在测试中独具慧眼,但是一个产品需求的变更就可以让他傻眼,接着很努力的去适应这种节奏。也许他抱怨,也许他吐槽,背后将产品、运营骂了N多遍,但是毫无用处,产品运营主导必然是趋势,测试主导是做不出好产品的。
还有一个点的确争论了很久,就是关于出现问题承担责任的问题。如果产品上线没有问题那是皆大欢喜,如果有问题,几乎所有人都会把测试拉上一起垫背。他们会认为就算上游环节各种问题,但是到了测试这里就应该“合理把控”各种,将风险点罗列出来并告知各责任人,有时候一句“为什么没有测出来”竟让测试同学无言以对。
看了以上的内容,各位看官会觉得戾气太重,的确,测试的地位往往很尴尬,有种“别人狂欢有我毛事,出了问题我很悲催”之感。但不可否认的是,一个好的测试人员非常难得,懂业务懂代码,写的了接口测试,做的了性能优化,还能协调各种矛盾。所以好的测试可以成为好的开发,可以成为好的产品,可以成为好的运维……那我说一说我对软件测试的理解吧,请各位大牛轻喷。。。
1.软件测试要做什么
在每个软件企业,测试人员参与的需求主要来自以下三个方面:
- 产品经理——针对产品本身,也许是功能优化,也许是模块新增
- 产品运营——将产品配合运营活动展开,用于拓展新用户及提升用户活跃度
- 技术人员(开发主导)——技术改造或代码重构
所以,对于测试人员来说,需要了解产品想怎么玩儿,用户会怎么玩儿,运营想要用户怎么玩儿,开发怎么实现,测试怎么进行,何为技术难点。我去!这是要把PD、运营、开发集于一身的节奏啊!
我相信在很多公司最了解产品的一定是测试,因为随着测试人员尽早的参与整个流程,就会接触所有的角色。所以总结下来基本就是测试比产品了解开发,比开发了解运营,比运营了解产品,还要最了解测试及产品质量。
2.软件测试工程师的几个阶段
各行各业的成员都有不同的能力阶段,软件测试也不例外。依据每个人的能力不同,所做的事情是有明显区分的,这里列出了常见的几种进行分析。
-
手工测试(纯黑盒测试),即使发现缺陷的能力非常强,也会很快遇到发展瓶颈,因为任何手工测试的风险都较高,并且投入产出比不尽如人意。项目变更后,能够复用的只有个人经验,对团队建立与知识沉淀是几乎无帮助的。(经验可以分享?谁能保证人人适用呢。)
-
黑盒自动化测试,稍微进阶了一些,提高了效率,可以做到定时自动执行,但是维护自动化脚本也是相当痛苦的,就算可以将一些代码抽象为公共模块,却无法避免前端的改动。目前产品功能自动化测试都基于比较浅的层次,所以是否开展、以多大范围开展是个值得仔细权衡的点。
-
接口测试(包括接口自动化),这算比较深入的,有时感觉当一个测试真正抛开了前端页面,从接口层面开始介入测试时,他才真的成为了一名合格的测试攻城狮。此时可做的内容如满天繁星,想象空间无穷。
-
性能测试,无论对于App还是后台服务器,性能都是非常重要的点,专业的性能测试攻城狮对单一方向的要求很高,对性能问题的嗅觉也会更敏感。
-
白盒测试,这个方向非常高深,真正的白盒测试是要能够去验证代码的正确性和有效性,这些攻城狮的水平应该高于很多开发。
好的测试真的很屌,不这样觉得往往是因为没发现。自己曾经“coding能力不够,所以入了测试这行”的想法真的是图样图森破啊。
3.软件测试工程师的职业发展
就像文章开头所说到的,好的软件测试工程师不仅能在测试岗位上继续有造诣,也有能力从事一些其他岗位工作的,以下列举出常见的,当然跨度很大的岗位调动肯定也会存在,只是这更大程度取决于个人能力与喜好,很难通用。
-
产品经理:我一直认为测试转岗产品是很正常的,但是局限性在于测试能不能把眼光放高,原先是关注每个细节,而现在要考虑全局而有取舍。对产品的熟悉程度固然达标,但是能否将一个人的想法传递给你的leader及团队还需要多加努力。
-
项目经理:测试转项目经理的难度应当是最小的,许多能力是通用的,对技术的了解在一定程度也能够支撑,但是在如今的互联网企业都弱化了项目经理的概念,需要更快速的应对变化,去到一个逐渐被市场淘汰的岗位真的好吗?
-
测试专家:这就自动拓展到上文中的软件测试几个阶段了,如今的市场对专家级别的需求太急切了,软件测试在国内发展的年限不久,可想一个专家是多么抢手的。
-
运维工程师:这个转岗有一定的难度,但是如果本身接触的就是服务器的测试工作,并且对服务器的各种操作都很熟悉,转岗还是很有希望的。
4.软件测试工程师的一些误区
- 发现的问题停留于表面,而不继续深挖
- 对整个产品没有宏观概念,而紧抠每个细节
- 测试执行对于质量保障的作用不超过50%,真正想要做好,应当从上游开始慢慢规范
- 一味相信自动化测试
- 不要认为测试工程师的任务仅仅是测试
- 不区分测试重点,认为测试做到大而全总是没错的
5.软件测试工程师的好习惯建议
- 先分析,再执行,这样会事半功倍
- 测试的最终目的是把控目的,不要想着找出所有bug
- 坚信测试工程师也是有地位的,对于产品、运营那些变态的需求学会合理拒绝,测试工作当然自己做主
- MindManager、流程图等软件经常使用,会对你的思维拓展有帮助
====
真的是胡思乱想写了这么多,没办法,各位看官凑合一下吧。_
网友评论
质量这一关必须过测试。