新的挑战:外企
外企工作初体验
虽然在国际平台部的四年时间里面自己学到了很多东西,也很有成就感,但另一方面也越发感觉到了发展的天花板:产品的推广不成功,团队的发展受到限制;团队无法给公司带来真正的收益,薪资提升有限;自己也感受到渐渐失去了提升的动力。于是在 2019 年初,下定决心要寻求新的机会。
或许是当时的我马上就要到 35 岁这个年龄的界限,虽然我这次开放的简历上面给自己增加了上面提到的这些自认为非常好的加分项,但是很尴尬地,却是受到的面试邀约反而比不上以前。反而是每个邀请,都是某外企的自动化测试职位的猎头推荐。由于对自己的英文口语不自信,一开始并没有接受推荐;但过了一段时间的观望和考虑之后,还是选择先尝试。于是在某个猎头的推荐和安排之下,参加了面试。
由于自己平时都喜欢看一下美剧和英文脱口秀节目,还把自己非常喜欢的一部美剧《老爸老妈浪漫史》的音频放到手机上来回听,所以英文听力部分还是有一些底子。于是在当天的面试里面,我一边在会议室的白板上把我过去三年多做的产品架构和测试工具画出来,一边用蹩脚的英文做介绍和问题解答,所以一个多小时的全英文面试居然也被我扛过来了(也幸好线下面对面面试,让我有机会画架构图,否则换到现在的线上面试估计就挂了)。就这样面试通过,再完成薪资沟通和背调后,开始了我的外业工作体验。
入职后很快和主管(也就是面试官)建立起来比较好的合作关系。当时整个测试组基本上是重新搭建的,并且要推翻原有的 java+cucumber 框架,所以自动化是全新的开始:
入职之后马上参与到了我们的新测试框架(基于 python 的 robot framework)的调研讨论和搭建工作。前一份工作中 python 就一直是我的主力开发语言,而且也有独立的框架搭建和开发经历,所以这阶段可以把自己的很多想法投入其中。
参与的第一个项目中帮助主管实现了一个基于多语言测试的工具,并且在之后把对应的工具给整个开发团队做了一次分享,也顺利解答了来自开发大佬们的疑问,算是帮助新团队打响了自动化的第一炮。
项目组第一次在项目中引入自己维护的接口服务,我也在该项目中将自己熟悉的 pytest 接口框架引入进来落地成功。虽然过程中对整个产品登录逻辑做了很多的调研和尝试,但最终还是顺利实现了测试团队接口测试框架从零到一的落地。
除了自己的落地工作之外,也承担了对应的分享、推广工作,也磨练和提升了自己做分享的总结、表达的能力。
走向管理
除了上面的自动化落地之外,面对着整个产品庞大而复杂的业务逻辑和团队沟通合作,我在之前工作中对不同项目的管理经验也起到了很好的作用:可以快速了解项目需求和掌握整体架构,把握测试重点;在 pod team 中推动自己的质量管理理念;通过在项目中推行自动化,提升项目的交付质量。
也由于这些方面的体验,我也开始有机会帮助主管去参与一些团队的管理工作,比如帮助推动团队项目的流程化管理;推动项目中的自动化测试落地执行;将我在项目中的思考和尝试,反馈给主管并推广到团队中。也感谢主管一直以来的信任和支持,在团队中出现管理职位空缺的时候,给我机会去尝试。
十五年来的一些感想
十五年来的工作经历,有些自己的感想,想和大家分享:
测试人员的能力提升方向
在实际的工作中,测试人员能否很好地完成工作,个人觉得以下几个方面非常重要:
快速地业务学习能力和思考能力。不管是新的项目需求,还是同一个产品里面的新功能,能够快速地理解产品的需求逻辑和使用场景,对后续的测试设计和执行都有非常大的帮助。个人的习惯,是把整个产品需求代入到生活中对应的使用场景中去理解(毕竟需求归根到底还是要解决用户的生活问题)。比如银行类的应用,对客户来说最重要的就是如何查看账户信息,如何进行不同的转账、缴费、定存等场景;游戏类的应用,对玩家重要的是账户如何关联和管理(比如手机号注册、微信号注册绑定等),如何充值购买道具等。这些都是可以把自己代入到用户使用场景中去思考和总结的。
学会掌握改动点和分析影响范围。要学会了解项目要解决的问题,要改动的环节和点,才能更精确地去分析、界定对应的测试重点和影响范围。如果只是单纯地把所有功能都去回归测试一遍,是很难把容易发现的问题给识别出来,也无法更进行精确测试,测试效率也无法提高。这需要在需求之外,有识别产品设计结果、框架组成有一定的了解和分析能力。
合理使用测试工具去提升覆盖率和测试效率。自动化测试不是万能,也不是做项目的目的;但也不能完全把自动化测试抛开。自动化测试归根到底还是一个工具,可以帮你去覆盖更多的场景(比如使用参数化在接口测试中覆盖更多的组合)和提升测试效率(整个项目生命周期中有很多大大小小的迭代,以及后面的回归测试维护,没有足够的自动化测试对回归测试是非常大的负担)。 不要求每个同事都有整个框架搭建的能力,但必须要会用自动化去帮助你覆盖对应的用例。
沟通表达能力。不需要口若悬河,但要意识到,怎么样可以让自己的表达可以精确地反馈出你的问题和想法,让对方尽可能地理解你的意图;要注意自己在沟通过程中的思路,不要让对方无法理解你想要表达的重点;要学会抓自己要了解的重点和对方表达的重点,提升解决问题的效率。
其他软能力的提升:比如提升自己的英文沟通能力,在外企圈可以非常大地提升自己的竞争力。
寻求沟通。要定时、主动地和领导沟通,寻求对方对自己工作的评价,找到提升方向;也勇于把自己的疑惑和想法与领导沟通,得到更多的支持和实践机会。
开拓眼界。多去看看对应的测试论坛,看看别人在做什么。不一定要把每个东西都在自己的工作中落地,重要的是可以开拓自己的眼界,给自己的工作更多灵感和方向。
总而言之,每个人要找好自己的职业发展方向(测试业务专家、测试管理专家、测试技术专家,等等),去提升对应的能力;找到自己在测试行业中的核心竞争力,去重点培养和提升。
关于面试
每次换工作的过程中都需要接受对应的面试,而自己也在完成招聘任务过程中也面试了很多同事。下面是我自己的一些感受:
面试的礼仪非常重要。尊重每一个面试机会,整洁的装扮,遵循正确的称呼和礼仪。如果是线下面试,一定要提前规划好时间和路线,提前到达,做好准备;如果是线上的面试,准备好自己的面试环境,调试好设备,提前拨入会议中,保持顺畅的网络和语言设备。这些环节如果没做好,对面试效果都是减分项。
提前的准备和自我排练。提前排练好自己的自我介绍,在有限时间内,把自己的工作亮点和竞争力表现、展示给面试官;对自己简历上的每一个内容都要做到了如指掌,并且想好如何表达,才能更从容地面对面试官的问题。准备良好的情况下,对自己的自信心也有很大的提高。
写在最后
最近一两年,整个行业形势都不太好,找工作越来越难。希望我个人的经历和小小的经验总结,可以起到一点小小的启发和帮助。
源自公众号 Jerry的测试分享