测试人生 | 毕业 2 年,涨薪 100%,从创业小团队到某中厂测试开发(附面试真题)
编者按 :每个人都想进大厂拿高薪,然而只有少数人才有破釜成舟的勇气和高效执行的实力。
其实公司级别只是外在标签,成长进步才是内核本质。相信霍格沃兹测试学院优秀学员 @James 从小厂测试到中厂测试开发,毕业两年薪资翻倍的快速成长经历,能带给更多测试同学启迪和力量。
公司老板是我的测试引路人
本人就读于某普通院校,在大学期间就开始实习找工作,误打误撞进入一家做工业大数据的创业公司。
刚开始我并没有明确的职业发展方向,主要是做一些环境搭建的基础工作。但由于执行效率高,工作责任感强,在实习期间就得到公司老板赏识,并被安排负责项目测试工作,然后一毕业就顺利转正为产品研发部的测试工程师。
我的大部分工作是以功能测试为主,也出过差以及兼职各种产品、运维、售前的活,总之公司哪里有需要,我就往哪里冲。虽然起点不高,但测试工作经验还是学到不少,对功能测试、UI 自动化测试,接口自动化测试,性能测试,安全测试及兼容性测试都有涉猎。
我也会根据工作需要快速学习各种技能,比如计算机编程、网络、存储、调度等知识,这也为我后面学习持续集成、数据中台等打下了基础。
我在创业小公司学到了什么?
测试工作尤为重视结果,而创业小公司的常态则是时间紧、任务多,迭代快。
那么该如何应对这种挑战,高效完成测试工作,顺利保证项目质量呢?
在各种工作压力、实践摸索和坎坷经历后,我琢磨出核心要点:梳理公司的现有产品的研发流程,明确在研发的每个阶段如何开展测试工作。
简单来说,即搞清楚开发和执行软件测试的全流程关键步骤:
获取需求、功能设计、详细设计规格和其它必须文档
获取预算和时间安排需求
确定项目相关人员和他们的责任,汇报需求,必须的标准和过程(如版本过程、变更过程等)
确认应用高风险的部分,设定优先级,确定测试的范围和限制
确定测试的方法——单元测试、集成测试、系统测试、验收测试等
确定环境需求(软件/硬件/通信等)
确定测试工具与环境(记录/回放工具、覆盖率分析器、测试跟踪、问题跟踪等等)
确定测试输入需求
确定任务,任务责任和相应的工作量
设定时间安排估计、时间表、里程碑等
确定输入的等价类、边界值分析、错误类
准备测试计划文档和需要的评审
写测试用例
对测试用例进行必须的评审
准备测试环境和测试工具,获取需要的用户手册/参考文档/配置指导/安装指导,建立跟踪过程,日志和存档过程,获取测试数据
获取和安装软件版本
执行测试
评价和汇报测试结果
跟踪问题和修改
如果需要进行再测试
在整个生命周期内维护和修改测试计划、测试用例、测试环境和测试工具
在梳理开发与软件测试流程后,进一步明确每个测试阶段的测试工作、阶段目标、主要任务、通过准则,最后再进行测试工作,也就事半功倍了。
为什么选择成为测试开发?
两年多的工作经验,让我深刻的体验到,光有清晰的流程梳理是不够的。在公司内部,开发,团队与测试、运维人员之间的反馈周期太长,导致软件研发流程和质量存在很多缺陷:
测试人员等待“好的”版本构建出来;
在新功能开发完成几周之后,开发团队才能收到缺陷报告;
运维人员一直在等待说明文档或缺陷修复;
虽然从测试角度,我能想到多种方法来改善软件交付的过程,但是却难以实施落地。因为不写代码,不深入了解研发业务实现的逻辑,我是无法理解这个 Bug 到底是怎么出现的,做不到透过表象看本质。有时研发的一句“你不懂”,让我觉得沟通真困难。内心被一口气憋着,真希望自己能一个人"顶天"。
只有成为测试开发工程师,既会测试又懂代码,才能够最大限度的帮助研发和测试提升测试效率,进而帮助公司提升整体研发效率。这也成为我坚定不移的职业成长目标。
破釜成舟,辞职学习测试开发技能
巴菲特和芒格说过,世界上最好的投资就是投资自己。
通过搜索学习测试开发技术,我在网上了解到了霍格沃兹测试学院的课程,感觉课程大纲很全面,知识体系完整,并且由一线大厂大牛直播教学,很是心动。但一开始考虑价格原因,并没有直接报名,只是加了助教好友,蹭了很多干货主题公开课。
2020 年受疫情影响,很多测试工作只能远程线上处理,然而团队协作效率不高,项目迭代却依然过于快速。总感觉接到测试工作之后,只能尽快完成,而很难按原计划实施,达到好的标准。这种 疲于奔命和虎头蛇尾的感觉,让我哑巴吃黄连,有苦说不出。
这种工作模式让我深恶痛绝,忍无可忍,坚持一段时间后遂决定辞职,并正式报名《Python 测试开发实战进阶》课程。一方面调整自己当下的身心状态,另一方面也是破釜成舟,充实自己,向更好的自己 —— 测试开发方向迈进!
霍格沃兹测试学院的课程体系覆盖非常全,大厂前沿技术和发展方向都有详细的介绍,满满的干货与实战精华!学习消化吸收了课程知识后,我直接就用到了后续找工作的面试中,并顺利拿下多家公司的 Offer。最终,我选择了某中厂年薪 20W+ 测试开发岗位,薪资翻倍,真的美滋滋~这里也再次感谢学院各位老师的指导和帮助。
学习心得和测试面试经验
之前学院另一位同学分享的《测试人生 | 从外包菜鸟到测试开发,薪资一年翻三倍,连自己都不敢信!(附面试真题与答案)》 1一文,给我很大的帮助,也引起了我深深的共鸣!
一定要有自己的学习方向,目标是要做到 T 字型人才,保证广度的时候也一定要有一两项专精,这样才能够在面试时候脱颖而出。
这里分享下我个人的学习路线和面试前重点准备技能:
Python->pytest->完善接口自动化框架->Shell 脚本->Docker->Linux 三剑客->服务端自动化->Web 自动化框架->App 自动化框架->前台自动化->计算机网络->自动化原理->MySQL->数据结构->持续集成/交付->安全->测试用例计划思维
分享一些常见的面试题:
HTTP 部分
常说的“四层”和“七层”是什么?五六层哪去了?
HTTP 的 Cookie 机制?传递方式是?
HTTPS 是什么?SSL/TLS 又是什么?
数字签名与证书的特点?
性能测试部分
怎么理解 TPS、QPS、RT、吞吐量这些性能指标?
JMeter 中,如何合理地设置参数化数据?
如何进行监控设计?
代码级监控及常用计数器及解析?
队列级监控及常用计数器及解析?
链路级监控及常用计数器及解析?例如 SkyWalking?
接口测试部分
没有任何文档,怎么快速了解接口的信息?
如何把流程化的测试脚本抽象为测试框架?
测试框架如何才能支持 Restful 风格的接口?
怎么用 Mock 解决混乱的调用关系?
如何并发运行测试用例,测试用例的顺序如何控制
微服务模式下 API 测试要怎么做?
Web 自动化部分
Selenium 定位方法有几种?分别是?
WebDriver 核心方法和属性介绍?
使用 pytest 重构项目、如何实现用例依赖、测试报告、数据参数化?
断言的方式有?你使用过哪些?
测试报告如何定制,用例覆盖度如何?
如何实现真正的自动化测试?
移动端自动化测试
控件定位方法?
UI 分层测试体系、用例结构解析?
纯 H5 自动化测试?
小程序自动化测试?
基于 PO 模式的移动自动化测试实战?
自动遍历测试方法与常见技术介绍?
如何自定义 Appium?
Appium 的框架原理是什么,有没有做过二次改造
Appcrawler 遍历测试工具简介?
跨多端平台的用例如何维护?
Devops 相关
基于 Jenkins 的自动化调度详解?
持续交付中的流水线构建?及质量保证?
其实以上问题的答案,在《Python 测试开发实战进阶》课程里,大咖导师们都有细致入微的讲解,这里也不一一赘述,真心推荐大家深入学习。
以上,当下的成功永远是下一次进步的起点,我相信心动不如行动,边写代码边积累,每天进步一点点,自己也终会与测试技术大神距离更近,也希望能与大家多交流,一起进步!
更多学习资料戳下方!!!
评论