3年经验来面试20K的测试岗,连基本功都不会,还不如去招应届生
  ys1oBuZeaiEA 17天前 24 0

​这段时间公司项目急缺人手,面了不少人,竟然没有一个满意的。一开始瞄准的就是中高级的水准,也没指望来技术大牛,提供的薪资在15-25K,面试的人很多,但结果让人失望。

从简历上来说都是3-4年工作经验,但面试中,不会工具方法和编程框架,基本功的技术很多也不熟练,多数人多年的工作经验仅仅是业务年限堆起来的,技术能力达不到公司需求,对于框架自动化测试会的也不多,都停留接口测试的基础方法层面上,自动化深入的问题更是一问一个没,对于前沿的主流技术也毫无关注。

而这些人的薪资要求却是都接近20K,并且在谈论过程中自视甚高,特别有一个给我留了很深印象,简历写着3年经验,做的都是小程序的展示项目,面试过程中一直强调自己技术如何如何精通,在原公司如何的受重用,问到关键地方,却答不出所以然来,最后招了2个潜力还不错的应届生,希望带一段时间能成为帮手。

经过去年互联网大厂裁员的推动,企业为了降本增效,对人才的需求也在提高。和几个圈内朋友说起这个事,他们也深有同感,技术在发展,行业要求越来越高,但是花时间去提升能力的人却并不多。再加上不断有新鲜血液的冲击,压力只会越来越大。

互联网仍在发展,企业要求也在提升,冗余人员和低效人员会被淘汰、被优化,而优秀的人才也会一直受到公司的青睐。所以行业里才会有冰火两重天的一幕,一边是大量的低端测试工程师被淘汰、被降薪和被迫转行,求职屡屡碰壁,而另一边,却是很多测试经理求贤若渴四处挖人。需求和供给的不匹配,导致招人难、就业也难。

但是真正有实力的测试人才,根本不会受到什么影响,要跳槽发展还是很容易的。但是对现在的工作不满意,又没有足够的技术,与其焦虑迷茫,不如静下心来自我提升。目前就大量招聘信息来说,想要获得高薪就得会以下几个加分点:

  1. 熟悉不同操作系统和数据库的操作能力
  2. 熟悉脚本语言,具有一定的编程能力
  3. 能通过自动化测试监控和提升质量和效率
  4. 有较强的分析设计能力,测试框架研发和方案整合能力

所以还停留在手工功能测试层面,如果不去提升技术,不仅要面临长江后浪推前浪的压力,还要顶住当下行业的内卷之势。不然就只能接受窘境,最后甚至是面临淘汰。更别说升职涨薪了

如何从初级功能测试到高级自动化测试开发,达到技术提升和待遇提高的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对自我提升过程中的困难深有体会。

所以我喜欢收集资源,记录自己踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想提升技术能力的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

这是我整理的《全栈测试工程师技术进阶路线》,还有不少工具和视频的【网盘资源】,需要的朋友可以点击文末小卡片获取网盘链接。肯定会给你带来帮助和方向。

1、自动化测试必会Python编程技术

Python开发环境搭建 Python起源、发展与特点;解释器安装与环境配置;Pycharm安装与配置;Python第一个程序;Python程序多方式运行
Python语法规则 Python语法规则;Python的变量的定义、声明与使用;Python的输入与输出(格式化输出);字符集处理
Python数据类型 Python的基本数据类型(数值类型、字符串类型);Python的运算符;Python的类型转换
字符串类型操作 字符串的定义;字符串常见操作;字符串常用方法;字符串使用场景案例讲解
列表类型操作 列表的定义;列表常见操作(添加、删除、修改元素值);列表常用方法讲解(拷贝,反转)
元组类型操作 元组的定义与使用;元组的特性;元组常用方法讲解
字典类型操作 字典的定义与操作;字典常见操作(添加、删除、修改元素值);字典常用方法讲解(items,values)
集合类型操作 集合的定义与使用;集合的特性;集合常用方法讲解,集合使用场景分析
流程控制-条件判断 单项分支,双项分支,多项分支和巢状分支判断;布尔表达式的应用;条件判断的使用场景分析
流程控制-循环处理 while循环;break/continue关键字使用场景;for循环;双重for循环;forrange使用;使用场景与真实案例分析
面向对象-函数 函数的定义与调用;函数的返回值;函数的参数(缺省参数,可变长度参数);函数的嵌套;常用的内置函数:关键字函数封装案例讲解
模块与包 模块化与包的定义与使用;内置time模块的使用;内置datetime模块使用;内置calendar模块使用;自定义模块的使用场景分析
文件操作 文件对象;文件读取、写入操作;with.as用法;文件使用场景案例讲解

2、Web自动化测试技术内容

自动化测试流程概述 自动化测试的定义和目的;自动化测试的优势;自动化测试的流程;自动化测试的技能要求;Web自动化主流工具的介绍
selenium环境搭建 selenium发展与特点;selenium安装与环境配置;Selenium实现自动化测试原理剖析
常规页面元素定位方式 通过id/name/class/tag/link_text等方式定位元素;各种元素定位特点的分析
xpath元素定位方式详解 xpath定位元素技巧;xpath表达式编写方式
css元素定位方式详解 css定位元素技巧;css多属性高级定位方式
元素组定位 元素组的定位方式;元素组定位的使用场景;nd element()/fnd_elements()定位方式的解析与对比
特殊元素定位 单选框、多选框、复选框、下拉框选择、动态元素的定位技巧阐述;
浏览器操作 获取页面title/url、页面的前进后退、页面的刷新、截屏、页面关闭与进程的关闭;元素常用属性与方法 (text,get_attribute())
三种等待时间详解 强制等待time、隐式等待、显式等待的使用;三者的区别与实际场景应用
切换操作技巧 浏览器模式切换 (无头模式、APP模式);多窗口的切换,多Frame的切换;弹框的切换与操作
鼠标、键盘操作技巧 鼠标事件(移动,双击、移动、拖拽);鼠标操作实战,键盘事件与实战操作
JavaScript在自动化测试中的应用 JavaScript Excutor执行器语法规则;js更改元素属性;js定位元素;js操作滚动条等各种场景应用

3、APP自动化测试技术内容

Android自动化环境搭建 客户端库、JDK、Android SDK、APPiumDesktop、模拟器安装;模拟器设置;设备连接问题分析
自动化框架与工具使用 APP自动化框架比较(APPium,Ulautomator,Espresso等);APPiumDesktop的介绍与使用;Inspector工具配置与使用
ADB命令操作 ADB原理;设备连接;上传下载文件;安装卸载APP;日志获取;input输入类命令;查看系统信息;获取包名和事件入口;
Monkey稳定性测试 Monkey稳定性测试原理;Monkey指令详解 (基础参数、事件参数、调试选项);Monkey日志分析 (日志定位,回归验证)
自动化配置项 Desired Capabilities配置文档;常见配置项介绍和使用场景分析
APP界面元素查看工具 UIAutomatorViewer获取元素信息;Inspector工具获取元素信息;Inspector进行自动化脚本录制操作等
APP元素定位 元素定位方式详解(id,classname,accessibilitylD,xpath等方式的使用);元素组定位方式
APP元素操作 元素属性操作(text,location,size等);常用API函数(launch_APP,reset,is_APP_installed等);点击、滑动、输入字符、点击坐标等操作技巧

4、Postman测试工具专题

Postman安装与使用 Postman简介,Postman环境搭建,Postman接口测试-get请求,Postman接口测试-post请求 (各种类型参数案例)
Postman集合测试 Postman测试集管理接口,测试集的导入导出,测试集中设置变量、引用变量
Postman接口关联 Postman全局变量设置与应用,环境变量设置与应用,在Tests中设置变量、获取变量
Postman断言 Postman各种断言方式(状态码、响应正文、响应头、响应时间等的断言操作)
Postman参数化 Postman各种参数化方式(文本参数化、csv参数化、json参数化)
Postman数据驱动 测试集、关联、参数化、断言的综合使用

5、接口自动化测试技术内容

接口自动化测试概述 接口测试的定义与意义;接口测试的实现方式;接口自动化的实现流程
HTTP协议 通信协议原理解析;HTTP与HTTP协议详解 (请求,响应,请求方法,状态码)session、cookie、token监权
JSON数据格式详解 JSON与XML的比较;JSON的语法规则;JSON的数据类型介绍;JSON的练习
Requests模块基础 Requests安装;使用Requests发送请求 (get,post,delete,put,Requests),不同格式解析响应数据 (textjson,content)
RequestsZsession模块 session模块应用、接口请求、会话管理
Requests请求HTTP接口实战 GET、POST、DELETE、文件上传等接口类型、json、from-data、参数类型、场景实战演练

6、自动化测试框架搭建能力

Pytest介绍,环境搭建 Pytest简介、环境搭建、常用插件安装
Pytest基础语法 Pytest基础语法规则详解
Fixture的使用 Pytest参数化与Fixture的使用
Allure测试报告 Pytest之conftest使用,集成Allure测试报告
框架搭建原理、思路 搭建框架之前的准备、框架的意义、设计思路、代码模块分层思想
UI自动化测试框架搭建一 代码模块分成、搭建日志系统、断言系统、报告系统
UI自动化测试框架搭建二 关键字驱动设计、数据驱动设计
接口自动测试框架搭建一 HTTP、Websocket、Dubbo类型接口模块类封装
接口自动化测试框架搭建二 关键字驱动设计、数据驱动设计、数据库应用、日志、断言系统
UI测试框架和接口测试框架一体化 接口测试框架与UI测试框架整合,前后端自动化测试关联场景运用
HTML前端 HTML元素,标签、css、Javascript语法基础
Flask后端api编写 Restful API开发规范,构建一套API服务

7、持续集成

Jenkins介绍、环境搭建 部署Jenkins环境,常用Jenkins插件安装
构建自动化测试任务 自动化测试用例结合Jenkins构建任务应用、定时运行、批量运行
自动发送邮件测试报告 定时任务执行后产出测试报告、根据用例通过率自动发送邮件
git仓库的使用 git版本库创建、添加远程仓库、克隆、pull、push、commit命令使用
Docker容器技术 Docker使用原理、Docker环境搭建、Docker在自动化测试中场景应用
流水线 构建 CI/CD 流水线流程

8、Jmeter 性能测试

Jmeter性能测试入门 性能测试概念,目的与意义;性能测试策略详解;性能测试流程和性能测试工具分析
性能测试环境搭建与性能指标阐述 性能指标(TPS/并发用户数/响应时间/吞吐率/资源利用率):性能测试工具选择;Jmeter环境搭建
Jmeter接口测试及HTTP协议讲解 Jmeter设置测试计划、线程组、HTTP请求,以及HTTP协议讲解、hddler抓包等
Jmeter接口测试参数化及录制HTTP脚本 Jmeter设置参数化、文件参数化、数据函数参数化;Jmeter监控服务器资源设置:Jmeter录制HTTP脚本
Java请求&JDBC请求实战 Java请求,计算器,固定定时器,集合点设置;JDBC协议使用及技巧
Jmeter插件管理及jvm监控 Jmeter Jmeter插件管理,场景设置,tps图等;Jmeter启动内存设置及字体,jvm监控Jmeter
Jmeter集群压测及结果分析 Jmeter集群压测设置;结果统计及分析
Jmeter项目实战 单机、分布式、多线程执行机制、混合负载、压力测试;稳定性测试,可扩展性、可恢复性测试等其它场景测试
Liunx服务器监控 Linux环境命令动态监控,top/free/vmstat等
数据库监控 数据库监控,慢查询sql定位
JVM监控 JVM监控,JProhler工具使用,类耗时,jvm命令监控jmap,jstat,jstack使用等
服务器资源监控与分析 监控堆栈内存使用,线程抓取
全链路压测 全链路压测,集群压测原理解析
性能测试分析与总结 性能瓶颈分析,测试报告编写,性能测试流程总结

9、APP性能测试

APP性能测试入门 性能测试概念,目的与意义;性能测试策略详解;性能测试流程和性能测试工具分析
性能测试环境搭建与性能指标阐述 性能指标 (cpu、内存、流畅度等) ,性能测试工具选择;环境搭建
性能指标之启动时间、CPU、流量详解及实战 性能指标(启动时间、CPU、流量详解)获取方法;监控脚本实现;数据分析
性能指标之电量、内存FPS&过度渲染及实战 性能指标(电量、内存、FPS&过度染) 获取方法;监控脚本实现;数据分析

10、Fiddler 抓包工具的使用

Fiddler工具介绍与安装 各类抓包工具介绍与对比;详细指导hddler安装过程;常用菜单介绍 (tools;rules;view;命令行等)
Fiddler原理与HTTP协议详解 B/S架构简介和请求过程理解;Fiddler的抓包原理,HTTP的请求、响应报文的详细阐述
Fiddler抓包与过滤 Fiddler抓取HTTP、HTTPS的数据包;Fiddler抓取APP数据包;数据包过滤: Find;Filter; Rules
Fiddler断点实战 Fiddler进行局部断点/全局断点/请求前断点/响应后断点设置;篡改数据 (请求前、响应后数据);对资源和接口进行断点调试
Fiddler模拟mock实战 Fiddler利用Autoresponder对资源进行重定向;Fiddler构建不存在的接口 (mock)
Fiddler弱网实战 Fiddler完成弱网环境设置;模拟弱网测试

11、TCP/IP协议

TCP/IP的协议详解 TCP/IP的体系结构;TCP/IP的特点;
传输层协议 (TCP/UDP)原理 TCP/UDP定义;面向连接的TCP详解;无连接的UDP详解;TCP/UDP协议差别;TCP协议的可靠传输机制详解;
TCP协议的流量控制和拥塞控制 流量控制详解(利用滑动窗口、传输速率);拥塞控制详解( 慢开始、拥塞避免、快重传和快恢复)

12、Linux 系统操作

Linux环境搭建 虚拟机VMware Workstation Pro安装;SUSE Linux环境搭建;VMware Tools辅助工具安装;Windows Linux系统之间文件共享
Linux初级命令学习 Linux概述、起源、架构;Linux目录系统讲解;初级Linux命令学习:目录操作命令 (I/cd/mkdir/rmdir);文件操作命令 (touch/cp/mv) ;文件查看命令 (cat/more/head)
Linux中级命令学习 常用中级命令学习:编辑器命令(vim);链接文件命令(ln);文件搜索命令 (fnd/which/whereis/grep),系统资源命令 (df/free/ps);其他系统命令 (halt/poweroff/shutdown)
Linux高级命令学习1 打包压缩命令 (tar);用户和组命令 (useradd,groupadd)
Linux高级命令学习2 权限的理解;权限命令 (chmod/chown);权限的更改-所属者;权限的更改-所在组;给用户设置指定的权限
Linux下Web环境部署1-tomcat+jdk Linux下安装与配置jdk; Linux下编译和运行Java代码;Linux下安装tomcat; Linux下访问tomcat
Linux下Web环境部署2-MySQL数据库 Linux下安装和配置MySQL数据库;Linux下登录和使用数据库;Linux下修改root用户密码;Windows下的Navicat连接Linux的MySQL服务端
Linux服务器访问操作 Xshell/Xftp的安装与介绍;购买阿里云服务器;使用Xshell/Xftp操作服务器端的文件

13、MySQL 数据库

MySQL数据库环境搭建 MySQL服务端安装;常见客户端Navicat安装与破解;MySQL自带命令行模式常见命令使用;客户端Navicat连接服务端与操作
MySQL之数据库表的SQL命令 数据库概念、分类以及使用场景,不同存储引擎的区别,SQL的分类及命令;数据库创建命令;表创建/修改/销毁命令;数据库常见数据类型讲解与使用
MySQL之数据完整性约束使用 数据库约束的定义、作用与分类,掌握实体完整性;域完整性,引用完整性等约束的创建与删除命令
MySQL之增删改的SQL命令 掌握数据库的增删改查命令(insert、delete、update);数据库运算符的使用(算数运算符、比较运算符、逻辑运算符、位运算符)
MySQL之查询的SQL命令 数据库查询-select的用法;掌握inlike、distinct、between orderby、ifnull、分页功能limit等的用法
MySQL之高级查询-函数&分组查询SQL命令 数据库高级查询的用法;掌握聚合函数(max;min;count);分组查询(groupby);子查询(多行子查询;单行子查询;in;exist)等的用法
MySQL之高级查询-关联查询&子查询SQL命令 数据库高级查询的用法;掌握多表关联查询(innerjoin;leftjoin;rightjoin)等的用法
Mysql之TCL操作 事务的概述,事务的特性,事务的创建,事务的并发问题,事务的场景实操
MySQL作业讲解 数据库作业讲解分析,知识点总结与梳理,进一步工具数据库操作知识,常见笔试,面试题分析
mongodb数据实操 mongodb概述mongodb环境搭建,数据库操作,集合操作,数据导入导出

14、RobotFramework 自动化测试框架

RobotFramework简介与环境搭建 pip安装RF,ride工具,以及结合PyCharm编辑工具的用法
RF语法之变量使用 掌握RF当中的变量类型,变量的定义和使用,打印输出
RF基础语法之测试用例编写 掌握RF编写测试用例,运行用例,查看用例运行日志,查看报告
RF之关键字与资源文件 掌握用户关键字,资源文件,变量引用,库的定义
RF之语法控制流与循环 掌握RF中FOR循环,AND,IF的用法
RF-Web自动化项目实战 UI自动化测试用例编写,分层设计,POM
RF-接口自动化项目实战 编写接口测试用例,发送HTTP接口请求,接口项目实战
RF-扩展库开发 掌握Python开发关键字、第三方库,系统关键字开发
RF-集成Jenkins之持续集成 掌握RF框架结合Jenkins使用

15、跨平台的自动化测试框架Airtest

Airtest环境搭建与IDE使用 IDE安装、Web端、APP自动化环境搭建,框架介绍
Airtest-Web自动化项目实战 Airtest之商城Web自动化测试实战
Airtest-APP自动化项目实战 Airtest之安卓APP自动化测试、自动刷短视频赚金币
Airtest之poco框架 基于poco框架进行网易云APP自动化测试
Airtest-windows应用程序自动化测试 Airtest之Windows应用程序自动化测试
Airtest之脚本运行方式 自动化脚本在cmd运行、批量运行脚本、bat批处理运行
Airtest-集成Jenkins之持续集成 掌握Airtest框架结合Jenkins使用

上面就是我整理出来的一份全栈测试工程师技术进阶路径图。完成这样一个技术栈的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的职业生涯就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群:731789136,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

如果你想学习软件测试和需要软件测试资料,欢迎加入扣扣交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 17天前 0

暂无评论

推荐阅读
ys1oBuZeaiEA
最新推荐 更多