写给QA/软件测试新人
共 2743字,需浏览 6分钟
·
2020-11-07 11:08
路在脚下,选择在于自己。
从业十六年后:希望有那么一天,软件质量保证相关岗位的价值被准确评估和认可,也希望未来自己能为这个理想贡献一点微薄之力。
【相关概念】
理论上软件测试和QA是有区别的,但在绝大部分互联网公司里,这两个角色的职责都是二合一,能够单独设立QA/QC的公司都是有实体硬件产品的,重流程才会把每个角色都细化,例如航空、医疗、汽车等行业。
质量保证QA=Quality Assurance,测试=Test,互联网公司的项目实践中Test往往是QA的手段之一(注意:不是唯一手段)。
软件测试是对软件产品的的检查,注重的是开发出来的软件本身,SQA对整个软件研发过程进行监督、管理、控制,注重的是过程。软件测试的对象是软件产品,SQA的对象是整个研发过程。
软件测试:贯穿于整个软件产品的开发周期,通过手工或自动的方式,来运行或者测定某个系统或者程序的过程,目的在于检验它是否满足规定的需求。
软件质量保证(SQA):参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量。
我们通常讲的软件测试可以理解为广义,即其包含了以上两方面。同行们不要再纠结于扣字眼。就叫tester,不管QA还是Tester的活都干了,那又如何?
所以,软件测试的目标是什么?更快更好的保证质量。
【最新感悟】
一早看到一篇打着软件质量旗号的公众号发表了一篇文章标题包含“专职的测试部门会消失吗?” 时隔十多年,这个topic再次看到,令我震惊。 这样哗众取宠的标题,太容易误导新入行的小伙伴了,于是决定“怼”一次,第一次在那个群里发言,就是怼发起人。(汗颜,大家别学习)
为了怼,于是认真看了遍文章内容,文章内容最终都只落到了一点:专职的手工测试会消失。 揪细节,就是文对不题了,更激发了想狠怼一次的激情。于是,我故意模糊概念的发了句 “QA这个角色不会消失,管理基于人性,一直需要第三方。这就好比问专职的律师和专职的法官会消失吗?” 于是引发了一场讨论。参与讨论的人已经混淆了标题、文章内容、讨论的事情了(这也是很多测试做久的同学的职业病,专注细节而忽略了框架)。
文章标题说xx团队会消失,文章内容说的是xx岗位会消失,我故意说xx岗位不会消失,然后发起人就拿标题涵义xx团队会消失来讨论,偏离我的疑问。
我故意说QA,然后就来辩测试和QA不同,再次偏离。
这一场故意发起的“怼”,发起人都中招了,这说明文章内容是凑的,因为发起人已经脱离了文章了。
个人观点:
独立的质量部门/测试部门,不能消失。
独立的质量保证/测试岗位,不能消失。
偶尔这一次的“刚”,想分享一点心得:
新入行或者有疑虑的同行们,我们需要懂得识别乱七八糟的不专业布道者,绕着走,别被带偏了,大家可以去linkedin上多搜索一下就有答案了。
强制让专注测试团队/质量保证团队消失所带来的代价,最终也是整个公司和产品团队买单。这是基于人性决定。人性就是只能看到别人眼中的缺陷,看不到自己身上的缺点。所以会一直需要第三方的角色。
我们需要关注自己所在行业和岗位发展趋势,参考DBA和运维角色的变化过程,但不能自我否定,要有自信,相信自己的专业度。其实操作重复性的岗位都可能会消失,但是替代的机器/系统也是需要有专业人士主导的,这是幅度问题。不要被一个标题或者一篇哗众取宠的文章带偏。
初创公司(研发几人甚至几十人那种的),实际上老板和产品负责人就是质量总负责人,整个公司都是需要为质量保证负责。
2012年我在自己博客上的一篇文章,今日环境已经变化更多,软件测试人对技术的追求也越来越深入,很欣慰,相信这个行业分支会越来越好,也期待更多地技术牛人参与到质量保证。选择大于努力,对新人来说,入行前就需要慎重选择,工作两年时候再次思考。
【原文如下】
做过软件测试的人都会说出测试的各种价值,但若问他如果有其它更好的选择是否还要做测试,往往会是否,为什么呢?每个人答案都会不同。写点个人理解给刚踏入测试大门和在测试路上犹豫的朋友们。
凭着对软件测试的一腔热情踏入了这个行业,从完全不知道做什么,到经历许多项目之后,知道软件测试是什么,到测试管理,对测试的理解又多了一层——对测试要有激情。有激情,才会做得长久,在经历了若干项目,一轮轮回归之后,依然不会疲惫。
1.真的喜欢软件测试吗?
国内的现实是,软件测试无论是从职业发展还是薪资待遇,与开发人员都是有一定的差距,等到三五年之后,差距越来越大,你还能保持那份执著吗?不是每个人都能升为管理者的,依然还在一线的你会不会迷茫呢?
若没有对软件测试的执著,后面的路会越来越迷茫的,撑过去了就是海阔天空,但是,很多的人迷茫之后的若干年会一直在重复着以前的三五年。有时候停下来想一想,会走的更快。
2.多学多练多模仿
测试表面上看入门容易(其实要求更多),所以测试人员的层次参差不齐,当你要面对太多不专业测试人员的时候,不要怀疑,这就是现实。很多大公司分工很细,确实有只管执行的测试人员。
其实就算对测试完全不了解的人一样的可以发现问题,比如用户,我们作为专业测试人员就是要在产品没有发布之前发现那些用户可能遇到的问题,但如果能够更早更快更好的发现问题,这就需要专业了。当你的能力被质疑的时候,不要担心,测试管理者未必就是合格的。
现在学习资料很多,多看看技术牛人的博客,读读大家推荐的书籍,多学习多模仿,联系实践,有一天就会有你自己的理解,也许你的实践结果更好。
3.态度很重要
刚踏出校门的学生掌握的技术和能力相差不大,面试和试用期内所考察的其实就是对工作的态度以及对当前所在项目的激情.态度决定一切,还把自己当学生等着喂是不可取的,积极主动并且谦虚好学的新人大家都喜欢。
4.不要迷信理论和“专家说”
各种理论都不是万能的,适合其它项目的理论不一定适合你的项目,适合其它项目的测试方法、测试策略、测试流程等,在你所在的公司未必适用,不要质疑。踏实的做好本职测试工作,明白你所在的环境与理想标准的差距,若有一天由你负责的时候,你是否可以做到更好?
5.沟通
这个因人而异,真得没有通用的技巧,因为人不同,有人喜欢简单,有人乐于复杂,有人崇尚理想,有人固步自封...我们能做到的就是---见人说人话,见鬼就沉默—I am kidding:-)
我们需要学会站在对方的角度考虑问题。
如果你不喜欢质疑,如果你一直习惯被动,如果你很在意那份薪水,如果你真得有更强的程序开发能力.....那么请三思!