测试开发学习路线

2023-11-15

测试开发学习路线

HI,大家好,我是Lee
通过某些圈子了解大家对于测试开发这个岗位了解的很模糊,对于技术栈不知道应该学习什么,接下来就通过各方面来说一下测试开发具体是做什么以及需要掌握哪些技术

1、了解测试开发

什么是测试开发?

大家应该都了解过测试工程师,测试工程师主要是通过各种测试方法对程序进行测试,找出程序bug,在程序发布之前,把一些潜在的、严重的bug找出来,提交给开发人员解决,并在bug解决之后进行验证,降低软件研发过程修复bug的成本,对代码的要求比较少或不需要懂代码。
测试开发是测试工程师的其中一个进阶路线,测试的进阶路线包括向自动化测试工程师、性能测试工程师以及高级测试工程师。
测试开发更适合对开发有兴趣的测试,测试开发其实是一个相对小众需求,尤其是大多数中小型互联网公司基本不需要这样的职位,因为有很多开源的测试工具和测试平台供大家使用。
现在大多测试招聘把对“具备自动化技术”的测试也冠以“测试开发”的title。
测试开发应该具有自动化测试的技术,但是不仅于此,也应该具备平台和工具的开发能力。

测试开发每天做什么工作?

不同公司的测试开发工程师做的工作不太一样,有些公司是20%开发+80%测试,某些公司相反,还有些公司是纯开发,为测试开发测试工具或者测试平台,让测试同学使用。

测试开发的薪资

关于测试开发工程师的薪资我相信是大家最好奇的,相对于测试来说测试开发的薪资确实高一点,但是是建立在自己可以进入公司并且胜任这个岗位的情况下,接下来从某招聘网站找了两个测试开发岗位
在这里插入图片描述
在这里插入图片描述

可以看到薪资相对来说还是可以的,但是测试开发是相对小众的岗位,并不是所有公司都需要这个岗位,所以在转岗时还是慎重考虑。

2、测试开发需要的技术栈

接下来我们说一下做一个测试开发所需要掌握的技术。

1、测试基础

首先作为一个测试开发,测试基础是必备条件。
测试用例设计方法(等价类、边界值等)是必须要会的
测试计划和测试报告的编写
测试工具的使用:
抓包工具:charles、fiddler
接口测试工具:postman、apipost、apifox、jmeter
用例编写工具:xmind
bug管理工具:禅道、jira
接口管理工具:yapi
只想做功能测试的同学,只会这些技能就足够了(标红的都是重点)

2、计算机基础

计算机基础包含的就稍微多一点
数据结构与算法
时间/空间复杂度分析
数据结构(数组、字符串、队列、栈、链表、集合、哈希表、数等)
算法(排序、查找、双指针、分治、递归、回溯、贪心等)
计算机网络
网络分词模型
网络传输过程
IP、端口
Http/Https协议
UDP/TCP协议
App地址解析协议
网络安全
DNS域名解析
操作系统
操作系统的组成
进程、线程
进程、线程间的通讯方式
进程调度算法
进程、线程同步方式
进程、线程状态
死锁
内存管理
局部性原理
mysql数据库
基本概念
mysql搭建
sql命令编写
约束
索引
事务
锁机制
设计数据库表
性能优化
Linux(基本命令、shell脚本)
Linux系统安装
环境变量
常用命令
常用环境搭建
shell脚本编程
VIM的使用
文件管理
用户管理
内存管理
磁盘管理
进程管理
网络管理
服务管理
Linux内核

3、编程语言

编程语言有很多,很多同学不知道该怎么选择,在这里我推荐java和python,首先都是最主流的语言,python相对于java来说更适合小白学习,学习成本较低且语法简单,学习java推荐有语言基础,且大部分服务端都是java编写的,学习后对于服务端测试能力有较大提升。
java基础
数据类型、流程控制、面向对象、数组、枚举、抽象类、接口、集合类、常用类、泛型、注解、多线程、IO流、反射、异常处理
python基础
python安装、开发工具使用、变量、运算符和表达式、流程控制、基本数据结构、函数、面向对象编程、模块、包、异常处理、文件操作、函数进阶、正则表达式、数据库编程、并发编程、网络编程以及三方库使用(requests、openpyxl、nose、faker、datafaker)

4、web框架

首先说一下java的框架所需要掌握的:
maven、spring、spring web、spring mvc、Mybatis、Mybatis plus
spring boot、spring Security

接下来是python的web框架:
Django、flask、FastAPI、Django REST framework
关于开发框架并不是了解就可以,而且可以根据框架来写一些东西,需要明白框架的原理以及了解框架之间存在的联系且学习java框架的时候不推荐开始就学springboot,建议循序渐进的从spring开始学习,没有时间学习的也可以直接学习springboot。

5、开发知识

前面我们已经说过开发框架的学习,这里就不重新说了,接下来说一下关于中间件以及开发常用的一些工具。
git :因为在开发平台或者写自动化或者拉开发代码做白盒测试时免不了从git上拉代码,需要了解git的的工作区和代码的提交、推送、拉取、回退、重置以及分支的操作、代码合并、分支冲突的解决,还要区分git和github。
Redis缓存:现在Redis缓存已经成为各个公司必备的一个缓存中间件,首先需要了解什么是缓存,了解本地缓存和多级缓存以及Redis的分布式缓存,熟悉Redis的一些应用场景,会解决使用Redis时遇到的一些问题(缓存雪崩、缓存击穿、缓存穿透等)。
RabbitMQ消息队列:RabbitMQ消息队列是一个流行的开源的消息队列系统,不是必须掌握,但是也是需要了解,明白消息队列的作用,会搭建RabbitMQ消息队列集群,以及可以使用java操作RabbitMQ。

6、平台开发

在学习完各种基础以及框架和中间件之后可以自己手动搭建平台,包括像监控平台、接口自动化测试平台、压测平台等,下面给大家列举了testerhome的开源测试平台,大家可以去看下。
点击跳转

7、持续学习

学习完上面的这些技术,大家就可以放心大胆的去找工作了,在这里希望大家都可以有一份满意的工作,不过在进入公司之后还是要继续提升自己的,给大家推荐一下学习的一些工具以及技术。
首先是前端,HTML、CSS、javaScript、vue,不需要学习太多的前端技术,熟悉下基础的前端三件套,了解前端是如何向后端发送请求来做数据交互的一般就够了。有时间的话可以学下 Vue ,是比较容易上手的主流前端开发框架,Vue + SpringBoot 还是很香的。
然后是后端,Redis高级操作、kafka、Nginx网关、Dobbo、微服务(spring cloud),学会如何使用中间件并不难,先能够独立使用,了解他们的应用场景;再用 Java 来操作中间件,和项目相结合。学习微服务时,建议先从 Dubbo 学起,对分布式、RPC、微服务有些基本的了解,再去食用 Spring Cloud 全家桶会更香。
最后是测试,可以学习性能测试、大数据测试、算法测试等,测试这方面就不多说了。
总之,再提升测试能力的同时也逐步提升自己的开发能力,希望大家都可以在技术方面提升一个台阶,有什么想法不同的可以在评论区讨论呢!

麻烦大家可以关注下我的公众号:测试开发Lee
以后可以一起讨论技术和生活上的琐事呢
爱你❤️

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试开发学习路线 的相关文章

  • Linux 2.6.19.x 内核编译配置选项简介(转)

    Linux 2 6 19 x 内核编译配置选项简介作者 金步国版权声明本文作者是一位自由软件爱好者 所以本文虽然不是软件 但是本着 GPL 的精神发布 任何人都可以自由使用 转载 复制和再分发 但必须保留作者署名 亦不得对声明中的任何条款作
  • 解决Windows下_findnext()异常

    在windows中 使用文件遍历函数 findnext会报0xC0000005错误 原因 findnext 第一个参数 路径句柄 返回的类型为intptr t long long 要改为long long或者intptr t 获取特定格式的

随机推荐

  • 修改MySQL 数据库名称

    MySQL不支持直接修改数据库名称语法 那么要修改数据库名称该如何操作呢 例如 我们将数据库test 修改为test2 第一步 创建新名称对应的数据库 create database if not exists test2 第二步 获取所有
  • 【JDK】Java环境搭建,配置环境变量

    文章目录 1 JDK的下载与安装 1 1 下载JDK 1 2 安装JDK 1 2 1 压缩版JDK 1 2 2 安装版JDK 2 配置环境变量 2 1 打开环境变量 2 2 修改环境变量 2 2 1 新建 JAVA HOME 变量 2 2
  • 非常好用的 文件上传控件

    http fex baidu com webuploader document html
  • Java 重写 equals和hashcode

    重写equals方法的时候为什么需要重写hashcode
  • SqlServe--从字符串中提取数字

    1 基础使用 声明一个nvarchar类型的变量并赋值 declare Name nvarchar 50 set Name 我正在123学 习22 SQL中11 的一些函数 patindex函数返回所查内容在字符串中第一次出现的内容 pri
  • STM32 (十五)ESP8266WIFI

    简介 1 ESP8266wifi 模块 低功耗串口WiFi模块ESP8266内置一个Tensilica 泰思立达 Xtensa架构的32位处理器L106 具有5级流水线 ARM CortexM3是3级流水线 最大时钟速度为160MHz 可以
  • JMM简单理解

    JMM java内存模型 代码理解 public class test private static boolean f false public static void main String args throws Interrupte
  • Python日志记录基础教程:logging模块详解与示例代码

    Python日志记录基础教程 logging模块详解与示例代码 在Python应用程序的开发过程中 日志记录是一个重要的组成部分 它能够帮助开发人员追踪和调试代码 并记录应用程序的运行情况 Python标准库中的logging模块提供了一个
  • 【计算机视觉

    文章目录 一 CBC Complete Blood Count 二 CURE TSD CURE Traffic Sign Detection 三 DUO Detecting Underwater Objects 四 Duke Breast
  • 方法的重写-overrideoverwrite

    方法的重写 override overwrite 1 定义 定义 子类继承父类以后 可以对父类中同名同参数的方法 进行覆盖操作 应用 重写以后 当创建子类对象以后 通过子类对象调用子父类中的同名同参数的方法时 实际执行的是子类重写的方法 使
  • 2D和3D人体姿态数据集

    转自链接 https www jianshu com p c046db584a21 2D数据集 LSP 地址 http sam johnson io research lsp html 样本数 2k 关节点数 14 全身 单人 FLIC 地
  • 用go实现一个telnet带上账号密码的协议请求

    实现一个telnet协议请求 需要用到网络编程的知识 下面是一份简单的代码示例 package main import bufio fmt net strings func main ln err net Listen tcp 8080 i
  • 数据结构之直接插入排序(算法思想,复杂度分析)以及冒泡排序和直接插入排序的比较

    一般来说 插入排序都采用in place在数组上实现 具体算法描述如下 从第一个元素开始 该元素可以认为已经被排序 取出下一个元素 在已经排序的元素序列中从后向前扫描 如果该元素 已排序 大于新元素 将该元素移到下一位置 重复步骤3 直到找
  • 【算法入门12】链表合并

    核心考点 链表合并 思维缜密程度 输入两个递增的链表 合并这两个链表并使新链表中的结点仍然是递增排序的 解析一 常规 合并两个链表最常规的做法就是 依次比较两个链表的第一个结点 取较小的结点 此处为递增排序 尾插到一个新链表后 直到其中一个
  • C语言 缓存区溢出 3221225725

    目录 问题描述 解决办法 问题描述 DEV C报错 Process exited after 4 03 seconds with return value 3221225725 原因 数组定义的容量太大 五十万起步的样子 而且每次循环都会再
  • Laravel定时任务的每秒执行

    我的个人博客 逐步前行STEP laravel中的任务调度可以不将每条命令都写入crontab 便于管理维护 而且可以基于laravel框架环境运行 而不需写独立的脚本执行 非常方便 但是最小的执行间隔也是一分钟 要想达到每秒执行的效果 就
  • 2018.7.18 something you want to replace

    Something I want to replace is iphone6 which looks like a small box When I come to university my parents brought me this
  • 【C++ Core Guidelines解析】C++学习之路的一盏明灯

    前言 C 语言的功能非常丰富 表达能力非常强 因为一种成功的通用编程语言拥有的功能必须比任何开发人员所需要的更多 任何一种有生命力且不断发展的语言都会不断积累用于表达程序员思想的替代用法 这会导致选择过载 那么 开发人员应该如何根据编程风格
  • 旧手机改服务器,并配合花生壳实现外网访问的方法

    旧手机改服务器 并配合花生壳实现外网访问的方法 前提准备 开始手机端操作 开始电脑端操作 至此所有操作结束 前提准备 1 手机必须root 2 busybox 3 linux deploy 4 花生壳安卓内网穿透版 下载时注意 有个管理版
  • 测试开发学习路线

    测试开发学习路线 HI 大家好 我是Lee 通过某些圈子了解大家对于测试开发这个岗位了解的很模糊 对于技术栈不知道应该学习什么 接下来就通过各方面来说一下测试开发具体是做什么以及需要掌握哪些技术 1 了解测试开发 什么是测试开发 大家应该都