限于短暂的从业年岁,日常工作中的技术经验,实在不足为道。所幸翻过几篇测试大佬们的工作感悟,于是总结了一些大佬们共有的品质素养,愿与君共勉。 1.对异常的敏锐“嗅觉”
软件测试需要善于发现产品中存在的不足。不仅仅是从系统使用的正向看产品是否有问题,还要从用户角度出发,去设想产品的行为是否存在问题。正如许多软件测试的教材中说的那样,软件测试不是去证明软件是正确的,而是去证明错误的,对于一些似是而非的现象,要如猎狗般快速嗅探出其中的“不对劲”。比如,文档描述上下文中的不连贯,消息传递中,一个似乎无伤大雅的换行。 2.对技术的旺盛好奇心
软件测试的日常工作是枯燥的,保持技术的好奇心,可以提高自己工作中的积极性,也能够促使自己用技术的手段提高测试效能。人们常说好奇心是人类进步的源泉,对技术的好奇,诱发学习的兴趣。这或许是能够在测试这一行当中长久走下去的,最为关键的品质了。 3.扎实的技术基础
众所周知,国内的软件测试行业门槛普遍较低,然而软件测试的工作性质,又不得不要求从业人员拥有足够高的技术素养。试想,一个技术素养低下的人,又如何能够指出一个技术能力强的人在设计和开发中的不足呢?于是乎,大量的软件测试人员停留在黑盒测试、手工测试层面,很难再有所提升。
而作为一名合格的软件测试工程师,应当要做到的是:能阅读开发的代码,能理清开发代码的设计思路、实现逻辑;对于系统的新增需求,会改变原有的哪些模块,会影响哪些地方的回归,这些都了然于胸。
因此,如果你自认自己技术能力弱,那么多在这上面下些功夫吧。在日常工作中,多去看设计文档,看开发的代码,甚至自己动手去实现一些工具。如果过不了这个坎,软件测试中的高级岗位基本和你无缘,就等着被后来者顶替你吧。 4.系统性的质量意识
在软件研发过程中,问题发现的越早,修复的成本越低。在整个软件测试过程中,质量意识应当贯穿于所有环节,从质量的角度去思考问题。专家级的软件测试工程师往往都拥有一套自己的质量体系思路,能够在日常工作中,通过架构设计的优化、设计实现有效的测试工具平台、研发流程优化等等手段,去最大限度的降低软件开发过程中的风险。一名专家级的软件测试工程师,基本要具备和开发架构对等的能力,可以和开发架构平等对话设计产品的质量能力。 5.对产品的思考
这或许不应当是软件测试工程师所需要做的工作,然而《How Google Test Softwore》一书中有这样一句话:Build the right thing before building it right. 许多产品的无疾而终,并不是因为质量问题,而是因为产品的定位问题。这几乎是先天缺陷,在软件测试过程中绝难弥补回来的。
而作为软件测试人员,我们需要构想系统的业务场景,并尽可能的从用户的角度去看待系统。这是否意味着我们有机会在参与产品研发初期,就可以发现产品的定位是否清晰而合理?是否可以尽早的纠正产品最根本性的定位,从而避免无意义的人力投入?