【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....
谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。
- 一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;
- 一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师,高薪难聘。
这两者其实并不矛盾。
手工测试工作难找也确实是目前真实的行情
早期从事功能测试的手工测试人员,在测试方面大多采用手动、人工执行的方式查找软件缺陷和BUG,用行业术语来描述就是“点点点”。这种测试方式耗费大量人力和资源,工作效率却十分低下。
在早期软件复杂和迭代程度不高的情况下,有资本的企业会“供养”一批这样的手工测试人员。但对测试员本身来讲,毫无技术难度的工作,和几乎没有保障的薪资水平,直接导致太多人选择了退出这个行业。
如果照这种情况发展下去,测试行业最终被彻底淘汰都有可能。但互联网的发展却不允许这种情况的发生。从14-16年开始至今,国内互联网的发展迅猛程度,一度让国内互联网进入了“洗牌阶段”。
从之前的BAT独占鳌头到如今的"BATJ+TDM"百花齐放。国内互联网在娱乐、生活服务、出行、芯片/半导体等领域都得到了十分不错的进步。这就导致各大企业对自动化软件测试工程师的需求瞬间增大了很多倍。注意,这里是“自动化软件测试工程师”,而并非普通的功能测试员。
之所以各大互联网企业开始自动化测试,最主要的原因就是互联网产品的迭代速度远不是手工测试能做得了的,这已经不是单纯的人力可以堆积的工作,而是需要通过自动化脚本技术批量、高效的完成。
自动化测试工程师需要掌握的技术体系,也远远不是手工测试能比拟的,在App自动化、WebUI自动化、接口自动化、性能测试、CI/CD/DevOps等领域的技术延申,已经不仅仅局限于找BUG和缺陷。
更多的在于整个产品项目的“质量管理”,注意这个词。质量管理,要求的是产品的稳定性、安全性、体验度和用户需求的满足情况,以及整个企业的产品质量管理体系的建设、持续集成、质量监控平台等等。
下面主要谈谈作为一名工作3年-5年左右的软件测试工程师该具备的一些技能以及个人的一些其他感悟:
1、入行阶段
这个阶段是大部分刚入行软件测试的新人会遇到的情况。这个阶段大家都在疑惑什么问题呢?大部分都是这个行业前景到底好不好?从事这个行业工作好不好找?工作累不累?想拿高薪要学习哪些测试技术等等。
可以告诉大家的是,这些都不重要。当我们选择了这行以后,应该考虑的事情,是如何才能在这个行业当中做到最拔尖的那批人才之一,努力提升自己的职业竞争力和技术沉淀。需要我们重点关注的:
软件测试工程师的职业发展方向:初步了解软件测试行业的发展方向,考虑自己今后可能会朝着哪个方向发展,该重点培养自己哪方面的能力,比如到底是技术岗还是管理岗;
软件测试工程师的技术体系:清楚自己如今的技术薄弱点,针对性的做技术训练和提升,了解哪些方面是自己必须要做提升的;
自我积累和沉淀:在当下这个阶段,自己应当静下心来重点锻炼哪方面的基础能力。就比如测试用例的撰写、测试报告的生成、缺陷管理和项目管理的介入,这些基础知识是任何高阶自动化测试工程师都应该深度了解和掌握的基层技术。
2、中级阶段
这个阶段的自动化测试人员,已经算的上是测试行业中的半个“专家”了。理论上从业3-5年自动化测试工程师,在自动化测试领域应该已经有不错的造诣。
这个阶段的工程师有个显著的特征,就是能够熟练运用市面上各类自动化测试工具。并且也有自己擅长的测试领域,App自动化、Web自动化、接口自动化等等。甚至专研性能同样也大有人在。
这个阶段的自动化测试工程师,能称得上合格的一般都是学习了一门编程语言的,像Python和Java,当然一般对编程语言没有基础的新手小白,大部分会选择Python语言。先不说开发这块,至少在Python语法、常用的第三方Python自动化脚本等方面都有相关涉猎。这一块儿一般就根据个人的偏好和从业之处自己的被动选择有关。不管是哪个方面,只要你用心钻研,持续提升,都能在该领域获得不错的发展。
3、高级阶段
所谓高级阶段,其实也是一个分水岭。这个阶段大部分测试人员的技术已经算的上行业拔尖水平。想往更高层次攀爬,就得考虑职业方向的发展问题。
喜欢钻研技术,可以考虑往更深层的技术指导、自动化平台建设等方面发展。这一块儿较为考研“测试开发”技术。简单来说,既懂开发,又清楚系统化的软件测试和质量管理。能够独自完成和整个测试及开发部门的分工、体系建设等等。是很多大型互联网企业非常热衷的全能型IT人才。
如果本身对管理方向较为青睐。也可以考虑从事项目经理、测试总监等岗位。不过涉及到管理岗位,除了对人员的测试技术方面有一定的要求,更考验管理人员的上下级协调和部门协调能力。既要掌握产品的客户需求、项目需求、市场跟踪、迭代管理以及各部门之间的磨合、统筹运维工作。
那么,作为一名软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,或者性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。
一、Linux必备知识
linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。
二、Shell脚本
掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。
三、互联网程序原理
自动化必由之路:前端开发基础知识以及互联网网络必备知识。
四、Mysql数据库
软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。
五、抓包工具
Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。
六、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。
七、Web自动化测试Java&Pyhton
了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。
八、接口自动化与手机自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。
九、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。
十、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!
上面就是我为大家整理出来的一份Python自动化测试工程师发展方向知识架构体系图。希望大家能照着这个体系在1-2年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。
这些资料,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助!
相关文章:
![](https://img-blog.csdnimg.cn/1b48e1bf50c947a0b047dab446f9a23a.png#pic_center)
【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....
谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。 一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师&a…...
![](https://img-blog.csdnimg.cn/img_convert/637c139b35336c6af6307a8457e91517.png)
Elastic(ELK) Stack 架构师成长路径
Elastic Stack(ELK Stack)是一个开源的日志分析平台,由 Elasticsearch、Logstash 和 Kibana 三个组件组成,主要用于数据搜索、分析和可视化。要成为一名 ELK Stack 架构师,需要遵循一定的成长路径,以便逐步…...
![](https://www.ngui.cc/images/no-images.jpg)
Netty的高性能体现在哪些方面
文章目录Netty的高性能体现在哪些方面1. 非阻塞I/O2. 零拷贝3. 内存池4. 线程模型Netty的高性能体现在哪些方面 Netty是一个高性能、异步事件驱动的网络应用程序框架,它具有出色的稳定性和灵活性。在现代的分布式系统和互联网应用中,Netty已经成为构建高…...
![](https://img-blog.csdnimg.cn/6f928f3264094a5ca8fabff43388c51e.png)
CompletableFuture详解
1、概述 咱们都知道可以通过继承Thread类或者实现Runnable接口两种方式实现多线程。但是有时候我们希望得到多线程异步任务执行后的结果,也就是异步任务执行后有返回值,Thread和Runnable是不能实现的。当我们需要返回值的时候怎么办呢? Java…...
![](https://img-blog.csdnimg.cn/60eb7f5f92794ea69634ce6a7057f461.png)
(学习日记)2023.3.10
写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…...
![](https://img-blog.csdnimg.cn/d6b954c2dabe488a95368f902a35acaf.png)
【图像分割】Meta分割一切(SAM)模型环境配置和使用教程
注意:python>3.8, pytorch>1.7,torchvision>0.8 Feel free to ask any question. 遇到问题欢迎评论区讨论. 官方教程: https://github.com/facebookresearch/segment-anything 1 环境配置 1.1 安装主要库: (1&…...
![](https://www.ngui.cc/images/no-images.jpg)
AJ入门路线
一.AspectJ 入门 概述安装示例代码切入点表达式thisJoinPointStaticPart 和 thisJoinPoint与Spring 切面写法的对比总结 初步了解了aspectJ的使用,我们可以了解以下几点: 1)aspectJ的使用是在编译期,通过特殊的编译器可以在不改变…...
![](https://img-blog.csdnimg.cn/2c370e5df4854346b7255d8869ba5fb8.jpeg)
多商户商城小程序源码开发需具备哪些功能?
随着电商的进一步发展,传统企业为了更好的占领市场也纷纷向电商市场迈进,着手打造属于自己的商城系统。多商户商城系统是一种多商户、多商品、多支付的电子商务平台,功能丰富,涵盖多个行业,能够满足多种商家和用户的需…...
![](https://www.ngui.cc/images/no-images.jpg)
【动态规划模板】最长公共|上升子序列问题
最长公共子序列🍉 给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M。 第二行包含一个长度为N的字符串,表示字符串A。 第三行包含一个长度为M的字符串&am…...
![](https://img-blog.csdnimg.cn/e34c0a689a5c4ee2b7d64191eb7fbb4b.png)
Android系统启动流程--zygote进程的启动流程
在上一篇init进程启动流程中已经提到,在init中会解析一个init.rc文件,解析后会执行其中的命令来启动zygote进程、serviceManager进程等,下面我们来看一下: //文件路径:system/core/init/init.cppstatic void LoadBoot…...
![](https://img-blog.csdnimg.cn/img_convert/7882fd90714332f677801a8265247f7d.jpeg)
C++程序设计——异常
一、C异常概念 异常处理是一种处理错误的方式,当一个函数发现自己无法处理的错误时,就可以抛出异常,让函数的直接或间接的调用者处理这个错误。 (1)throw:当问题出现时,程序会通过throw关键字抛…...
![](https://img-blog.csdnimg.cn/47eda46bfa7244cbb929ab70a38fab11.png)
2022年第十三届蓝桥杯web开发—东奥大抽奖【题目、附官方解答】
冬奥大抽奖 介绍 蓝桥云课庆冬奥需要举行一次抽奖活动,我们一起做一个页面提供给云课冬奥抽奖活动使用。 准备 开始答题前,需要先打开本题的项目代码文件夹,目录结构如下: ├── css │ └── style.css ├── effect.g…...
![](https://img-blog.csdnimg.cn/img_convert/e983438e65eb6e44aad59c9367203ad8.jpeg)
一份两年前一个月的工作经历没写在简历上,背调前主动坦白,却被背调公司亮了红灯,到手的offer没了!...
只因为简历上漏写了一份一个月的工作,就被亮了背调红灯,这公平吗?一位网友就被狠狠坑了一把,来看下他的遭遇:他有一份两年前、时长一个月的工作经历没写在简历上,背调前主动和背调公司还有招聘方hr都说了这…...
![](https://img-blog.csdnimg.cn/b1b230f5be8148629189e210db8995f8.png)
C++游戏分析与破解方法介绍
1、C游戏简介 目前手机游戏直接用C开发的已经不多,使用C开发的多是早期的基于cocos2dx的游戏,因此我们这里就以cocos2d-x为例讲解C游戏的分析与破解方法。 Cocos2d-x是一个移动端游戏开发框架,可以使用C或者lua进行开发,也可以混…...
![](https://img-blog.csdnimg.cn/6dee74ca860a4d2ab8d52dcdcb08e689.png)
食堂总是拥挤不堪?解决用餐拥挤,教你一招
随着近几年科技的快速发展,行业里出现了很多新的名词,比如智慧社区、智慧旅游、智慧建筑,那么智慧食堂是什么呢?它又是如何实现全自助、全智能消费? 在先进的智能技术以及市场需求带动下,智慧食堂经历了由传…...
![](https://www.ngui.cc/images/no-images.jpg)
ubuntu系统安装时 MBR和GPT的区别
主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节。它包含操作系统的引导器和存储设备的分区表。 全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘…...
![](https://img-blog.csdnimg.cn/e015d215c0c0427e9ad05eee4646fb72.png)
我在windows10下,使用msys64 mingw64终端
系列文章目录 文章目录系列文章目录前言一、MSYS2是什么?前言 msys2官网 MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。 同时它也是一个在Cygwin (POSIX 兼容性层)…...
![](https://www.ngui.cc/images/no-images.jpg)
个人2023FALL CS申请总结(PhD/MPhil/保研夏令营)
个人2023FALL CS申请总结(PhD/MPhil/保研夏令营)写在最前个人BG及申请情况个人BG申请情况MPhilPhD收获一句话总结:心态爆炸没用,脸皮够厚够勇就行 写在最前 真是一场恶战。有几天,我每天早上都海投几封套瓷邮件&…...
![](https://img-blog.csdnimg.cn/089257a6cc30403e8cfcf8d8b9aced49.png)
【优化算法】使用遗传算法优化MLP神经网络参数(TensorFlow2)
文章目录任务查看当前的准确率情况使用遗传算法进行优化完整代码任务 使用启发式优化算法遗传算法对多层感知机中中间层神经个数进行优化,以提高模型的准确率。 待优化的模型: 基于TensorFlow2实现的Mnist手写数字识别多层感知机MLP # MLP手写数字识别…...
![](https://img-blog.csdnimg.cn/3cf3d4dba27a41aa88bde2eac94fcec1.png)
CAM类激活映射 |神经网络可视化 | 热力图
文章目录前言:安装库:分类案例--ResNet50分割案例AttributeError: ‘tuple‘ object has no attribute ‘cpu‘RuntimeError: grad can be implicitly created only for scalar outputsTypeError: cant convert cuda:0 device type tensor to numpy. Use…...
![](https://img-blog.csdnimg.cn/a835534ab0bf4706a82579f654bedeb8.png)
RecyclerView+BaseRecyclerViewAdapterHelper显示不全只显示第一行item的解决问题
RecyclerViewBaseRecyclerViewAdapterHelper显示不全只显示第一行item,我懵了…,我不说多,直接说吧 先看一下适配器代码中的convert()方法: class MineRadioAdapter(layoutResId: Int R.layout.item_my_live) :BaseQuickAdapte…...
![](https://img-blog.csdnimg.cn/10cb7cff9326413e823a0d063794f4c3.png)
解决后端无法对前端的ajax请求重定向
本章目录: 问题描述 AJAX请求后端直接重定向失败解决方案 后端拦截请为响应头添加重定向标志后端拦截器为响应头添加重定向路径前端响应拦截器获取响应头数据,并通过location.href url 完成页面跳转一、问题描述 本来想在拦截器里设置未登录用户访问指…...
![](https://img-blog.csdnimg.cn/6a9cef12f634495793024a082f86c182.png)
【Python】1分钟就能制作精美的框架图?太棒啦
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、准备二、基本使用与例子1.初始化与导出2.节点类型3.集群块4.自定义线的颜色与属性总结前言 Diagrams 是一个基于Python绘制云系统架构的模块,它能…...
![](https://www.ngui.cc/images/no-images.jpg)
淘宝必备的补单技巧及注意事项!
补单,是优化善后的s单。单只是模拟用户的购物习惯,而补单同时还要模拟整个店铺的综合数据,包括点击率、转化率等等,补到略高于同行、竞品的平均数据时,淘宝会判断为买家比较喜欢你的商品,从而给你更多推荐机…...
![](https://img-blog.csdnimg.cn/fb5645ee79bd425cb82b1b36b60b3072.png)
【实用篇】SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud分布式
文章目录一、服务拆分1.1 服务拆分Demo1.2 微服务远程调用二、Eureka2.1 Eureka原理2.2 Eureka-server服务搭建2.3 eureka-client服务注册2.4 eureka-client服务复制2.5 eureka服务发现三、Ribbon负载均衡3.1 负载均衡原理3.2 负载均衡策略3.3 自定义负载均衡策略3.4 饥饿加载与…...
![](https://img-blog.csdnimg.cn/img_convert/b6028997abb0559776b52eed608b86c9.jpeg)
私人飞机、公务机包机会成为富豪圈的主流出行方式吗?
从炫耀性消费到按需使用,私人飞机的消费群体正在被拓宽,但离“成为主流”还有一段距离。“时间就是金钱”为有钱人消费私人飞机提供合理动机,而这群高净值人群的数量增长则成为撑起市场基本面。据相关数据显示,2018年全球超级富豪…...
![](https://img-blog.csdnimg.cn/56eaadfe80434321b4e5d9d6aba15359.jpeg)
Oracle组织架构
组织架构 (一)业务组(BG) (二)法律实体(LE) (三)业务实体(OU) (四)库存组织(INV) …...
![](https://www.ngui.cc/images/no-images.jpg)
最小公倍数
目录 最小公倍数 程序设计 程序分析 最小公倍数 【问题描述】给定两个正整数,计算这两个数的最小公倍数。 【输入形式】输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. 【输出形式】 对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。…...
![](https://img-blog.csdnimg.cn/img_convert/07c55c1c464f23d82ece18ad26e3bf1e.jpeg)
二叉树的后序遍历(力扣145)
目录 题目描述: 解法一:递归法 解法二:迭代法 解法三:Morris遍历 二叉树的后序遍历 题目描述: 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root …...
![](https://www.ngui.cc/images/no-images.jpg)
《Effective C++》读书纪实 -- 诸君同享
文章目录《Effective C》是一本经典的C编程指南,共包含50条C编程的最佳实践。 确定你的构造函数的行为 在构造函数中,应该尽可能地避免调用虚函数、非静态成员函数和虚基类的函数。 尽量使用const、enum、inline替换#define 使用const、enum、inline可以…...
![](https://images2018.cnblogs.com/blog/378458/201802/378458-20180227110934050-907185922.png)
门户网站建设研究/情感式软文广告
CONF_DONE信号是一个双向信号并且是Open-Drain。在配置过程中和配置之前作为输出,且为低电平。配置完成之后CONF_DONE作为输入脚,因为Open-Drain,所以必须由外部拉高,但二极管压降比较大,很可能造成CONF_DONE不能拉高。…...
![](https://img-blog.csdnimg.cn/img_convert/60a081188a4032ec04e2193194aef11f.gif)
畅销营销型网站建设电话/属于b2b的网站有哪些
本文实例讲述了jsHTML5 canvas 实现简单的加载条(进度条)功能。分享给大家供大家参考,具体如下:www.jb51.net canvas实现加载条动画/** 获取canvas, canvas本身没有画图能力,相当于一个画布,提供绘制图形的地方* document.getElem…...
![](/images/no-images.jpg)
在哪些网站上申请做广告可以在百度引擎能收到关键字/营销网站都有哪些
PuTTY 是一个自由开源且支持包括 SSH、Telnet 和 Rlogin 在内的多种协议的 GUI 客户端。一般来说,Windows 管理员们会把 PuTTY 当成 SSH 或 Telnet 客户端来在本地 Windows 系统和远程 Linux 服务器之间建立连接。不过,PuTTY 可不是 Windows 的独占软件。…...
![](/images/no-images.jpg)
自己做一个网站一年的费用/seo搜索引擎工具
首先做一个窗体如下 然后单元中如下代码: 在implementation下面声明两个方法如下: //外部方法,只声明一个参数,此时按照标准的对象内部事件方法TNotifyEvent声明,此声明中,Sender则对应为产生该事件的对象指针。…...
![](http://upload-images.jianshu.io/upload_images/2085791-459dc9b052f3c62d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
成都品牌包装设计/企业网站优化哪家好
2019独角兽企业重金招聘Python工程师标准>>> 方法1 - 使用Eclipse Eclipse里新建一个服务器: 服务器类型选择SAP Cloud Platform: 点Finish,成功创建了一个Server: Eclipse里选择要部署的项目,右键->…...
![](/images/no-images.jpg)
网站discuz迁移怎么做/seo网站的优化流程
好长的的解释啊啊啊啊啊,看得脑袋有点胀,不看了,反正都说基本用不上,我就先做个记录,等过几天再看。转载于:https://blog.51cto.com/13502993/2147847...