“我转行做测试开发的这一年多,月薪5K变成了18K”,中文系萌妹的自白

news2024/11/7 10:51:51

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

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

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

我的大部分工作是以功能测试为主,也出过差以及兼职各种产品、运维、售前的活,总之公司哪里有需要,我就往哪里冲。虽然起点不高,但测试工作经验还是学到不少,对功能测试、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 自动化测试开发实战进阶》课程。一方面调整自己当下的身心状态,另一方面也是破釜成舟,充实自己,向更好的自己 —— 测试开发方向迈进!

《Python自动化测试开发实战进阶》这套课程体系真的覆盖非常全,大厂前沿技术和发展方向都有详细的介绍,满满的干货与实战精华!学习消化吸收了课程知识后,我直接就用到了后续找工作的面试中,并顺利拿下多家公司的 Offer。算算时间,只花了3个月这么短的情况下成功转向自动化测试最终,我选择了某中厂年薪 20W+ 测试开发岗位,薪资涨幅120%,真的美滋滋~

 

准备好接大招了么?下面讲干货!⬇️

学习心得和测试面试经验

一定要有自己的学习方向,目标是要做到 T 字型人才,保证广度的时候也一定要有一两项专精,这样才能够在面试时候脱颖而出。

这里分享下我个人的系统学习路线和面试前重点准备技能:

一、测试基础知识

测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的严重程度、BUG的六要素、BUG的生命周期。
缺陷报告编写、测试报告编写、禅道管理工具应用

二、测试工具学习

测试管理工具:QC、禅道、Testlink、svn、git等
性能测试管理工具: Loadrunner、Jmeter、Locust
接口测试工具:Jmeter、postman等
持续集成工具:Jenkins
app自动化工具:appium、Monkey、Monkey Runner等
web安全测试工具:appscan、Fiddler、burpsuite

三、Linux系统+MySQL数据库

Linux:搭建测试环境和部署,查看日志,定位BUG,掌握其中的一些常用Linux命令
数据库:数据库增删查改操作,排序、聚合函数、分组、分页、连接查询、子查询,自关联;数据库高级功能数据库设计、命令行操作数据库、函数、存储过程、视图、事务、索引、外键、用户密码等

四、Python编程+数据结构

Python编程基础:计算机组成原理、Python开发环境、Python变量、流程控制语句、高级变量类型、函数应用、文件操作、面向对象、异常处理、模块和包
数据结构:算法、时间复杂度和空间复杂度、栈和队列、二叉树
排序算法:冒泡排序、选择排序、插入排序、快速排序、希尔排序

五、自动化测试

1)Web自动化测试

搭建Web自动化测试环境
元素的定位方法和元素操作
UnitTest框架、UnitTest断言、参数化、测试报告、Fixture
PO模式的设计思想,对页面进行封装
数据驱动的实现方式、日志处理
自动化测试流程、自动化代码实现、项目自动化框架设计

2)接口测试

接口及接口测试的概念
HTTP请求报文
HTTP响应报文
TCP连接的三次握手、四次挥手
接口测试文档的编写和分析
Fiddler/charles抓包
postman(商用工具,很好用)
jmeter(强大,接口、压力通吃)
requests(接口自动化,可以采用python+requests+pytest+ddt+git框架实现)

3)性能测试

性能指标理解
性能测试的分类
设计合理的性能测试场景
性能监控分析和调优
性能工具的使用

4)APP自动化测试

App的打包与服务器部署
ADB 命令的使用
Monkey 测试工具的使用
Appium 测试工具的使用
掌握移动端 APP 自动化测试的基本技术

5)安全测试

Mysql注入
XSS注入
漏洞扫描
敏感信息泄漏
文件上传
信息校验

6)持续集成

开发人员提交代码至svn
测试人员检出源码
编译打包
上传服务器
部署启动
开发测试脚本、完成测试

上面是我的个人系统学习路线具体内容介绍每一阶段有对应的免费视频教程资料,希望对大家的软件测试学习有所帮助!

手工测试学习重点

对于零基础的新人来说,肯定要先学习基本理论知识,有一定的计算机基础和软件测试基础之后,再做需求分析和用例分析,所以这一个阶段重在打基础和写测试用例

学习目标:掌握基本的测试理论、各种测试文档的编写和管理、数据库的操作、满足大部分企业的需求

熟练掌握黑盒测试用例设计方法,进行功能测试用例设计
熟悉测试管理工具禅道、QC
熟悉测试计划,测试方案,测试报告的核心内容
SQL数据库语言
熟悉电商类、应用类手工项目测试

面试方面

马上就要到金九银十的面试旺季,大家都希望趁着这个机会找到一个心仪的工作,但是不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~

  • Bug必填字段
  • 简述一下BUG的生命周期?
  • 你认为做好测试用例工作的关键是什么?
  • 一套完整的测试应该由哪些阶段组成?
  • 软件验收测试包括?
  • 系统测试的策略有?
  • 编写测试报告
  • 描述软件测试活动的生命周期?
  • 简述软件测试中的“80-20原则”。
  • 一个缺陷测试报告的组成
  • 什么是压力测试?压力测试需要考虑哪些因素?
  • 软件测试的目的是什么?
  • 黑盒测试用例设计常用方法
  • 单元测试、集成测试、系统测试、验收测试、回归测试这几步最重要的是哪一步?
  • 请说一下手动测试与自动化测试的优缺点
  • 怎么实施自动化测试
  • 什么是压力测试?压力测试需要考虑哪些因素?
  • 谈谈你对 CI/CD 的理解
  • 你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?

......(我一共参加了5场面试,这里分享的面试题仅展示了部分,受篇幅的限制不方便阅读就不全部贴出来了,题+答案可以在文末领取)

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

梳理收集资料不容易,麻烦关闭前给点个赞,不胜感激!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

06-发送短信验证码实现登录功能

1、发送短信验证码实现登录功能的流程 1.1、获取验证码流程 1.2、登录流程 1.3、页面带有图形验证码的流程 2、 注册登录二合一页面的开发 2.1、将src目录下的App.vue页面上通用显示的删掉 2.2、在router目录下的index.js文件中通过懒加载的方式添加login.vue页面 对于rout…

【新版】系统架构设计师 - 软件工程

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 软件工程考点摘要软件工程概述软件能力成熟度模型软件过程模型瀑布模型原型化模型增量模型螺旋模型喷泉模型V模型迭代与增量的概念CBSD基于构件的模型(构件组装模型/基于构件的软件开发…

PSP - 更新 MSA 搜索的全部 UniProt 蛋白序列库

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131115471 UniProt 是一个提供蛋白质序列和功能信息的数据库,由欧洲生物信息学研究所(EMBL-EBI)、美国瑞士生物技术信息中心(SIB)和美国蛋白质信息资源(…

一图详解!接口测试之HTTP协议与HTTPS协议的传输过程

目录 前言: 1、HTTP协议 1.1 协议 1.2 原理 1.2.1 客户端 1.2.2 服务器端 1.3 请求报文 1.3.1 报文格式 1.3.2 请求报文方法 1.4 响应报文 1.4.1 报文格式 1.4.2 响应报文状态码 2、HTTPS协议 2.1 加密算法 2.2 数字签名 2.3 传输过程 2.4 流程图 …

Kafka运维监控:Kafka-Eagle安装

kafka自身并没有集成监控管理系统,因此对kafka的监控管理比较不便,好在有大量的第三方监控管理系统来使用,常见的有: Kafka Eagle KafkaOffsetMonitor Kafka Manager(雅虎开源的Kafka集群管理器) Kafka …

安装和配置Canal

安装和配置Canal 下面我们就开启mysql的主从同步机制,让Canal来模拟salve 1.开启MySQL主从 Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以。 这里以之前用Docker运行的mysql为例: 1.1.开启binlog 打开mysql容器…

电商打工人的饭碗,AIGC还端不走

文 | 螳螂观察 作者 | 鲸胖胖 以ChatGPT、Midjourney、文心一言等为代表的AIGC产品,已经在全球掀起新一轮的AI技术变革新浪潮,再度刷新了人们对AI的认知,多个行业的商业模式和生态必然在未来会被彻底重构。 前不久,36氪就测使用…

【博客647】MetricsQL(VictoriaMetrics)和PromQL(Prometheus)的不同之处

MetricsQL(VictoriaMetrics)和PromQL(Prometheus)的不同之处 1、如果对PromSQL不熟悉可以先看以下链接 https://valyala.medium.com/promql-tutorial-for-beginners-9ab455142085 2、与PromQL相比,以下功能在MetricsQL中的实现方式不同,这也改善了用户…

AI实战营第二期 第六节 《MMDetection代码课》——笔记7

什么是MMDetection? MMDetection 是被广泛使用的检测工具箱,包括了目标检侧、实例分割、全景分割等多个通用检测方向,并支持了 75 个主流和前沿模型, 为用户提供超过 440 个预训练模型, 在学术研究和工业落地中拥有广泛应用。该恇…

帧布局叠放视图

线性视图只会将视图组织到一行或一列中&#xff0c;每个视图都在屏幕上有自己的位置不会重叠。如果希望布局能够重叠&#xff0c;有个很简单的做法就是使用帧布局。 本文实现一个图像上显示文本的例子。 定义帧布局 <?xml version"1.0" encoding"utf-8&quo…

C++类和对象-5

本篇博客来讲述C类和对象中的最后一些内容&#xff0c;即友元和const的使用方法。 目录 1.友元 1.1引入 1.2内容 1.2.1友元函数 1.2.2友元类 1.3内部类 2.const修饰 2.1内容 2.1.1常数据成员 2.1.2常成员函数 2.1.3常对象 2.2示例 1.友元 1.1引入 在讲述友元之…

使用DR对流量进行管理 subnet子集的定义

这里vs可以控制往svc1和svc2流量走的比例&#xff0c;但是这里只假设往svc3里面走。现在想控制的是往pod1和pod2各走多少流量。 流量到了svc3的时候还是使用的是kube-proxy对流量进行转发。 了解DR DR定义的是经过VS之后已经到达service的流量&#xff0c;主要可以用于&#xf…

【深度学习入门:基于Python的理论与实现】

文章目录 神经网络从感知机到神经网络神经网络的例子复习感知机激活函数登场 激活函数sigmoid函数阶跃函数的实现sigmoid函数的实现 sigmoid函数和阶跃函数的比较ReLU函数 3层神经网络的实现符号确认代码实现 输出层的设计恒等函数和softmax函数输出层的神经元数量 手写数字识别…

【ArcGIS Pro二次开发】(36):度分秒转十进制度

经纬度坐标的表达方式比较常用的一般有2种&#xff0c;【度分秒和十进制度】。 在成果展示中&#xff0c;以【度分秒】居多&#xff0c;但如果要将坐标导入ArcGIS中&#xff0c;则一般需要用到【十进制度】&#xff0c;这个转换可以在Excel中进行&#xff0c;也可以在ArcGIS中的…

火龙果MM32F3273G8P开发板MindSDK开发教程4 - 滴嗒定时器Systick的配置

火龙果MM32F3273G8P开发板MindSDK开发教程4 - 滴嗒定时器Systick的配置 1、Systick寄存器 Systick是ARM内核的一个外设&#xff0c;所以在不同芯片的代码上移植比较方便&#xff0c;他总共有4个寄存器&#xff0c; 从Systick定义中可以看到&#xff1a; typedef struct {__I…

Android系统的启动流程(二):SystemServer处理过程

Android系统的启动流程&#xff08;二&#xff09;&#xff1a;SystemServer处理过程 摘要 在上篇文章中&#xff0c;我们已经将启动的进程推进到了ZygoteInit的main中&#xff0c;在ZygoteInit中我们已经知道它的main方法中的forkSystemServer方法将会启动系统服务&#xff0…

机器学习 | 支持向量机SVM | 概念了解向

概念了解向&#xff0c;参考视频&#xff1a; 【小萌五分钟】机器学习 | 支持向量机 SVM &#x1f4da;最大间隔分类器 如下图有两种不同颜色的点。我需要一个分类器告诉我&#xff0c;假设在下图中新加入一个点&#xff0c;应该将它分类至红点还是蓝点。考虑加入一条决策边界…

【4 微信小程序学习 - WXSS-WXML-WXS语法】

1 WXSS相关 1 小程序样式的写法 2 WXSS支持的选择器 3 wxss的扩展 – 尺寸单位RPX rpx是为了屏幕自适应. 4 逻辑判断 wx:if – wx:elif – wx:else 对应v-if <!-- 2.条件判断 --> <view wx:if"{{score > 90}}">优秀</view> <view wx:…

程序员兼职接单的平台列表

最近有很多程序员朋友说想要找一份合适的兼职工作&#xff0c;却苦于找不到一个正规靠谱的平台。今天我特意整理了一份超详尽的程序员兼职接单平台list&#xff0c;各位可以按需选择&#xff0c;也希望大家都能找到心仪的工作~ 中高端开发者必备的兼职接单平台&#xff1a;程序…

Ubuntu 登录提示信息`Message of The Day`(MOTD)定制与开关

一、效果 登录Ubuntu的时候&#xff0c;在控制台可能会弹出一系列提示消息&#xff0c;有欢迎消息、系统信息、更新信息等等&#xff1a; 这些提示消息被称为Message of The Day&#xff0c;简称MOTD。 Ubuntu与其它Linux版本不太一样&#xff0c;它引入了MOTD 的概念。 这些…