做测开的3年总结

news2024/11/26 8:37:27

大家好,我是洋子

进入测试行业刚满3年了,毕业北漂也满3年了,回顾一下这3年的工作和生活

下面文章我将会从QA这个岗位的角度复盘一下这3年来的所思所想,有刚入行的小伙伴可能不太清楚QA(Quality Assurance)是什么意思,在国内的话,QA可以理解成就是测试工程师或者测试开发工程师

那测试和测开有什么区别呢,在我还是应届生的时候,我可能会认为测开就是只做测试工具或者测试平台的开发工作

而从业后的第2年到第3年后,我现在会说,测开这个岗位的本质和功能测试还是没有特别大的差别,在国内测开就是测试,岗位核心仍在于质量保障,对于业务线的QA来说,依然还是70%以上的时间还是在做业务测试,如果非要谈及测试和测开的区别,那么就是测开是需要基本的代码能力,能写脚本、工具或者平台

对于现阶段的测试行业的现状,有以下几点值得关注

  1. 降本增效: 测试岗本身属于成本岗位,最明显的感知就是大环境下,测试岗位在减少,即使在公司内部,就拿我目前所在的公司来举例,测试和开发人员比例在进一步拉大,由原来的1:7增加1:10以上,部分简单的需求已经拿给开发自测,测试不再介入,对于一些重复性的工作,功能测试在进一步外包化
  2. 大模型(如ChatGPT)的出现在未来或许将改变测试工程师的工作模式
  3. 难以沉淀新技术:测试在整体研发体系当中,始终充当的是一种辅助角色,做为上线前的最后一道关卡,有时候为了凸显自己的价值,往往还要通过测试左移的手段,提供工具给开发,而这些开发这些工具所用到的技术,因为跟业务贴合比较近,往往不具备普适性

从第1点和第3点来看,测试这个岗位不免确实有些尴尬,很难产生直接的生产价值,不产生价值意味着在公司不会受到重视(这种现象在中小厂会比较明显,大厂对质量的要求还比较高),需求测的好没有夸奖你,漏测了就甩锅给你,是的,确实如此,下面我们从测试做的日常工作,再来充分了解一下这个岗位

做为一个QA,做测试就是最基本的质量保障手段,常见的测试手段包括手工测试(功能测试、接口测试、白盒测试、单元测试)、自动化测试(接口自动化、UI自动化、单元测试自动化)以及非功能层面的性能测试

而测试要做的开发工作,不外乎是测试工具(可视化工具、脚本)-》测试平台,除此以外,建设自动化测试框架的工具方法,CI流水线维护写的Shell脚本,压测要编写的压测脚本也算在里面

看着上面测试的日常工作,像点点点,确实体现不出测试的价值,测试的价值到底在哪里,发现了几百个Bug算不算,在老板眼里,发现的Bug多确实谈不上一丁点价值
在这里插入图片描述
于是乎,对于测试来说,只能去围绕质量和效率开展专项,来体现自己的价值

质量专项的目的是通过一系列手段来减少线上问题的数量,降低线上问题的等级,线上问题一般会根据标准来确定等级,严重的线上问题会造成几万甚至上百万的GMV

  • 稳定性测试:混沌工程(线上环境),异常测试(线下)
  • SDK质量保障
  • 众测、内部用户体验
  • 线上监控(细化场景、端到端全链路),日志监控,以此来提测问题拦截能力
  • 流程规范(准入准出标准、测试流程)

效能专项的目的则是缩短交付周期(研发-》测试-》上线),减少长尾需求,提高研发自测率

  • 流量回放
  • 测试环境治理
  • 测试工具、平台
  • 精准测试
  • CI流水线、CD分级发布部署
  • 自动化数据构造
  • 代码覆盖率采集
  • 无人值守

以上是常见的质量和效能专项,这些专项是否真正体现出价值其实还是在打问号,但是如果不做这些,做为QA确实就没有拿的出手的东西来了

回到自己的职业发展角度来看,工作到第3年后,我能明显感觉到自己开始走到职场的第一个瓶颈期,这种感觉不再是从学生时代对于自己技术的不自信,感觉自己什么都不会,相反而是在工作第3年后,对自己各项日常工作已经非常熟悉以后,不知道再深入哪块的无力感

继续往下面走,我时常问自己?还是要继续做测试吗,还是转开发,转产品?我的内心告诉我,在分析各种利弊以后,继续做测试确实是我当前的最优解,我或许会继续从事测试,但可能会换个环境,当前环境已经陷入了一种舒适圈

说来也巧,有幸能够在一家公司体会到业务从兴盛时期,到彻底瓦解的全过程,业务发展初期需求爆炸,见过凌晨45点下班天已经亮的场景,而到业务衰退末期,业务需求急剧减少,在业务发展的整个生命周期里面,互联网给我最大的感受就是变化真的太快

今天就写这么多吧

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

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

相关文章

【RabbitMQ】之高可用集群搭建

目录 一、RabbitMQ 集群原理 1、默认集群原理2、镜像集群原理3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建2、配置镜像队列3、HAProxy 环境搭建4、Keepalived 环境搭建 一、RabbitMQ 集群简介 1、默认集群原理 3-1、RabbitMQ 集群简介 单台 RabbitM…

第二招牌——创造企业结构性增长的有效战略工具

在现代商业环境中,企业面临着激烈的竞争和不断变化的市场条件。为了在这个竞争激烈的环境中生存和持续发展,企业必须不断寻求创新和增长的机会。这就需要企业创造结构性增长,不仅仅是依靠传统的业务模式和产品线,还要不断的拓展新…

elasticsearch报错问题

标题1.报错问题 标题2.新建一个配置类 package cn.itcast.hotel.config;import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import o…

SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色

SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色 QQ 109792317 说明:当SecureCRT加载了配色文件后,输出的关键字会被不同颜色高亮显示,但是如果复制粘贴到word中会发现成了纯文本,字体颜色消失了。 如何保留 &#x…

真空压力控制技术在三轴仪土壤制样、力学和渗透性能测试中的应用

摘要:在当前的各种三轴测试仪中,对月壤和月壤模拟物的样品制备和力学性能测试还无法实现样品的真空制备、测试过程中的可变围压控制和样品的超真空度准确控制。为此本文提出了实现这些功能的解决方案,解决方案采用不同气体流量控制技术以及特…

npm i babel-plugin-import -D之后报错

替换modules/.bin/XX文件 1.vue-cli-service #!/bin/sh basedir$(dirname "$(echo "$0" | sed -e s,\\,/,g)")case uname in*CYGWIN*) basedircygpath -w "$basedir";; esacif [ -x "$basedir/node" ]; then"$basedir/node"…

Cilium系列-4-Cilium本地路由

系列文章 Cilium 系列文章 前言 在前文中我们提到, cilium install 默认安装后, Cilium 功能启用和禁用情况如下: datapath mode: tunnel: 因为兼容性原因,Cilium 会默认启用 tunnel(基于 vxlan) 的 datapatch 模式,也就是 overlay 网络结…

【主成分分析(PCA)】

主成分分析(PCA) 摘要 在现代数据科学中,维度灾难常常是数据处理与分析的一大难题。主成分分析(PCA)是一种广泛使用的数据降维技术,它通过将原始数据转换为新的低维空间,保留最重要的信息&…

【docker】docker部署tomcat

目录 1.1 搜索tomcat镜像1.2 拉取tomcat镜像1.3 创建容器,设置端口映射、目录映射1.4 测试 1.1 搜索tomcat镜像 docker search tomcat1.2 拉取tomcat镜像 docker pull tomcat1.3 创建容器,设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存…

网络:TCP/IP协议

1. OSI七层参考模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 2. TCP/IP模型 应用层 传输层 网络层 数据链路层 物理层 3. 各链路层对应的名称 应用层对应的是协议数据单元 传输层对应的是数据段 网络层对应的是数据包 链路层对应的是数据帧 物理层对应的是比特…

领域驱动设计(五) - 战术设计 - 【2/3】领域服务、事件、模块

一、领域服务 当操作不适合放在聚合和值对象上时,最好的方式就是使用领域服务。领域服务是一个无状态的操作,一个领域服务有可能操作多个领域对象,它用于实现特定于某个领域的任务。领域服务需要处理逻辑,不建议做为soap接口对外…

C++day7(异常处理机制、Lambda表达式、类型转换、STL标准库模板、迭代器、list)

#include <iostream>using namespace std; template <typename T> class vector { private:T* first;T* last;T* end; public:vector():first(new T),last(first),end(first){cout<<"无参构造"<<endl;}//无参构造vector(T* f):first(f),last…

如何写好代码

一、什么是好代码 抛开性能、并发、一致性等技术因素&#xff0c;好的业务代码&#xff0c;应当如一篇显浅易懂的业务叙实文章&#xff0c;满足以下几个基本条件&#xff1a; 词要达意&#xff1a;最基础的变量、函数、类的命名&#xff0c;是否名达其意。 结构清晰&#xff…

supersqli

这个题&#xff0c;其实之前做过&#xff0c;这里只是换了个名字而已 输入1&#xff0c;提交后可以明显发现url发生变化 &#xff0c;可以猜测SQL注入 源码提示sqlmap是没有灵魂的&#xff0c;说明确实是sql注入 万能密码可以可以到&#xff0c;所包含的表 利用order by查看&a…

安卓之事件分发机制

安卓之事件分发机制 简介 事件分发的”事件“是指什么&#xff1f; 答&#xff1a;点击事件&#xff08;Touch事件&#xff09;。当用户触摸屏幕&#xff08;VIew或ViewGroup&#xff09;时&#xff0c;将产生点击事件&#xff0c;即Touch事件。Touch事件的细节&#xff08;如…

SpringBoot整合MyBatisPlus入门

SpringBoot整合MyBatisPlus入门 1. MyBatisPlus概述1.1 MyBatis介绍1.2 MyBatisPlus特性 2. SpringBoot整合MyBatisPlus入门2.1 创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息2.2 选择当前模块需要使用的依赖&#xff08;JDBC即可&#xff09;2.3…

【前端知识】React 基础巩固(三十一)——store数据的订阅和Redux的优化

React 基础巩固(三十一)——store数据的订阅和Redux的优化 一、store数据的订阅 store/index.js const { createStore } require("redux");// 初始化数据 const initialState {name: "test",title: "hello redux", };function reducer(state …

自然语言处理NLP介绍——NLP简介

目录 内容先进性说明内容大纲概要云服务器的使用 内容先进性说明 内容大纲概要 云服务器的使用

基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

工作中的二三事(非技术 向)

DB更换节点导致系统无法访问案 XX年X月X日&#xff0c;周一。spotfire所有预加载全显示在排队状态&#xff0c;end user无法打开&#xff0c;良率无法及时汇报&#xff0c;影响挺大。 背景&#xff1a; 两台spotfire服务器 处理过程&#xff1a; 开始怀疑和另一现地的情况一…