测试开发之路,我在大厂做测试这四年的感悟

news2024/11/30 6:56:12

开篇

当开始写这篇文章时候,才感受到人生如白驹过隙,4 年时间飞逝,自己也从一个初入职场小白到能肩负项目核心事务的测试开发。在这里,总结 4 年来的心智成长之路,也是借机互相交流,并无对错之争,欢迎有见解的讨论,共同进步。

我的经历
在两个大厂分别做了两年的测试开发工作,暂且成为 M 厂和 A 厂吧。负责过游戏自动化框架开发、专项测试工具开发、版本质量保障、Devops 平台开发,也带过小团队。每个厂,每份工作都力求突破,过程辛苦,自然结果都是很满意的,都拿到了不错的绩效。

测开的岗位定位
虽然在经历过的项目中,测开的定位大部分都是 “测试”,在 M 厂里面架构会比较特别,将测试开发与业务测试彻底分开。测试开发更多是做测试平台和效能提升相关工作;业务相对单纯,整个团队会一起面向功能测试痛点、研发痛点从质量检查角度出发做工具与平台,解决研发过程和测试过程的痛点。

这份经历回想起来,还是很有意义:做事非常专一,技术也获得了不少成长。唯一不足的是,这些工具、平台也好,是否真正让业务产生了更实质上的提升,很难去精准量化。后期也做了很多量化工作的事情,建设量化的数据模型;所以切入 Devops 赛道,学习了很多 Devops 理念,造了一些轮子。当然一个人的精力是有限的,在一个成本中心里面,想去做 Devops 是很容易上手,但是做完善一整套 Devops 落地,几乎不可能的。

后来的工作,就开始跟业务了,能非常明显感觉到,业务带队水平的提升,沟通能力的提升,更多从一个质量保障的角度去做质量输入和输出,也算是亲身体会到了 QA 这个职业的 “不容易”:人在工位坐,锅从空中来,深有体会。

两段不同的经历碰撞,对测试开发这个岗位有了更纵深的思考,包括岗位价值、核心竞争力、行业发展有了一些思考。

测开核心价值
测开的定位既然也是测试,那么它的核心价值其实一句话可以总结:为质量买单,为产品保值,为过程降本。

测开本质上归属于测试序列,哪怕再厉害的测试技术、测试平台、测试工具,不要被这些所谓的 “高大上” 的技术名词掩盖了真相。做这些自动化、平台工具最终都是为了更短的时间、更低的成本输出质量,然后(这里是重点)根据输出的质量去买单。这里说的直白一点,做的这些事情当然有意义,但是跳出本位思维,站在老板,站在项目经理的角色去看待,想要的只是质量结果和谁为这些结果买单。

总有人需要为结果买单,为过程买单,核心价值也就出来了。作为测试序列的一员,最重要的存在即为质量买单。也就催生出了,为什么测试要负责过程管理、左移右移,很少见到开发提到右移到测试。测试岗位的内容自然就杂而不精了:不是一个很合格的项目管理、却又要参与项目管理环节;不是一名单纯的技术,却又要在业务测试中兼顾工具开发。甚至个别项目或者公司要求测试也要负责需求的质量把控。

因此,在一个买单岗位他的存在大部分除了输出质量之外,本身不产生直接的商业价值,成为了一个背负成本的节能减排部门。也就是上面提到的为质量买单,为产品保值,为过程降本。

2022测试生涯该如何转型
怼测试开发工程师来说,看懂代码,熟练使用测试工具,能做ui、接口、性能的测试,具备测试经验和测试思维逻辑是基本要求;既要会业务功能测试,又要能做代码层接口及单元测试,更重要的是通过能力和经验的积累,能搭建用于技术研发团队的工具平台,以更好的降低公司成本和提供工作效率。大致包括以下部分:

测试开发所需要的技术栈

一、具备一定测试经验。只有设身处地的经历过测试人员的痛点和难点,才能切实解决他们的问题。

二、会使用常用重要的测试工具。比如性能测试常用的Loadrunner、jmeter;ui自动化常用的selenium;单元测试常用的testng、junit;安全测试常用的appscan,js注入,xss注入,sql注入等等。

三、具备测试工具开发能力。下面介绍一些主流的技术栈:

测试工具系统框架搭建:1)java+maven+SpringMVC ;2)python+django

对于第一种框架,最好创建分层化的多模块工程,以便更好的设计代码框架和结构。通常dao层主要是和数据库关联;web层是controller,是前端和服务层的衔接;service层提供一些公共服务或业务处理逻辑。

Maven工程有了之后,运用当前主流的框架-springMVC,将前后端数据库关联起来。

对于无代码基础,想入门测试开发的小伙伴,可学习第二种框架:python+django,较为易学易用。

前端页面:html,css,jquery,bootstrap,Echarts,前端页面是门脸,是使用人员操作的入口,也是数据输入和展示最直观的地方。

Css样式决定页面布局和美观度;jquery是一种js框架,极大地简化了 js 编程;echarts能够提供简单易用的常用图表,使页面更加有档次感、数据展示更加直观简洁。

后端服务:spring,mybatis,使用Spring框架可以简化很多基础性的工作,配置好后可以方便构建业务应用,是一个非侵入性的轻量级容器。

数据库:Mysql或Orcale 的数据库安装,库表创建,字段设计,常用的sql语句

系统:能熟练在windows或linux系统上搭建项目,日志查看等操作

服务容器:tomcat服务部署,nginx负载配置,docker使用

持续集成:git,jenkins

开发工具:idea和eclipse

代码调试:testng或junit的单元调试及debug和远程debug使用

测试开发是以质量为中心,以业务为导向,以快速健康地保障产品交付为目标,不仅需要能cover日常测试工作,还需要肩负测试与效能齐头并进的使命的一个岗位。

 

测试开发岗位的难度比普通的测试要大很多,测试和开发都要懂。

那么,传统的测试工程师会被淘汰么? 这个谁都不敢做保证。要想在这个行业生存下去,唯一的丛林法则就是:优胜略汰,要跑赢技术更迭。

测试开发技能难点和学习通道
测试开发涉及到的技术知识繁杂,有一定的技术门槛。另一方面,每个团队在落地自动化测试技术体系时,又会衍生出各种各样的个性化实战问题。

比如,学习自动化测试框架容易,但是在落地实战中,框架稳定性与适用范围、用例稳定性、用例可复用性等问题则让人头大。又比如,同样做自动化,不同公司背景的实施能力和效果都不尽相同。对你们团队来说,在当下这个阶段,自动化测试该如何做?做到哪个程度?人员素质能否跟上?投入产出比是否值得?等等。质量保障是一个复杂的系统工程,在各种因素影响下,平衡好“质量-效率-成本”三者关系非常不容易。

测试高手之所以成为高手,不仅是因为技术实力强大,更重要的是经历过风雨,有各种踏坑填坑的血泪经验! 这也是测试开发工程师从入门到高手技能成长的核心挑战。

想快速提升测试开发技能水平的路径:

找到领域专家,学习过来人的踏坑经验,并结合自己公司业务实践落地,内化成自己的能力并持续优化。

站在巨人的肩膀,自然可避免很多不必要的弯路。如果还能找到志同道合的小伙伴一起打怪升级,交流探讨遇到的各种问题,那就更好了。

送给大家一句话:学习是个不断积累的过程,只有量变才会质变。测开这条路注定充满艰辛和坎坷。但他不会辜负你,只要你肯努力必定有收获,薪资一定会翻倍。
 

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

Java web 项目Tamcat在IDEA控制台输出乱码

遇到乱码问题怎么解决呢? 出现乱码其实就是编码格式有问题,设置一下呗,我们先查看一下编码格式,在改一下 1.查看编码格式 首选进入Tamcat安装的根目录 进入conf目录 找到logging.prooperties文件并打开 查看编码格式 编码格式为…

单机服务器docker搭建mysql5.7主从同步

1.首先使用docker安装mysql5.7 docker pull mysql:5.7 2.创建主库(从3306映射一个3308端口) docker run -d -p 3308:3306 -v /home/mysql-master/conf:/etc/mysql/conf.d -v /home/mysql-master/data:/var/lib/mysql -v /home/mysql-master/log:/var/lo…

启程,2022亚马逊云科技re:Invent Peter带来主题演讲

北京时间11月29日,2022亚马逊云科技re:Invent全球大会开幕首日,亚马逊云科技高级副总裁Peter DeSantis带来最新创新产品隆重登场,其间不乏计算、网络、算法及Serverless等最新功能特性。 网络协议创新:新产品 新理念 基于亚马逊…

MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制

一、准备工作 首先需要准备好环境,包含必要的软件,痞子衡的环境如下: 集成开发环境: MCUXpresso IDE_11.6.0_8187,点此下载软件开发包: SDK_2.12.1_EVK-MIMXRT1170(Toolchain需包含MCUXpresso I…

这么卷,现在测试工程师要求会写工具了?

Fintech概念正受到不少互联网金融公司的热捧,主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。 尤其是在很多互联网金融公司,业务分析师BA(Business Analyst)&#xff…

【Linux】-- 初识操作系统

目录 一、冯诺依曼体系结构 二、操作系统 1.概念 2.为什么要有操作系统 三.操作系统 1.硬件层 2.驱动层 3.操作系统层 4.用户层 (1)用户层 (2)系统调用接口 (3)用户操作接口 四、如何管理 1…

C. Zero-Sum Prefixes Codeforces Round #833 (Div. 2)(前缀和+贪心)

传送门 题意: 给你一个长度为n的数组,里面包含a1,a2,a3...an n个元素, 当的时候,你可以将变成任意数字, 问你经过任意次操作后对于,它的前i项和为0的个数是最大是多少? 思路: …

27岁自学Python转行靠谱吗?入行晚吗?

前言 今年已经奔三的小编来给大家说说,之前自己也是在一个普通的二本院校上学,学的还是工商管理,毕竟读书的时候电视剧里面的主角都是工商管理的大佬。 不过在毕业之后就经历了社会的毒打,后面小编就想去换一个工作,…

[附源码]计算机毕业设计springboot交通事故档案管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

jsp192ssm驾校报名预约管理系统

目 录 汽车驾校管理系统设计与实现 I 摘 要 I ABSTRACT I 目 录 III 第1章 绪论 3 1.1开发背景 3 1.2开发意义 3 1.3研究内容 3 第2章 主要技术和工具介绍 3 2.1SSM 框架 错误!未定义书签。 2.1.1. Spring 框架 3 2.1.2 SpringS…

clickhouse远程访问Oracle 11g数据库(clickhouse-jdbc-bridge)

1、简介 clickhouse-jdbc-bridge:是clickhouse提供的一个jdbc组件,用于通过JDBC的方式远程访问其他数据库表。 2、安装 (1)下载源文件并打包获取clickhouse-jdbc-bridge-2.0.7-shaded.jar 在官网:https://github.c…

stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)

文章目录stc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中)概述笔记原理图ENDstc15 - ST7920-12864并口通讯和串口通讯的整理(在一个实现中) 概述 为板子写测试程序, 整到12864 LCD这里. STC原厂工程只提供并口通讯. 找了网上同学的串口通讯实现, 整理了一下, 将串…

当成为全球第二大汽车出口国后,中国车企的下一步是什么?

新一轮汽车出口浪潮在疫情期间悄然启动,中国汽车工业协会发布数据显示,自2021年起,汽车出口销量呈现高速增长的势头,2022年前三季度汽车出口量超过2021年全年出口量,并超越德国,成为仅次于日本的全球第二大…

熊市链游模型如何设计开发?

GameFi的全局趋势 自第一款视频游戏诞生以来,游戏世界已经发生了翻天覆地的变化。技术和玩游戏的目的是不断围绕游戏本身发展着的两件主要事情。曾经的街机游戏、主机游戏、电脑游戏,再到如今智能手机时代,手机游戏已经无处不在。随着时间的…

Navicat 被广泛的应用于各行各业的原因

近期,Navicat 发起了一场用户线上投票活动,受到了众多用户的关注和热情响应!今天,我们就带大家了解此次投票数据通过用户的职业、使用频率、连接的数据库种类以及最常用的功能,通过用户视角了解 Navicat 产品的适用范畴…

Https加密超文本传输协议的运用

内容预知 1.https的相关知识 1.1 https的简介 1.2 HTTP 与 HTTPS 的区别 1 .3 SSL的相关了解 1.3 SSL/TLS协议和证书的关系 1.4 https的工作流程 1.5 客户端是如何验证证书是否有效 1.6 web网站并未全部采用https的原因 2. SSL证书获取的方法 2.1 阿里云证书的获取 2…

linux不显示当前路径的解决方法

1.输入vim ~/.bashrc进入用户的shell环境变量的配置文件(可以设置环境变量以及通过alias设置别名) 2.按下“i”键进入编辑模式(底部显示INSERT) 3.修改\w为$PWD: 修改为: 4.按“esc”键后输入":wq"保存并退出&#xff…

IPSec NAT穿越原理

在IPSec VPN部署中,如果发起者位于私网内部(如下图FW_C),而它希望与FW_A之间直接建立一条IPSec隧道,这种情况下NAT会对部署IPSec VPN网络造成障碍。 PC2发业务报文给PC1,IPSec先对IP包头或端口信息进行验证…

10 个用图表解释JavaScript 闭包的面试题

闭包是函数式编程中的核心概念之一,是每个 JavaScript 开发人员必备的知识。在这里,我准备了 10 个关于闭包的面试挑战题,这些基本都是面试中经常被问到的。 你准备好了吗?我们现在要开始了。 每个题目都有一个代码片段&#xf…

代码随想录算法训练营第五十天| LeetCode123. 买卖股票的最佳时机 III、LeetCode188. 买卖股票的最佳时机 IV

一、LeetCode123. 买卖股票的最佳时机 III 1:题目描述(123. 买卖股票的最佳时机 III) 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意…