干测试这7年

2020注定是不平凡的一年,對於這個世界,对于我。

在北京这座大都市里,又身处一家互联网企业,时间是很快的,每天都有很多的业务需要去测试,很多用户反馈需要去跟进,很多的技术需要去学习,随着将要到来的小宝宝,瞬间感觉到自身的压力和责任,也有了一些焦虑,慌张,所以决定好好沉下心来,沉淀一下自己,好好总结一下这7年来在软件测试这个行业里的获得的一些经验,给自己接下来的一段时间找找方向。

首先还是要感谢很多人这7年来对我的帮助,感谢我的哥哥们把我带来北京,感谢第1个给我打约面电话的HR,感谢第1家公司的领导对我的包容,感谢我测试行业的领路人,我的师傅们(春艳,文豹,大于姐,然姐)感谢我身处过的每一家公司,也要感谢我目前的公司给我提供的稳定的舒适的工作环境,我的老板,我的领导,以及在工作和技术上给予我很多帮助的松仔,方丈,大师… 感谢我的妻子与家人一路以来的陪伴与关怀,感谢所有一切好的不好的事情,这一切的一切都使我成长,让我变得强大…

几年前看到的一篇贴子,对我的触动和影响很大,让我瞬间从一个纯手工测试(业务测试)的执行者,转变成一个偏技术型的“软件测试工程师”, 我理解工程师这个职称应该是具备创造力的, 原文链接已经找不到了,我把它们贴出来,如果有冒犯原文作者,请联系我删除。
1、生活大于工作,努力的工作是为了更好的生活。
2、与同事相处多包容,多理解,每个人的追求和对自己的要求都不一样。
3、精力有限,尽早构建自己的知识体系并不断丰富自己体系内的知识主干。做一个有所长的人。
4、不懂编码的测试不是一个好的测试人员。
5、个人能力越强的人在做决定时往往越容易占据主动地位。建议入职开始就构建自己的能力。
6、升职、加薪长期来看往往是相对公平的。如果你觉得长期不公平,别抱怨,努力提升自己,最后可以选择离开。
7、测试人员的地位高低客观条件取决于团队组织架构、产品形态。主观条件取决于你的能力。你对产品保障、团队、开发贡献越大,你的被认可度就越高。
9、测试技术和业务能力都很重要。但是你要努力做好平衡。这与你的工作岗位有关。如果你是功能测试,侧重业务能力。如果你是专项测试,侧重测试技术。如果你想成为领导,这两项能力都很重要。
10、在非工作时间学习,建议多打磨测试技术。因为它们在就业市场更通用。
11、问题是能力提升最好的催化剂。分析问题、解决问题、总结问题相关的知识、输出经验文档可以快速提升你的能力和经验。
12、研究工具、多动手实践是学编码的有效手段,只看书不动手是没有任何用处的。这里的工具指的是项目组同事自行开发的效率提升、解决问题的工具。Python/Shell脚本语言可以直接看源码。Java语言编写的.jar包可以用jd-gui.exe反编译查看。
13、工作方法有时候比技术更重要。凡事有交代,件件有着落,事事有回音。做一个让人觉得靠谱的人。
14、执行力太重要了。工作中由于执行力不够而导致决策没有落实的事情太多了。特别是每次现网问题发生后的问题回溯,各种大会小会的开、各种落地方法的研讨。实施执行两次后都是不了了之。然后更可悲的是重犯相同的错误。
15、如果觉得自己有能力,就多输出。可以是效率提升的工具、可以是特性或问题解决经验文档、可以是培训,要让人看到有承载能力的东西出来。不然领导想夸你都不知道拿啥去夸。
16、越是莫名其妙的问题,根因往往很简单。多听听别人的意见,像厉害的人请教,很多时候你很长时间搞定不了的问题,别人有可能几句话就能帮你搞定。
17、测试不要存在侥幸心理。如果你认为需要测试的场景没有测试的抓紧测试把。做个认真、负责任的Tester。
18、做个有原则的测试人。至于哪些原则,看组织和个人情况。因为与开发打交道,某些事情(某个缺陷是提单还是不提单、确实定级致命、严重、一般,转测试电子流启动再开始测试还是先测试)难免存在灰度,如何妥善处理特殊场景就要根据自己的原则来办。
19、测试无法完全保证产品质量。产品质量需要设计、开发、QA各角色合力保障。之前听到一句话说的很有意思,没有哪一个牛逼的发动机是靠测试测出来的,合理利用身边的资源来帮你一起保障产品质量。
20、测试经常是背锅的。每次出问题领导第一句话是"测试为什么没有测出来"。我的理解是这也难免,产品发布的最后一道环节,而且马后炮去看一个场景真的觉得都挺简单的。分析下问题场景,如果确实很低级,就反思下为啥会漏了。如果是在很苛刻的条件下才能重现,就好好总结一下,都是宝贵经验。最重要一点不应该把责任都归咎于测试执行或设计人身上。否则后面就没有人愿意主动承担高风险任务了。每个测试人员在过程中按流程尽职尽责做好就好。因上努力,果上随缘了。
21、你的个人的能力、工作态度要尽早表现出来,特别是新岗位、新员工。领导对你的印象往往在开始就慢慢形成。后面要想扭转,需要花费更多的精力。

干测试这7年
这篇文档应该是当时一个工作5左右的前辈总结分享出来的,给当时迷茫中的我指明了一些方向,特别感谢他,后面就开始了从业务到技术的转型,学习编程语言,学习使用各种各样的工具,学习计算机相关的各种知识,到目前除了完成业务测试的任务之外,还搭建了测试平台,开发出来了很多的测试工具,在整体测试效率上有了很大的提升,这一切的能实现的根本原因,都离不开自身技术能力的提升。

所以提升自己的技术能力是提升效率最关键所在,如果不知道从哪里入手,那就从学一门编程语言开始,可以是java,可以是python,可以是php,可以是其他任何一门你感兴趣的语言,可以不用太深入,但至少要把基础学完,因为程序语言大体思维都是相通的,学会了也许你不会有很多时间写代码,也许你写代码的过程当中会遇见很多很多看不懂的报错,也有可能连环境都你安装不好,可以百度,可以谷歌,也可以去向研发请教,解决问题才是提升能力最块最有效的方式。

学会编程有很多好处,你会发现你变得没那么容易被研发搪塞(忽悠)了,你会发现有时候的一些临时性的小改动,小优化类的需求其实不需要把所有功能都回归一遍了,你会发现能更快速的定位到bug出现在哪一个环节了,最终你会发现你在项目当中说的话(意见或者观点)更多人愿意听了。

当然,除了学计算机语言外,很多工具的使用也能大大的提升测试效率,测试App这么多年下来,觉得用的最多,最有效的应该就是抓包工具(Charles)了,它能帮助我们定位问题,mock数据,测试接口,模拟弱网,附赠一个mac 版本 Charles的**方式。
1.打开dmg镜像
2.打开系统应用程序 - 右键"charles.app" - 显示包内容 - contents - Java;
3.将dmg镜像包内的"charles.jar"替换覆盖到第二步的Java文件夹中;
4.打开charles.app,等待30秒,菜单栏中找到"Help" - “Register…”,输入任意信息,完成注册;
5.charles重启后生效。
系统版本要求:OS X 10.7 或更高
Charles 4.0.1 Mac **版 密码:wkep

要总结的东西感觉太多了,后面好好整理下这些年我是如何一步步搭建起来的测试平台,还有做出来的很多测试工具(新用户模拟,埋点自动化,mock…)吧,感觉只要是电商领域App或者是其他领域App端业务测试,应该都会遇见的痛点…祝安好,世界。