十二年测试
毕业至今入行已经十二年,经历了多个项目的洗礼,获取了很多的开发与测试方面的经验,但越是这样越发现自己的欠缺与不足,此文愿与大家一同分享这十多年来在自动化测试工作中的经验和教训。
一。天不怕地不怕的菜鸟
什么项目都敢接,什么需求都敢答应,没有评估的经验,对项目整体没有掌控力,也把握不了项目的进展和节奏,对自动化测试没有任何概念,认为就是写程序,完成测试任务就好,在这个阶段中,每做完一件事,就有巨大的幸福感和成就感填充自己的小宇宙。并且在不断重复幸福感的过程中,不断的写程序。回头看看,哈我的测试代码已经快超越项目代码的数量级了,多么令人鼓舞的消息呀,这时候你可能还没发现,你要掉到自己挖的坑里面了。当需求更改(测试项目的功能或者被测界面有了改动后),突然发现自己写的测试代码要大量修改才能支持新版的被测程序,而且改动量是按周或按月计算时,自己的上级领导还要求越快越好,并且眼神中充满了期望,一下子人生就变的不幸福了,不知道你们有木有遇到这种情况哈。能坚持下来的同志们会痛定思痛,寻找解决途径,但更多的同志们就一下子被现实打击了,从此对自动化测试敬而远之,不敢再碰了。
二。选择适用的测试框架
经历了菜鸟阶段,发现人家说要用测试框架,原来是这么有用,自己也开始寻找项目中能应用的测试框架了,并且对此着迷了,深深的沉浸到测试框架的寻找过程中,并且也试用了几个测试框架,发现真的有帮助哈,有种站在巨人肩膀上的幸福感了。然后对自己和队友说,同志们,我发现了新大陆,那里有无穷无尽的宝藏,能支持我们的项目测试,然后就开始了庞大的测试代码迁移工作,也许一周或者更长时间,顺利的话你可能在碰到了几个坎坷后,把项目迁移过去了,但你会在后续的工作中发现,框架虽好,但如果你不了解框架,只是在用它的话,你很难掌控和把握它,简单的测试工作中,它就像你家的小狗,呼来唤去,随传随到,并且能保质保量滴完成你交给它的工作,但遇到了复杂的测试场景或者特殊应用时,它就如同一匹脱缰的野马,你根本无法驾驭,甚至可能这是它自身的缺陷或者限制,让你无从下手,这时候你才意识到,不是自己的东西,真的不知道怎么办哦。
这个时候,你会问,我如何去评估框架的适用性,而不是用到后来发现不好用呢
1。你要对你的测试项目有个清醒的认识。项目的架构是什么。
2.要在自动化测试规划的前期知道你在其中用到的技术
3.这些都是工作中总结出来的应验,就像有经验的水手看看天空就知道什么时候会下雨,很难通过具体的语言来描述,换句话说,只可意会不可言传。自己去积累吧。
三。如何应对改来改去的需求
在项目进行中,需求的更改是不可避免的,如果你遇到一个好的项目经理和好的架构师,恭喜你,你可以相对轻松了,但事实上往往并不是这样,需求更改的力度之大,有时候可以说是天翻地覆。测试人员如何应对呢,这就涉及到了自动化测试框架的设计和项目沟通的范畴了,首先,当决定更改需求时,你应该在第一时间知道,并且确定这些更改测试用例的影响有多大,从而确定对自动化测试的影响范围。让你有更多的准备时间和找寻更多的应对策略。同时这也会给你带来意想不到的经验,原先的测试架构设计会被更改,甚至是推翻重来,这会让你增加更多的设计经验,从项目开始就能知道哪些部分是可能会被频繁改动的,这部分的处理要做的更加灵活,更加容易被修改。所以希望每个从事自动化测试的同志们被通知需求更改时不要抱怨,自己为啥会摊上这么差的项目经理和设计师,如果项目真的不改了,也不加入新的功能了,并不意味着好,这大多意味着项目已经失去了价值,你可能也从而被失去价值,需要找份新工作了。建议你换个思路,花更多的时间来思考,如何才能让自己的自动化设计经得起项目需求更改的挑战,自己能以最小的代价和最短的时间来适应新的需求。
话虽如此,但真的细致的说起来,如何能让自己的设计适应万变的需求,没有谁能真正说的清楚,那种此时无招胜有招的说法,只能是小说中的桥段而已,当不得真哦。
总而言之,言而总之,还是那句老话说的对,人有张良计,我有过墙梯。最有效的方法就是在每一次需求更改中总结自己的设计,不断的增加自己的见识,从而提高自己的预测能力,经历的项目多了,就能在其中找到一定的规律,让自己的测试设计沿着普遍规律来进行。
四。世界上没有万金油
有人说了,我找个大而全的测试框架,不就能支持我的测试了吗?但据不可靠消息,大而全的测试框架目前还在研发过程中,您还需要漫长的等待,来迎接它的到来。这东西如果真的存在,市场上的各种测试框架也不会春笋花开般的遍地都是了。与其花时间去寻找那美好的伊甸园还不如脚踏实地的增加自己的技术积累和项目经验,这才是真正的万金油,能让你在各种项目中游刃有余。
好了上面说了这么多,咱们来聊聊如何来增加自己的技术能力吧,个人经验来说,读完卷书不如行万里路,但没有前者,你还就真的不知道怎么去行万里路。所以,先找个人云亦云都说好的框架来学习一下,看看人家的实现思路是什么,别找太大的,贪多嚼不烂,看着看着你就困了,洗洗也就真的睡了。找个短小精悍的测试框架,建议2万行以下的最好,集中一段时间,坚持把它看完,而且是在看明白的前提下看完,能在其中学到思想为上,实在不明白起码也要知道,人家框架的工作流程。
下面就开始第二部的工作了,世上没有完美的东西,先从小的方面开始,看着这个框架哪儿里不不顺您的眼,就多多手,给它改改,改来改去,发现你能在人家的东西里面加入您自己的元素了(改改界面配色,统统不算会改哦),这就代表你从菜鸟开始走向成熟的步伐迈出第一步了。
大家应该都看过小说吧,有没有看多了就手痒,也想自己写的同志?当你改完别人的框架,自己写框架的冲动有木有?有冲动就证明你还行(!@#¥%………………&),哈哈。玩笑开过,说实际的,当你有写框架的意愿和思想时,证明你已经可以看到现有框架的不足了,并且有能力去实现自己的测试框架了(上一段的文字是前提,不能被忽略,没有动手改过别人的,我坚信你是写不出来自己的框架滴)。一旦开始着手写自己的测试框架,就一定坚持下来,不用看结果,重要的是这个过程,是对你技术和设计思想的磨练,坚持,一定坚持下来,会给你带来意想不到的收获。
五。失败也是一种成功
如果你坚持到了这个阶段,恭喜你,你离成功已经不远了。换言之已经是皮糙肉厚,死猪不怕开水烫了。凡事能到这个阶段的同志,该经历的都经历了,碰到再多的问题都能洗洗睡了,明天再说。当你用平常心看待问题的时候,就会发现,任何问题都是能解决的。没有任何一个项目是真的成功的,每个成功都是和失败相伴的。所以别钻牛角尖,坚持该坚持的,80原则永远适用于项目。
此文献仅献给从事自动化测试的苦逼测试开发工程师和有意加入开发工程师团队的有志青年。