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

我想涨工资,请问测试开发该怎么入门?

我是测试开发工程师!欢迎和我交流测试领域相关问题(测试入门、技术、python交流都可以)

我几乎是靠这套方法,从一个只会功能测试的小白,到成为测试开发工程师的。

别急,先慢慢看,只要按照下面的流程走一遍,你就会有收获,并有所改善的。

先上目录

一、测试开发应具备什么样的能力
二、测试开发应如何入门?

测试开发是什么?

放眼望去,测试开发在行业中已经不算什么新鲜的名词。

大多数人对测试开发的刻板印象是:

整天写写自动化测试,开发出一些高大上的测试平台或者测试工具,很少甚至几乎不用去做业务层面的测试,入行门槛比较高,是测试行业的天花板。

但事实真的是这样的么?

「并不是」,测试开发的水很深,“测试”后面加了一个“开发”,真的并不意味着你真的就是一个“开发”。

测试开发的工作内容,往往不是由“测试开发”这四个字定义的,而是「由招聘部门决定」的。

测试开发的工作内容大体可分为以下三种:

  1. 只开发,不测试
  2. 既开发又测试
  3. 只测试,不开发

这里简单做个解释:

「“只开发,不测试”」

一些互联网大厂发展到一定规模,用户体量十分庞大,这种时候假如出现一个bug,往往都会引发巨大的蝴蝶效应,给用户带来巨大损失。

传统的手工测试已经无法满足日常测试需要,单靠垒人去保证业务质量,测试片面、成本大、效率低。

所以大厂不惜高薪聘请测试开发工程师,开发测试工具或平台来,丰富测试手段,提升测试效能,强化产品质量,保证系统的高可用。

甚至坊间有传闻,某福报厂的一些部门更是要进行“去测试化”,美其名曰:“内卷”。

「“既开发又测试”」

一些中型的互联网公司,业务处于上升期,但是质量工程又处于起步阶段。

此时招聘的测试开发工程师,需要测试开发带领若干外包同学一起把业务测试任务给保证好,然后又需要从0到1(或者从1到n)去把质量基础设施给搭建起来。

既当爹又当妈,干活比较杂,基本上绝大多数的测试开发工程师都处于这个阶段。

「“只测试,不开发”」

“面试造火箭,工作拧螺丝”,用在此处真是相当的贴切。

一般都是一些公司业务特别多且比较复杂,需要招聘一些能力稍微强一点的业务测试小能手去Cover质量保证工作。

此类公司虽然明面上招聘的是测试开发工程师,但是实际进来后,其实纯粹是干业务测试的活。

相比于上面两种类型的测试开发,“只测试,不开发”的测试开发工程师还是占比较少数,且干活的“幸福感”普遍不高。

但无论如何,「招聘“测试开发工程师”的门槛石还是会比“测试工程师”要高出一些的,工资也会相对更高。」

测试开发具备什么能力?

臻叔从各大招聘平台上对测试开发的招聘要求、测试社区或博客对测试开发的描述以及结合自己的亲身经历,

得出以下结论:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】

「扎实的测试基本功」

  1. 对业务比较熟悉,能够独立负责某块业务功能的测试工作。
  2. 熟悉测试流程,能够合理的制定测试计划,掌控测试进度,具备敏锐的质量风险意识。
  3. 具备一定的测试思维,能够设计出较高质量的测试用例
  4. 测试手段丰富,至少在APP、小程序/H5、WEB、SERVER等,在其中某一端具备扎实的测试经验。
  5. 对于常用的测试工具做到如数家珍,并对这些测试工具运用自如
  6. 有一定的测试架构能力,对CD/CI有一定的了解,并且了解一些DevOps的具体实践

「扎实的计算机功底」

  1. 熟悉计算机网络,尤其是对HTTP、TCP协议要有深度的了解。
  2. 熟悉操作系统及基本原理,进程线程、CPU调度、内存管理、IO读写等
  3. 熟悉数据库,熟悉主流的关系型数据库及非关系型数据库,能写出复杂场景下的查询SQL。
  4. 熟悉Linux的基本使用,擅长编写Shell脚本

「扎实的编程功底」

  1. 掌握至少一门后端编程语言(Java/Go/PHP/C++),和至少一门脚本语言(Python/JavaScript)。
  2. 了解主流的测试工具/框架/平台,能够基于此进行二次开发
  3. 掌握WEB开发技巧熟悉后端开发框架及中间件,熟悉并掌握至少一个较为流行的前后端分离项目。
  4. 掌握IDE工具的基本使用会使用Git等代码版本控制软件。
  5. 具备良好的编程风格,了解基本的代码调优技巧。

「软实力」

  1. 敢想敢做,勇于尝试,具备创新精神。
  2. 善于思考,善于总结,善于查资料
  3. 具备勇攀高峰,克难攻坚的品格。
  4. 具备良好的沟通能力。

怎么入门测试开发?

「一、强化测试基本功」

加深对业务的理解

❝不能落地到业务的自动化测试,等同于耍流氓,我们做任何测试开发,最核心的目标,肯定都是要为业务赋能。那么如何加深对业务的理解呢? ❞

臻叔有几点建议:

  1. 长期维护一份全流程的测试用例,不用写得太细,但是要写得全,并且要经常更新。目的是帮助我们快速梳理业务细节。
  2. 养成手绘业务流程图的习惯,并善于总结和做笔记。
  3. 看开发写的业务代码,从代码层面去对深入理解业务细节。
  4. 研究竞品,包括功能、性能、稳定性方面。

提升个人测试能力

有以下几点建议:

  1. 掌握主流的测试手段,包括并且不局限于:自动化测试、接口测试、性能测试、稳定性测试、安全/渗透测试、移动端测试、服务端测试等。
  2. 对于业界流行的测试工具做到如数家珍
  3. 想要解决测试痛点,不要闷头苦想,闭门造车,你遇到的问题,大厂肯定都遇到过。可以在网上找一些大厂的解决方案,或直接询问在大厂工作的朋友。

「二、强化计算机功底」

❝计算机基础就像男人的存款,可以不用,但是不能没有。❞

「如果实在没有一点基础」,建议进行系统性的去学习

「如果有一定的计算机基础」,有以下几种途径来强化基础:

  1. 时间充足的情况下,系统的去看计算机专业书籍。推荐《操作系统》、《图解HTTP》、《图解TCP/IP》、《MySQL必知必会》等。
  2. 看技术博客:小林coding、良许Linux。
  3. 刷技术面试题,可以查缺补漏涨姿势,还能为跳槽面试做准备,岂不美哉?
  4. 极客时间、慕课网等在线学习平台进行自主学习。

「三、强化编程功底」

这里送大家四个字:勤学苦练。

编程语言的学习,千万不要一直停留在语法和基础的学习上,如果你长期停滞在这个阶段,不能突破,那么可能你真的不适合编程。

❝编程语言只是我们完成测试工作的一个工具,不要为了编程而编程。 ❞

为了把编程技术落到实处,我们应该多去学学一些测试工具/框架/项目,以及Web开发框架/项目,利用这些项目来帮助我们达到目的。

这里推荐大家几个比较优秀的「GitHub项目」去钻研学习,学学人家是怎么组织代码,以及是如何把工具变得简单易用的:

「UI自动化」

  • 【uiautomator2】基于Python的ui自动化框架,API简单易用。

「接口自动化」

  • 【sosotest】基于Django(Python)的接口自动化框架,支持HTTP、Dubbo测试。

「稳定性测试工具」

  • 【Maxim】号称智能Monkey,真香。

「抓包工具」

  • 【Mitmproxy】对Python有良好的支持

「命令行工具」

  • 【Arthas】阿里开源的Java诊断工具,易用性高,可以学习该工具的测试思路

「前端后台项目」

  • 【vue-element-admin】基于vue、element-UI的后台项目模版

「整站开发项目」

  • 【mall】Java的电商平台整站开发项目,学完能够对电商系统的设计有更深的了解,并且前后端都会涉及到,技术提升全面。
  • 【RuoYi-Vue】前后端分离的后台项目,基于vue+springboot,可以作为测试平台的搭建基石

以上项目,可以在GitHub去搜索获取。

「四、强化软实力」

学会看英文技术文档,以及看优秀的项目是怎么去编写技术开发文档的,不断的模仿、学习、提升。

另外,可以多在公司小组内进行技术分享,提高沟通和表达能力。

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述


http://www.kler.cn/news/160225.html

相关文章:

  • Zabbix自定义飞书webhook告警媒介2
  • vue 过滤器 (filters) ,实际开发中的使用
  • 解决 video.js ios 播放一会行一会不行
  • 【技术分享】RK356X Android11 以太网共享4G网络
  • Gti GUI添加标签
  • IPv4/IPv6 组播对应的MAC地址
  • Scala--2
  • 智能优化算法应用:基于蜜獾算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 一篇文章带你详细了解C++智能指针
  • 云上守沪 | 云轴科技ZStack成功实践精选(上海)
  • 3.2 Puppet 和 Chef 的比较与应用
  • Android--Jetpack--Lifecycle详解
  • UVa1583生成元(Digit Generator)
  • Nero刻录光盘软件-极好用
  • 华为对优秀项目经理的三点要求
  • 学习TypeScrip2(任意类型any和unknown)
  • 前端使用 xlsx.js 工具读取 excel 遇到时间日期少 43 秒的解决办法
  • 【SQL思考记录】力扣181. 超过经理收入的员工
  • inBuilder低代码平台新特性推荐-第十三期
  • Python项目部署利器:轻松上手Git和GitHub
  • No matching version found for @babel/compat-data@^7.23.5 处理
  • 绘制纹理C++
  • Windows 安装 flash-attention 和 bitsandbytes
  • 根文件系统初步测试
  • YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)
  • 如何解决syntaxerror: more than 255 arguments 报错
  • HG/T 5367.2-2022 轨道交通车辆耐电弧绝缘涂料检测
  • 论文笔记--A Fine-grained Interpretability Evaluation Benchmark for Neural NLP
  • Redis--13--缓存一致性问题
  • ES 模块语法改为 CommonJS 模块语法的区别