13年老鸟整理,测试开发要学什么?测试开发学习路线,一篇概全...

news2024/11/18 9:27:40

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、测试开发具备的能力

测开工程师所开发的工具或者平台,一般都是为了提升业务测试的效率,具体工作场景如下:

用Jmeter 这样的压测工具做性能测试还是比较麻烦的,我们可以考虑做性能压测平台,进行一键压测,供测试内部使用非常方便

构造测试数据非常麻烦,编写了构造数据脚本,但是还是不太通用,所以可以开发Mock造数据平台,进行配置化构造数据

业务场景某些场景构造比较麻烦,可以搭建业务测试中台,用作场景构造并集成日常测试需要用到的功能,比如直播业务,我们开播时需要设置比较多的步骤,可以平台化为一键开播,减少测试时开播的耗时

日常做接口测试,一般使用Postman这样的工具,然后再结合接口自动化测试框架,编写接口自动化case,步骤繁琐,可以建设接口自动化测试平台,维护接口自动化case以及打通CI/CD,减少编写用例成本

日常做UI测试,也可以搭建云真机UI自动化测试平台,配置化进行UI自动化测试

搭建测试平台,需要使用哪些技术栈呢,和后端开发一样,也是基于Web开发框架,如Spring Boot、Flask、Django,因此学好编程语言Python很重要

2、测试开发学习路线

阶段一:入门

目标
该阶段是通过学习编程语言基础,能够了解编程语言的基本语法、使用规则,能编写出简单的程序,为后续学习自动化测试框架、Web开发框架做准备。

Python
知识点
  函数
  面向对象编程
  模块
  包
  异常处理
  文件操作
  迭代器/装饰器/生成器
  常用库(Requests、openpyxl)

阶段二、基础

目标
本阶段有两个部分,一个是掌握开发的基础知识,另一个是掌握测试的基础知识

在掌握了编程语言以后,还需要巩固计算机基础知识。

比如数据结构与算法,除此之外,操作系统、计算机网络、数据库、Linux这些计算机基础知识也是企业里常用到的知识 ,对你后面学习Web框架之类的知识都有帮助

对于测试基础,需要学会基础的用例设计方法、抓包等测试工具使用,这些都是做软件测试的必备技能

数据结构与算法

常用数据结构
  数组
  字符串
  队列
  栈
  链表
  集合
  哈希表
  二叉树


常用算法
  排序
  双指针
  查找
  分治
  动态规划
  递归
  回溯
  贪心
  位运算
  DFS
  BFS
  图


计算机网络
知识点
  网络分层模型
  HTTP / HTTPS 协议
  UDP / TCP 协议
  网络安全
  DNS域名解析
  ARP 地址解析协议
  Socket


操作系统
知识点
  进程、线程
  进程 / 线程间通讯方式
  进程调度算法
  进程 / 线程状态
  死锁
  内存管理


MySQL数据库
知识点
  MySQL 搭建
  SQL 语句(重点)
  索引
  事务
  锁机制
  设计数据库表


Linux
重点知识
  常用命令
  常用环境搭建
  Shell 脚本编程
  VIM 的使用


功能测试基础
知识点
  编写测试用例设计
  编写测试计划
  编写测试报告
  测试工具
  抓包工具
    Charles
    Fiddler
  接口测试工具
    Postman
  用例编写工具
    XMind
  缺陷Bug管理工具
    禅道
    Jira
  接口管理工具
    Yapi

阶段三:进阶

目标
该阶段分为开发进阶与测试进阶两个部分,开发进阶主要为Web开发框架学习,代码管理工具Git以及Redis缓存,为后续能开发测试平台做准备。

测试进阶则是包含了自动化测试部分,学完此部分应能利用自动化测试框架编写自动化case

Web开发框架
  python web框架
    Flask
    Django


Git
知识点
  工作区
  分支
  代码提交、推送、拉取、回退、重置
  分支操作
  代码合并、解决冲突


Redis缓存
知识点
  数据类型
  常用操作
  Java 操作 Redis
  主从模型搭建
  哨兵集群搭建
  日志持久化


自动化测试
知识点
  单元测试自动化
    TestNG:Java 测试框架
    JUnit:Java 测试框架
    Unittest:Python单元测试框架
  接口自动化
    Pytest(测试管理框架,可用来做接口自动化)
    Robotframework(测试管理框架,可用来做单元/接口/UI自动化)
  UI自动化
    Selenium
    Appium

阶段四:项目实战

目标
此阶段分为两个部分,开发实战和测试实战。
对于开发实战,希望大家能把前面所学的编程语言,数据库,Linux等知识,开发出测试平台,或者利用自动化测试框架,实现case编写、case执行以及生成测试报告一系列操作。

对于测试实战部分,可以通过利用测试工具,如Postman、Charles 完成接口测试,对于遇到的问题,能够通过日志分析,自主排查问题

学习建议
对于测试开发岗位的实战学习,最好能在公司真实环境内部进行,因为只有在公司内部才能体验到完整的项目流程。

如果说对于想转行做软件测试的同学实在没有项目经历,可以在阶段3 学习Web框架的时候,开发出一个平台,作为开发的项目经历(测试开发岗位有开发经历会更吃香)

知识点
  测试工具脚本(平台)开发
  监控平台
  接口自动化测试平台
  压测平台
  业务测试中台
  集成信息查询
  环境自动部署
  测试数据构造、mock数据
  测试实战
  
  客户端测试
    Web测试
    App测试
    
  服务端测试
    接口测试
    白盒测试
    Mock数据
    测试数据构造
    HTTP返回数据分析
    日志分析与问题排查

阶段五:持续学习

目标
持续学习,提升自己核心竞争力

学习方向
  测试效能提升
  CI/CD
  容器化
  测试左移/测试右移
  diff 测试
  AI 测试
  流量回放
  测试平台(工具)开发
  性能测试
  算法测试
  大数据测试
  专项测试
  稳定性测试
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生命的意义不在于站在终点,而是在于奋斗的过程。即使前路布满荆棘与坎坷,也要保持信念与勇气,坚持不懈地追逐梦想,因为只有奋斗才能书写辉煌的篇章!

不要让失败成为你放弃的理由,而是让它成为你前进的动力。奋斗的路上会有苦难与挫折,但只要坚定信念,持续努力,最终必将收获辉煌的成功!

相信自己的力量,勇敢地去追逐梦想,即使路途坎坷,不放弃也不退缩。拥有坚定的意志和毅力,你就能攀登高峰,创造属于自己的辉煌人生!

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

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

相关文章

表单制作软件有哪些?最火的8款表格制作软件?

表单制作软件是指用于创建、设计和管理各种类型的表格和调查问卷的工具。这些软件通常提供丰富的模板、自定义选项和数据分析功能,使用户能够轻松地生成专业级的表单。 以下是8款非常受欢迎的表格制作软件,并对其进行了详细介绍说明。 1. Microsoft Ex…

模块、服务、接口命名示例

一、项目整体架构图示例 二、模块命名规范 1.spring cloud 基础模块命名示例 模块项目名注册中心cloud-eureka网关cloud-zuul配置中心cloud-config-server熔断监控(ui)cloud-hystrix-dashboard健康检查cloud-hystrix-dashboard链路追踪cloud-zipkin-ui 2.基础common模块命名…

【无标题】element select下拉框下拉选项位置不对,显示到旁边,不显示到下拉框底部

磁贴是用iframe引用&#xff0c;下拉框高度过长导致不显示在下面&#xff0c;修改下拉选项的高度 <el-selectpopper-class"custom-drop-select-item minePressure"class"custom-drop-select"v-model"state.selectIndex"filterablevisible-cha…

Spring容器中同名 Bean 加载策略

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

PAM从入门到精通(十)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;九&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 五、主要函数详解 8. pam_setcred 概述&#xff1a; 设置…

S/4 HANA 大白话 - 财务会计-5 应收账款具体操作

1.创建供应商主数据 怎么去创建供应商主数据,怎么给分配到对应的账户组? 供应商和业务合作伙伴的关系是啥? 账户类别,账户组,和role角色又都是什么东东? 首先要了解,business partner现在就是你的第三方,客户,供应商或者雇员都可以是一个business partner。而且就算…

Javascript 流程控制 笔记/练习

流程控制 if 分支 单分支 if() 中的条件成立则执行 {} 中的语句&#xff0c;否则不执行 <script>if(条件){语句;} </script>双分支 if() 中的条件成立则执行 if 后{} 中的语句&#xff0c;否则执行 else{} 中的语句 <script>if(条件){语句;}else{语句;} <…

轮转数组------题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题解&#xff1a; 如果直接暴力双循环会时间超限&#xff0c;所以我选择了一个空间复杂度比较高的方法。直接再创建一个数组&#xff0c;然后对应位置替换&#xff0c;最后把值赋给原…

主打的就是一蠢

var x "abc"; // 不清楚x的用途function a(b, c, d) {// 一堆未注释的代码...// ... }// 混合使用单引号和双引号 var message "Its a beautiful day!";fetch("https://xxx/api/data").then(response > response.json()).then(data > {/…

敏朗公益 · 童心共融:福州市实验幼儿园携手敏朗共同举办活动!

2023年3月31日&#xff0c;福州市敏朗公益服务中心联合福州市实验幼儿园开展“童年童趣童心共融”主题融合活动&#xff0c;让星儿体验幼儿园生活&#xff0c;与普龄儿童一同分享快乐的童年。 本场活动是由福州市鼓楼区民政局、鼓楼区残疾人联合会指导&#xff0c;在第16届世界…

软件测试八股文,面试必备,查漏补缺

前言 时光荏苒&#xff0c;一转眼已踏入2023年&#xff0c;人员就业市场以往的寒冬也貌似有了转暖的迹象&#xff0c;身边大批的就业人员也开始了紧张的备战之中。近几周也和多家合作公司的HR进行了沟通&#xff0c;发现虽然岗位就业情况较去年有所好转&#xff0c;但整体的需…

如何选择适合自己的跨境商城源码

选择适合自己的跨境商城源码是每个想要开展跨境电商业务的企业所面临的重要决策。源码的选择直接关系到商城功能的完整性、运营的便捷性以及未来的可定制性。在众多源码供应商中&#xff0c;我们为您提供以下几点参考&#xff0c;帮助您做出明智的选择。 1. 功能完整性 一个适合…

电脑断电后无法正常启动?这样解决!

“昨天公司遭遇突然的停电&#xff0c;导致无法继续工作&#xff0c;只得提前下班回家。今天回到办公室&#xff0c;电脑却陷入了启动问题。我试图多次重启&#xff0c;希望进入安全模式&#xff0c;但却一直卡在Windows启动进度条&#xff0c;紧接着出现了一个蓝底白字的画面&…

三级等保-linux服务器三权分立设置

安全问题 安全控制点 风险分析 风险等级 标准要求 加固建议 服务器未严格按照系统管理员权限、审计管理员权限、安全管理员权限进行分配管理员账户&#xff0c;未实现管理员用户的最小权限划分。 访问控制 可能存在管理员越权操作的风险 中 d)应授予管理用户所需的最…

如何选择优质的静动态住宅代理IP提供商?

当前&#xff0c;当网络隐私和数据安全备受关注时&#xff0c;住宅代理的使用已成为不可或缺的资源。从网络抓取者和营销人员到安全爱好者和在线安全爱好者&#xff0c;住宅代理在执行任何在线活动时提供基本的匿名性。 然而&#xff0c;并非所有住宅代理提供商都是相同的&…

anaconda中安装pytorch(GPU版)(离线安装)(最简单)

anaconda中安装pytorch&#xff08;GPU版&#xff09;&#xff08;离线安装&#xff09;&#xff08;最简单&#xff09;_anaconda安装pytorch gpu-CSDN博客anaconda里安装pytorch,GPU版本&#xff0c;离线本地安装&#xff0c;新手_anaconda安装pytorch gpuhttps://blog.csdn.…

哪家堡垒机支持国密算法?有哪些功能?

国密算法即国家密码局认定的国产密码算法&#xff0c;即商用密码。最近看到有不少小伙伴在问&#xff0c;哪家堡垒机支持国密算法&#xff1f;有哪些功能&#xff1f; 哪家堡垒机支持国密算法&#xff1f; 行云堡垒支持SM2、SM3、SM4等国产密码算法&#xff0c;同时支持国密…

Kubernetes基础概念及架构和组件

目录 一、kubernetes简介 1、kubernetes的介绍与作用 2、为什么要用K8S&#xff1f; 二、kubernetes特性 1、自我修复 2、弹性伸缩 3、服务发现和负载均衡 4、自动发布&#xff08;滚动发布/更新&#xff09;和回滚 5、集中化配置管理和密钥管理 6、存储编排 7、任务批…

突破Java编程的关键:揭示封装、继承和多态的核心原理与实际应用

Java中的封装、继承和多态知识点是学习java必备的基础知识&#xff0c;看似简单&#xff0c;真正理解起来还是有一定难度的&#xff0c;今天小编再次通过实例代码给大家讲解java 封装继承多态知识&#xff0c;感兴趣的朋友一起学习下吧。 封装 所谓的封装就是把类的属性和方法…

工具及方法 - TagSpaces

如今电子资料实在太多&#xff0c;每个人都可以访问和存储到大量的数据&#xff0c;可如何整理却是个伤脑筋的麻烦事。 我以前用过Canto的Cumulus&#xff0c;是一个local的digital asset management (DAM)软件&#xff0c;但现在已经变成云端的了&#xff0c;本地客户端的新版…