【软件测试】8年资深测试总结出的测试学习经验,从入门到测试开发......
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
测试圈子里有一句话很流行:测试这个职位什么都要懂,但什么都不用懂多深。 我觉得这句话害了不少人,什么都懂点又什么都懂的不深,那只能是上面说的业余选手了, 用脚趾头想也知道谁也不会把核心的东西交给一个略有涉猎的人手上。
面试官当久了都有一种惯性,一看到简历上写着什么都会的人就想fail掉他。因为根据以往的经验,候选人几乎确实样样都懂,但每样只懂皮毛,没亮点,我们不放心把任何事情交给他。人的精力是有限的,顾的了这头,就得放下那头。
我是毕业很久之后才明白的这个道理。以前凡是跟测试沾边的都研究。最后我发现哪头都没顾上,面试的时候忽悠门外汉一套一套的,一碰上专业的就露馅了。 也有人跟我说身为一个高级工程师,你就得什么都会,什么都精。
这更是不切实际的想法。 如此小看一门技术是可笑的,任何一个领域的掌握都要经过长时间的实践总结,踩过无数前人挖的坑埋的雷,学习涉及到的衍生到的相关知识才能说有所成就。
努力成为最强的那个人
实力不是打了鸡血发奋图强一番就能取得的。 业余选手拼了老命也不可能战胜专业运动员,即便业余选手比专业运动员更努力也不行。
业余选手没有专业的教练,称职的陪练,合理的饮食,丰富的大赛经验。 不说别的,一个没有任何专业大赛经验的雏儿上了擂台能在经验丰富的赛场老流氓面前走几招?业余选手缺少了太多太多的资源–只有专业运动员才能获得的资源。
所以我们要努力的获取这些资源让我们变的更专业,那对我们来说这些资源都是什么?
领导肯让你去调研技术的时间,供你实战的业务场景,领域专家同事的帮助,解决成堆问题增长的经验值等等。 我们每到一个地方,都要尽快的成为当前团队实力最强的那个人,老外管这种人叫key person。
因为你最强最靠谱,所以碰到什么问题都会让你解决,有什么重要的项目都会提供给你最好的资源去做。然后你变得更强,有机会获取更多的资源去做更重要的事–良性循环。
如果你问精通一个领域有多难?
以docker的学习路线为例
第一阶段:学习原生docker的命令,dockerfile,docker-compose,可以应付简单的日常需求。
第二阶段:更深入的使用docker,知道docker的所有网络模型及其使用场景。知道如何正确的设置docker的启动参数,知道如何分配ip池,dns,网关。懂得使用路由方法改造docker的网络模式。懂得哪个storage driver适合自己。懂得一些简单的traboule shooting方法。能够将各种资源容器化(编译容器,部署容器,测试执行机容器,基础服务容器等等)
第三阶段:懂得使用mesos,k8s和swarm其中的一个来搭建并维护私有云环境,对编排工具有一定程度的理解。搭建各种产品需要的容器服务(监控,overlay网络,ingress网络,DNS,NFS,镜像仓库等等)。能够调用编排工具暴露的REST API 做2次封装以符合开发测试的需求。
第四阶段: 懂得docker更深入的原理(虚拟网卡设备对,名称空间,linux桥接设备,iptables,overlay网络原理等)。熟知linux系统与网络。越懂linux,越能解决时不时出现的问题。这一阶段不是在学docker,而是学习网络,学习操作系统。扎实的功底能够让你找到各种方便的解决方案。
第五阶段: 对docker和编排工具有极其深入的了解,熟知linux底层知识。能编写容器网络插件,能对社区做出代码贡献。
你看要把docker玩精了要学多少东西, 所以每当有人夸我docker用的好,我都特心虚。有人跟我争论过玩docker不需要懂什么底层原理,能用能满足开发测试的需要就行了。其实在一定程度上这是没错的,开车的人不一定要知道怎么修车,因为我们有4s店呢。只是在我们的这个行当里,并没有4s店。
出了问题要自己扛着,不能事事都依赖运维,毕竟QA不是开发的保姆,运维也不是QA的保姆不是么。
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
永远不要沉溺在安逸里得过且过,能给你遮风挡雨的,同样能让你不见天日,只有让自己更加强大,才能真正撑起一片天。
趁年华还在,趁笑靥仍美,趁阳光还明媚闪耀,结束每一个一成不变的日子,去做一个更好的自己,拥有更好的生活。
你可以一辈子不登山,但你心中一定要有座山,它会使你总往高处爬,它会使你总有个奋斗的方向,它会使你任何一刻抬起头,都能看到自己希望。
相关文章:
【软件测试】8年资深测试总结出的测试学习经验,从入门到测试开发......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试圈子里有一句话…...
【博学谷学习记录】超强总结,用心分享|Spark的RDD算子分类
概念 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合,它是一种抽象的数据模型,本身并不存储数据,仅…...
云原生系列之使用 prometheus监控远程主机实战
文章目录前言一. 实验环境二. 安装node_exporter2.1 node_exporter的介绍2.2 node_exporter的安装三. 在prometheus服务端配置监控远程主机3.1 在server端配置拉取node的信息3.2 重启prometheus3.3 通过浏览器查看prometheus总结前言 大家好,又见面了,我…...
2023年地方两会政府工作报告汇总(各省市23年重点工作)
新年伊始,全国各地两会密集召开,各省、市、自治区2023年政府工作报告相继出炉,各地经济增长预期目标均已明确。相较于2022年,多地经济增长目标放缓,经济不断向“高质量”发展优化转型。今年是二十大后的开局之年&#…...
第一章 企业管理概论
目录 一、企业及其形式 二、企业管理概述 三、企业管理理论与实践的产生与发展 四、网络时代的企业环境 五、网络时代企业管理的变革 一、企业及其形式 1、企业的概念 企业以市场为导向,以价值增值作为经济活动的目的; 企业是从事商品生产和流通的…...
独立图片服务器有什么突出之处
服务器是网络中非常重要的设施,承载着不同流量的访问,这就要求服务器具有快速的吞吐量、高稳定性和高可靠性。独立图片服务器作为独立服务器的衍生品,在数据利用方面的应用可以为企业在数据处理和分析方面带来一场革命。本文就将介绍独立图片…...
Linux驱动开发基础__mmap
目录 1 引入 2 内存映射现象与数据结构 3 ARM 架构内存映射简介 3.1 一级页表映射过程 3.2 二级页表映射过程 4 怎么给 APP 新建一块内存映射 4.1 mmap 调用过程 编辑4.2 cache 和 buffer 4.3 驱动程序要做的事 5 编程 5.1 app编程 5.2 hello_drv_test…...
若依框架---为什么把添加和更新分成两个接口
👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 Ǵ…...
图论算法:Floyd算法
文章目录Floyd算法例题:灾后重建Floyd算法 Floyd算法用于求图中任意两点之间的最短路径,该算法主要运用了动态规划的思想。 思考: 给你几个点与边,可以组成一张图,那么如何求得任意两点之间的最短路径呢?…...
回顾 | .NET MAUI 跨平台应用开发 - 用 .NET MAUI 开发一个无人机应用(下)
点击蓝字关注我们编辑:Alan Wang排版:Rani Sun微软 Reactor 为帮助广开发者,技术爱好者,更好的学习 .NET Core, C#, Python,数据科学,机器学习,AI,区块链, IoT 等技术,将…...
部署有多个仓库的svn服务
centos7自带svn服务,现需要创建多个仓库,并实现用户读写功能 创建svn版本库 mkdir /home/svn mkdir /home/svn/confmkdir /home/svn/yk1 mkdir /home/svn/yk2 svnadmin create /home/svn/yk1 svnadmin create /home/svn/yk2 进入版本库yk1的配置文件路…...
Mapper文件注入问题
Mapper文件注入问题UserMapper that could not be found.原因分析解决方案程序正常运行,但是注入类爆红问题原因分析解决方法UserMapper’ that could not be found. 原因分析 撰写了mapper文件,但是没有注入spring容器 解决方案 添加mybatis.mapper-…...
基于微信小程序的国产动漫论坛小程序
文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…...
常用限流算法
简单时间窗口 算法逻辑:设置周期时间内的最大并发量问题:在周期尾端进去阈值并发后,进入下一周期时,又进入阈值并发量,则会出现瞬时并发量是阈值的2倍。 滑动时间窗口(优化) 算法逻辑…...
前端面经详解
目录 css 盒子充满屏幕 A.给div设置定位 B.设置html,body的宽高 C.相对当前屏幕高度(强烈推荐) 三列布局:左右固定,中间自适应 flex布局(强烈推荐) grid布局 magin负值法 自身浮动 绝对定位 圣…...
网页CAD开发快速入门
演示说明 提示:目前提供两种在网页中浏览编辑CAD图纸方案,详细说明见:MxDraw帮助 网页中打开CAD最简步骤: 第一步: 安装插件运行环境,下载安装(可能需要退杀毒软件):https://demo.mxdraw3d.com:3562/MxDrawx86Setup…...
C#开发的OpenRA的mod.yaml文件
C#开发的OpenRA的mod.yaml文件 在OpenRA游戏里,会看到这样一段代码: Manifest LoadMod(string id, string path){IReadOnlyPackage package = null;try{if (!Directory.Exists(path)){Log.Write("debug", path + " is not a valid mod package");return …...
【ESP32+freeRTOS学习笔记-(七)中断管理】
目录1、概述2、在ISR中使用FreeRTOS中专用的API2.1 独立的用于ISR中的API2.2 关于xHigherPriorityTaskWoken 参数的初步理解3、延迟中断处理的方法-将中断中的处理推迟到任务中去4 方法一:用二进制信号量来同步ISR与”延时处理的任务“4.1 二进制信号量4.2 函数用法…...
【总结】1591- 从入门到精通:使用 TypeScript 开发超强的 CLI 工具
作为一名开发者,掌握 CLI 工具的开发能力是非常重要的。本文将指导你如何使用 TypeScript 和 CAC 库开发出功能强大的 CLI 工具。快速入门首先,需要先安装 Node.js 和 npm(Node Package Manager),然后在项目目录中创建…...
【Java】int和Integer的区别?为什么有包装类?
int和Integer的区别?为什么有包装类? java是一种强类型的语言,所以所有的属性都必须要有一个数据类型。 PS:java10有了局部变量类型推导,可以使用var来代替某个具体的数据类型,但是在字节码阶段࿰…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
