当前位置: 首页 > news >正文

8年测开年薪30W,为什么从开发转型为测试?谈谈这些年的心路历程……

谈谈我的以前,从毕业以来从事过两个多月的Oracle开发后转型为软件测试,到现在已近过去8年成长为一个测试开发工程师,总结一下之间的心路历程,希望能给徘徊在开发和测试之前的同学一点小小参考。

一、测试之路伏笔

上学偷懒,留下个习惯,喜欢看别人的代码。很多时候觉得别人写的比自己好太多,简单的一段代码别人写的精妙绝伦,自己的又丑又长。自己带有批判性眼光看代码。

逻辑思维能力比较OK,尤其是发散思维,工作面试的笔试题几乎都为逻辑题,我用非常快的速度全部正确做完,很开心拿到offer,发散思维在测试中很重要,往往问题都比较隐藏和集中,从不同的方向进行不同的测试,找到问题并带出系列性问题

(我曾测试过一个功能模块出现问题从而带出提交了一些问题,当时项目压力使测试和开发有些小气氛,被主管叫去批评,我写的太多,开发觉得其中提到的东西是正确的,后经验证一些列问题都是潜藏的问题,主管也不好在批评之后表扬,但那两个星期逗我特好了就)。

我有完美主义倾向(生活中的坏毛病),追求完美,这个给我带来了些小问题。自己写的东西有些小问题自己也会很气馁,测试找出别人的存在的失误会有成就感,我也知道能包容不完美才是完美,努力的目标。

我对开发的热情没有测试的火热。

我的开发能力都一般,不突出。而软件测试为复合型。要求广度和宽度,深度为其次。虽然测试的时候主动帮助开发做过数据库出现的异常处理,开始提出解决方案的时候,开发并不认同一个测试的方案,但是后来采用了。这位开发也不再小瞧我了。

二、测试之路小结

软件开发是建设性的,而软件测试从一方面来说是破坏性的,开发注重设计,使程序做的应该做的事情,不做不应该做的事情,一般来说,开发写完程序都会自己验证程序是否做了他应该做到的事情,软件测试不仅要验证程序是否做了他应该做的事情,更注重的是软件是否做了他不应该做的事情。所以测试更关注的是软件是否做了他不应该做的事情。

检验已实现的功能是否正确,检验是否正确实现了功能。

重新否定自己,开发测试自己的代码效率低是因为在内心深处他们不愿意否定自己,不愿意觉得自己有问题,测试人员应学会否定自己,这样在一个版本到另一个版本的回归测试过程中确保自己的测试无遗漏。

永远不要觉得软件质量是软件测试的任务,不要轻易背锅,软件质量从一开始就是开发的系统架构所决定的,软件测试不过是优化提高软件的质量,但是很可能还是存在致命的bug。所以做好自己的管理,证据,从而不要让自己轻易背锅。当然,在其位,谋其职,测试一定要富有强韧的责任心。对自己工作仔细细心。

学习多了解,测试一定要对自己能力的肯定,可能我的能力在别人的眼里不想开发在某一方面很突出耀眼,我对自己一直充满了自信,测试需要自己的广度和心态上的磨练更是需要的。就像是冰山,庞大的业务知识,测试框架,多维度的思维习惯虽然看上去是一个点一个点的,当你把这些点链接起来的时候,你会看到汪洋一片,所以,你一定要学习,更多的学习。

沟通很重要,多多沟通,沟通的艺术更是重要,和开发和睦相处能给工作带来很多乐趣,很多时候,你一天工作交流的基本都是开发人员。学会包容和理解。

目前我只是处于黑盒子阶段,我也想学习更多更多的测试工具和脚本语言,但是不能妄自菲薄,不管是自动化测试还是手工测试实质都是测试方法,测试工具不过是载体,不能弄混主次。级别不够,再厉害的测试工具你也不一定能用到而且会用,但一定多多了解学习。

三、8年蜕变,现在已近是测试开发,年薪30W+

8年时间的蜕变,我从一个初级测试工程师,成长为了一个测试开发工程师

日常工作内容:

  1. 编写自动化测试脚本:测试开发工程师需要使用编程语言(如Java、Python等)编写自动化测试脚本,用于执行系统功能测试、性能测试、接口测试等多个测试阶段。

  2. 搭建自动化测试框架:测试开发工程师可以使用开源测试框架或自己搭建测试框架,以提升测试效率和可维护性。一些常用的测试框架包括Selenium、Appium、JMeter、Robot Framework等。

  3. 分析测试结果和问题:测试开发工程师需要分析自动化测试脚本运行的结果和日志,找出问题所在,并及时反馈给相关开发人员或测试团队。

  4. 协同开发团队进行集成测试:测试开发工程师需要与开发人员紧密合作,进行集成测试工作,确保系统各个组件间的协调运行。

  5. 参与持续集成和持续交付:测试开发工程师需要参与持续集成和持续交付过程,保证软件质量和稳定性。这其中包括构建测试环境、制定测试策略、持续监控和优化测试过程等。

总之,测试开发工程师的日常工作内容以自动化测试为主,同时也需要具备软件开发和测试管理方面的技能。

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于对想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

8年测开年薪30W,为什么从开发转型为测试?谈谈这些年的心路历程……

谈谈我的以前,从毕业以来从事过两个多月的Oracle开发后转型为软件测试,到现在已近过去8年成长为一个测试开发工程师,总结一下之间的心路历程,希望能给徘徊在开发和测试之前的同学一点小小参考。 一、测试之路伏笔 上学偷懒&#…...

滑动奇异频谱分析:数据驱动的非平稳信号分解工具(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

updateByPrimaryKey和updateByPrimaryKeySelective的区别

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl MyBatis Generator概述 MyBatis Generator是一个专门为MyBatis框架使用者定制的代码生成器,它可以快速的根据表生成对应的映射文件、接口文件、POJO。而且&#…...

【ARM Coresight 4 - Rom Table 介紹】

文章目录 1.1 ROM Table1.1.1 Entry 寄存器 1.2 ROM Table 例子 1.1 ROM Table 在一个SoC中,有多个Coresight 组件,但是软件怎么去识别这些 Coresight 组件,去获取这些Coresight 组件的信息了?这个时候,就需要靠 Core…...

11111111

单选题 1、某地上2层的仪表装配厂房,耐火等级二级,每层建筑面积10000m2,该厂 房二层设有800m2的金属零件抛光工段,采用耐火极限为2.00h的防火隔墙与其他区域分隔,该厂房的火灾危险性为( )。 正确答案:B A.甲类 B.乙类 C.丙…...

JavaWeb——TCP协议的相关特性

目录 一、TCP 1、特性 2、确认应答 (1)、定义 (2)、原理 (3)、接收缓冲区 3、超时重传 (1)、丢包 (2)、定义 (3)、分类 二、…...

数据结构(C语言实现)——二叉树的概念及二叉树顺序结构和链式结构的实现(堆排序+TOP-K问题+链式二叉树相关操作)

文章目录 1. 前言2. 树的概念及结构2.1 树的概念2.2 树的相关概念2.3 树的表示 3. 二叉树的概念3.1 特殊二叉树3.2 二叉树的性质 4. 二叉树的顺序存储4.1 堆的概念4.2 堆的实现4.2.1 堆的结点定义4.2.2 堆的打印和销毁4.2.3 堆的插入4.2.4 堆的删除4.2.5 取堆顶数据4.2.6 堆的判…...

OpenShift:关于OpenShift(OKD)通过命令行的方式部署镜像以及S2I流程Demo

写在前面 因为参加考试,会陆续分享一些 OpenShift 的笔记博文内容为安装完 OpenShift, 利用 OpenShift 引擎部署一个镜像应用和一个 S2I 流程部署应用 Demo学习环境为 openshift v3 的版本,有些旧这里如果专门学习 openshift ,建议学习 v4 版…...

楔形文字的破解(钉子形文字)【文字破译原理:信息的相关性】

文章目录 引言I 破解楔形文字1.1 贝希斯敦铭文1.2 破解古波斯楔形文字1.3 破解新埃兰楔形文字和巴比伦楔形文字1.4 破解苏美尔楔形文字引言 祖先借助外力走出了非洲,开始了农耕定居的生活,创造能量的水平和能量的使用效率都越来越高;依靠着语言、文字和书写系统,经验、技术…...

【网络安全】文件上传绕过思路

引言 分享一些文件上传绕过的思路,下文内容多包含实战图片,所以打码会非常严重,可多看文字表达;本文仅用于交流学习, 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人…...

MySQL数据库(2)

目录 日期类型的基本使用 timestamp时间戳 修改表 insert基本使用 insert注意事项 update基本使用 update注意事项 delete基本使用 delete注意事项 select基本使用 select练习1 select练习2 select练习3 日期类型的基本使用 timestamp时间戳 在5.7版本使用时间戳需…...

2023年学什么编程语言,最容易找工作?

在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位,例如web前端开发、软件工程、游戏开发、APP开发、网络爬虫、网站开发、人工智能开发、网络维护、Java开发、大数据分析、Python开发等工…...

4月23日,今日信息差

1、京东健康皮肤医院正式上线 2、蚂蚁集团再捐1亿元支持内蒙古种树治沙 3、苹果MacBook组装商广达将投资1.2亿美元在越南建电脑制造厂 4、用友与百度签署战略合作协议 5、马斯克:星舰可能在一两个月后准备再次发射 6、格芯起诉IBM 恐波及日本2nm芯片计划 7、河北南部…...

【随笔四】JavaScript 中的 rest

某次开发中,看到项目代码中用到了 rest 这个参数,但又没看到在哪里定义或者传入,当时没太理解它的意思,查了下资料才恍然大悟。含义也很简单,写个随笔记录下。 关键字 rest 的用法(剩余参数) 在…...

maven作用讲解---以及怎么配置阿里的maven镜像

目录 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven 2. 修改 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven (1) 把 D:\program\JavaIDEA 2020.2\plugins\maven\lib\maven3\conf\settings.xml…...

NXP公司LPC21xx+热敏电阻实现温度检测

LPC2131/32/34/36/38微控制器基于16位/32位Arm7TDMI-S™CPU,支持实时仿真和嵌入式跟踪,具有尺寸小,功耗低,多个32位定时器、单/双10位8通道ADC、10位DAC、PWM通道、47个GPIO线(它们拥有多达9个边沿或电平触发的外部中断…...

Springboot信息泄露以及heapdump的利用

本文转载于https://blog.csdn.net/weixin_44309905/article/details/127279561 heapdump的利用 0x01 Springboot信息泄露 路由列表 0x02 下载heapdump0x03 利用heapdump的姿势 工具一:heapdump_tool工具二:Eclipse MemoryAnalyzer 0x01 Springboot信息…...

淘宝天猫店铺新品如何运营?

新品在店铺运营过程中是十分重要的部分,你知道新品在店铺运营中有何作用?了解新品运营机制吗?今天就来快速了解关于新品的知识点。 新品在店铺运营的角色: 01、商品生命周期有限 商品的普遍生命周期在3个月左右,3个…...

Linux-给普通用户sudo权限

给普通用户sudo权限 创建用户安装sudo组件设置sudo权限切换到 root 用户、以root用户登录修改 /etc/sudoers文件权限修改 /etc/sudoers文件 (主要步骤)保存退出将 /etc/sudoers写权限改回来结束 创建用户 useradd xwy //创建用户passwd xwy //为用户设置…...

小米13 Ultra:携光前行,追求每一束光的精确还原

“光,是影像的原点”,一切色彩、影调都在于光。我们目之所及的大千世界,皆被光与影一笔一划细细勾勒,为“视”界晕染上或鲜明、或复古、或反差、或梦幻的色调。我们用“光”去描绘、定义“影像”,让一切平凡的事物&…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...