• 毕业 2 年,涨薪 100%,从创业小团队到某中厂测试开发(附面试真题)


    编者按 :每个人都想进大厂拿高薪,然而只有少数人才有破釜成舟的勇气和高效执行的实力。相信霍格沃兹测试学院优秀学员 @James
    从小厂测试到中厂测试开发,毕业两年薪资翻倍的快速成长经历,能带给更多测试同学启迪和力量。

    公司老板是我的测试引路人

    本人就读于某普通院校,在大学期间就开始实习找工作,误打误撞进入一家做工业大数据的创业公司。

    刚开始我并没有明确的职业发展方向,主要是做一些环境搭建的基础工作。但由于执行效率高,工作责任感强,在实习期间就得到公司老板赏识,并被安排负责项目测试工作,然后一毕业就顺利转正为产品研发部的测试工程师。

    我的大部分工作是以功能测试为主,也出过差以及兼职各种产品、运维、售前的活,总之公司哪里有需要,我就往哪里冲。虽然起点不高,但测试工作经验还是学到不少,对功能测试、UI自动化测试,接口自动化测试,性能测试,安全测试及兼容性测试都有涉猎。

    我也会根据工作需要快速学习各种技能,比如计算机编程、网络、存储、调度等知识,这也为我后面学习持续集成、数据中台等打下了基础。

    我在创业小公司学到了什么?

    测试工作尤为重视结果,而创业小公司的常态则是时间紧、任务多,迭代快。

    那么该如何应对这种挑战,高效完成测试工作,顺利保证项目质量呢?

    在各种工作压力、实践摸索和坎坷经历后,我琢磨出 核心要点:梳理公司的现有产品的研发流程,明确在研发的每个阶段如何开展测试工作

    简单来说,即搞清楚开发和执行软件测试的全流程关键步骤:

    1. 获取需求、功能设计、详细设计规格和其它必须文档
    2. 获取预算和时间安排需求
    3. 确定项目相关人员和他们的责任,汇报需求,必须的标准和过程(如版本过程、变更过程等)
    4. 确认应用高风险的部分,设定优先级,确定测试的范围和限制
    5. 确定测试的方法——单元测试、集成测试、系统测试、验收测试等
    6. 确定环境需求(软件/硬件/通信等)
    7. 确定测试工具与环境(记录/回放工具、覆盖率分析器、测试跟踪、问题跟踪等等)
    8. 确定测试输入需求
    9. 确定任务,任务责任和相应的工作量
    10. 设定时间安排估计、时间表、里程碑等
    11. 确定输入的等价类、边界值分析、错误类
    12. 准备测试计划文档和需要的评审
    13. 写测试用例
    14. 对测试用例进行必须的评审
    15. 准备测试环境和测试工具,获取需要的用户手册/参考文档/配置指导/安装指导,建立跟踪过程,日志和存档过程,获取测试数据
    16. 获取和安装软件版本
    17. 执行测试
    18. 评价和汇报测试结果
    19. 跟踪问题和修改
    20. 如果需要进行再测试
    21. 在整个生命周期内维护和修改测试计划、测试用例、测试环境和测试工具

    在梳理开发与软件测试流程后,进一步明确每个测试阶段的测试工作、阶段目标、主要任务、通过准则,最后再进行测试工作,也就事半功倍了。

    为什么选择成为测试开发?

    两年多的工作经验,让我深刻的体验到,光有清晰的流程梳理是不够的。
    在公司内部,开发,团队与测试、运维人员之间的反馈周期太长,导致软件研发流程和质量存在很多缺陷

    • 测试人员等待“好的”版本构建出来;
    • 在新功能开发完成几周之后,开发团队才能收到缺陷报告;
    • 运维人员一直在等待说明文档或缺陷修复;

    虽然从测试角度,我能想到多种方法来改善软件交付的过程,但是却难以实施落地。 因为不写代码,不深入了解研发业务实现的逻辑,我是无法理解这个 Bug
    到底是怎么出现的,做不到透过表象看本质
    。有时研发的一句“ 你不懂 ”,让我觉得沟通真困难。
    内心被一口气憋着,真希望自己能一个人"顶天"

    只有成为测试开发工程师,既会测试又懂代码,才能够最大限度的帮助研发和测试提升测试效率,进而帮助公司提升整体研发效率。这也成为我坚定不移的职业成长目标。

    破釜成舟,辞职学习测试开发技能

    巴菲特和芒格说过, 世界上最好的投资就是投资自己

    通过搜索学习测试开发技术,我在网上了解到了霍格沃兹测试学院的课程,感觉课程大纲很全面,知识体系完整,并且由一线大厂大牛直播教学,很是心动。但一开始考虑价格原因,并没有直接报名,只是加了助教好友,蹭了很多干货主题公开课。

    2020
    年受疫情影响,很多测试工作只能远程线上处理,然而团队协作效率不高,项目迭代却依然过于快速。总感觉接到测试工作之后,只能尽快完成,而很难按原计划实施,达到好的标准。
    这种 **** 疲于奔命和虎头蛇尾的感觉,让我哑巴吃黄连,有苦说不出

    这种工作模式让我深恶痛绝,忍无可忍,坚持一段时间后遂决定辞职,并正式报名《Python
    测试开发实战进阶》课程。一方面调整自己当下的身心状态,另一方面也是破釜成舟,充实自己,向更好的自己 —— 测试开发方向迈进!

    霍格沃兹测试学院的课程体系覆盖非常全,大厂前沿技术和发展方向都有详细的介绍,满满的干货与实战精华!
    学习消化吸收了课程知识后,我直接就用到了后续找工作的面试中,并顺利拿下多家公司的 Offer 。最终,我选择了某中厂年薪 20W+
    测试开发岗位,薪资翻倍,真的美滋滋~这里也再次感谢学院各位老师的指导和帮助。

    学习心得和测试面试经验

    之前学院另一位同学分享的《测试人生 |
    从外包菜鸟到测试开发,薪资一年翻三倍,连自己都不敢信!(附面试真题与答案)》
    一文,给我很大的帮助,也引起了我深深的共鸣!

    一定要有自己的学习方向,目标是要做到 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 测试开发实战进阶》课程里,大咖导师们都有细致入微的讲解,这里也不一一赘述,真心推荐大家深入学习。

    以上, 当下的成功永远是下一次进步的起点
    ,我相信心动不如行动,边写代码边积累,每天进步一点点,自己也终会与测试技术大神距离更近,也希望能与大家多交流,一起进步!


    来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力

    点击获取更多信息

  • 相关阅读:
    4.8日学习
    Apache安装
    HTML5 review
    个人阅读作业LAST
    个人阅读作业Week7
    结对编程:界面模块总结
    个人博客作业Week3
    结对编程博客
    个人博客week2
    软工第一次作业简单总结
  • 原文地址:https://www.cnblogs.com/hogwarts/p/15981382.html
Copyright © 2020-2023  润新知