软件测试?月薪20k+?不会自动化测试的我真的很难....

news2024/11/17 17:37:16

做自动化测试后悔吗?

后悔,真的后悔!

后悔没有早点学.....

虽然现在网上到处都在散播35+的焦虑,姑且信之,那么反问你,如果你30岁了,那么给你5年,能够在某个领域成为专家呢?希望你能够在焦虑的时代静下心来思考一下职业的规划。文章可能有点长,预计阅读时间8分钟,希望在碎片化知识时代能够引起你的短暂思考。

先说一下作为一个测试工程师,自己的“技能树”应该如何点亮:

看到这些,你还会说测试学的简单吗?

身为一名合格的测试工程师,是需要具备以下技能的:

  • 测试基础理论/测试设计能力
  • 业务知识
  • 行业技术知识
  • 数据库
  • 掌握编程语言
  • 搞定自动化测试
  • 质量流程管理

测试基础理论/测试设计能力

比如说,边界值分析、等价类划分、因果图、判定表、正交实验设计等,这些基本的测试基础,科学的设计方法能够很好的规范我们的行为,从而帮我们理清思路和提升效率。很多人会觉得简答,从而忽视基础的牢固程度,往往最基础的地方,最难做到精通。

业务知识

这个看起来很虚,貌似没有具体的知识点,但是做过测试的都知道,往往这部分是非常重要的。如果不懂得业务知识,那就是蛮干和瞎干。作为一个测试人员,最应该的是从用户的角度去思考问题,而不是开发这边,找到核心业务和功能,然后划分测试优先级,定级缺陷,另外尤其对于自动化也是非常重要。举个例子,你只有掌握了业务的特性,才能够用自动化的手段去首先覆盖哪些场景,把宝贵的自动化资源投入到最重要的地方。

行业技术知识

说到行业知识就海了去了。并不是我我们会一点测试方法,会运行个脚本,使用个框架就完事了,要么说测试要求涉猎的地方比较广呢,而且还得要求你精通。比如前端的技术栈、API设计、后端服务器、数据库、服务架构等,如果这些知识都能够打通,在面试的时候,面试官问你一个问题,你是能够以点带面的去阐述的,体现出来你绝对是一个优秀的测试工程师。

数据库

无论你是做自动化和手工测试,都要进行数据效验,SQL语言是测试工程师必会的技能之一,掌握SQL语言,然后在数据库找到需要的数据,这个能力是必须具备的。

掌握编程语言

测试不写代码?那不叫测试工程师。特别是做测试开发来说,要从代码层就开始进行质量把控,所以掌握语言的话,能够让你读懂代码,也能让你直接定位缺陷,同时更早的去预估风险和难点。另一个方面就是自动化测试,去驾驭各种自动化测试框架以及用例的开发。

搞定自动化测试

对于UI自动化来说,掌握selenium和appium,非常的重要,尤其是移动端的appium,企业的重视程度更高,基本思路都是定位元素,然后操作元素,接着获得反馈,最后用测试框架去管理测试用例。

另外对于接口自动化来说,从投入产出比来说,比UI自动化有很多独特的优势,比如运行速率高,开发和维护成本低,而且可以和开发代码同步开发。简单来说,就是通过模拟浏览器,发送请求实现接口的调用,比较返回值与期望值,验证结果。

质量流程管理

最后要说的就是质量管理了,对于测试人员来说,并不是单纯的去做测试,而是负责业务的质量保证。

  • 作为 DevOps 关键角色,未来的软件测试工程师和质量人员必须同时具备一定的开发和运维能力。
  • 测试人员会更深入介入开发工作,通过“测试左移”,提前与开发人员一起制定测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量;
  • 另外,测试人员会也会参与配置部署,将自动化测试用例配置到持续交付链中,并通过“测试右移”,全流程监控发布后的应用质量。

如果你想在测试行业成为专家,先要成为高级测开,可以接着往下看!

下面谈谈不同level的测试工程师应具备的基本能力

第一个:我们称之为测试员/测试工程师

直白一点说,就是干苦力活的。对标过来就是百度的T3、T4,阿里的P5,腾讯的T1-T2。主要的工作就是需求分析,测试方案,测试策略,测试执行,都是业务测试。当然你能够掌握某些领域知识,比如你是测无人车的,无人车的业务是什么,我测AI,AI是什么,我去测大数据,大数据是什么,测的是电商,电商系统的架构是什么,业务知识是要懂的。再一个是带外包团队,可能会有一部分的外包团队交给这一部分人去带。主要是也就是管理这些基础的业务测试工作。

第二个:测试开发工程师

现在第一个level是不怎么招了,多数都是从第二个level开始招。一旦提测试开发,就一定要求你懂研发,懂测试,并且有一定的深入工作的能力。从这个level开始要求你的编程能力了,Java、Python、shell、SQL,这是最基础的,然后是业务测试。

这部分人仍然会负责一部分的业务测试的工作。老大会根据你的能力,给你安排一个比例。你能力很强,80%做技术,20%做业务,如果你能力不强,那就80%做业务,20%参与一部分技术。如果你的技术太low了,那就100%的全部做业务测试。所以这个时候会根据你的能力进行合理的时间划分。这里面的要求就比刚才突然间就拔高了,客户端的UI测试,服务端的接口测试,性能测试,基本上都属于这个范畴。

面试的时候,性能与非功能测试,可能不会做一个主面试点,主要还是在自动化和编程能力。也就是目前大家出去找工作,你们最容易被卡的这一关。所以在这个level里面,也是干活的,也就是既做业务测试,也做技术上的改造,以及去写一些自动化,但是仍然是偏重于业务的。

第三个:高级测试开发工程师/测试架构师

那么到这个level,业务测试已经非常少,甚至完全没有了,这个时候更多的是负责整个团队的流程管理。流程管理体系,白盒测试体系,测试工具与测试平台的开发,再一个是质量监控,还有一个质量管理。通常一个团队里面,会有一个测试的管理,加上1-2个高级的测试开发工程师,或者叫测试专家也行。他会搭建起整个的持续集成系统。持续集成、白盒测试、以及一些平台的开发,主要会交给这些人负责。然后他会带2-3个测试开发工程师,这些测试开发工程师一边跟着他去学习,一边去做业务。然后剩下的活儿,交给外包公司或者校招的人去做。

对于一个测试工程师,核心的竞争力有哪些?

专业技能:毋庸置疑,吃饭立足的根本,随着你的测试技术的不断深挖,你一定会觉得自己曾经的测试想法是非常浅显的,先要走管理也好,甚至转岗也好,技术的深挖都是非常重要的;

管理技能:能够带领团队高效的运作,高效的完成任务,测试核心王道,当然也要保证团队内部氛围的和谐,促进团队健康发展。你的技术到了一定的程度,自然会担起一定的管理责任的。

学习能力:软实力中最重要的一环,或许听到的比较多了,但是作为过来人建议一点,人的精力有限,把你的有限精力聚焦在最重要的方向;

沟通能力:是不是听起来有些上头,耳朵都听出茧子了,自古套路得人心,但是真诚永流传;

影响力:测试这个行业,越往上,圈子越小,北京、深圳、上海、杭州这些的测试开发、架构师类的,如果有一定影响力的,相互之间交流和学习都是非常容易的。往往越是顶尖,越乐于分享。比如19年年初的MTSC测试大会,很多地方的测试开发都踊跃参会。当然,相互之间的内推也是非常的简单了啦。如果你有内推的需求,简历可以发我瞅瞅哈。

越努力,越优秀

不进步,就淘汰!


最近大厂又在裁员,裁员的同时也在招人,可以肯定的是,进大厂比以前更难了。除了学历要求之外,技术要求上卡的也更严了。当然想要进入大厂,技术水平的高低不是决定性的因素,尤其在今年大环境不好,到处裁员的情况下,想要进入大厂就更难。

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

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

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

相关文章

计算广告(十七)

多渠道组合路径效率评价 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 分析背景: 电商归因分析通常以 last_click 为基准,将成交转化归功于用户完成转化前的最近一个广告系列。然而,在此之前&a…

java--线程池

目录 1.线程池概 2 为什么要使用线程池 1创建线程问题 2解决上面两个问题思路: 3线程池的好处 4线程池适合应用场景 3 线程池的构造函数参数 1.corePoolSize int 线程池核心线程大小 2.maximumPoolSize int 线程池最大线程数量 3.keepAliveTime long 空闲…

Centos elasticsearch 8.7.0 集群搭建

Install Elasticsearch with RPM | Elasticsearch Guide [8.7] | Elastic 准备了3台centos,ip分别是: 1、192.168.1.103 2、192.168.1.148 3、192.168.1.192 开始安装第1个节点 1、 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticse…

快速引用网站标题链接到Markdown

JS脚本 将JS脚本添加到书签栏,通过调用书签栏执行快速复制网页标题和链接 合成Markdown格式的方法: javascript:!function(a){var b document.createElement("textarea"),c document.getSelection();(b.textContent a),document.body.ap…

【C++】STL——vector 深度剖析 及 模拟实现

文章目录 前言1. vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 构造函数1.2.2 vector对象的遍历1.2.3 vector的迭代器1.2.4 reserve和resize1.2.5 insert和erase1.2.6 vector< char > 能否替代string 2. vector的模拟实现2.1 STL_vector源码浏览2.2 vector的…

网络安全-网站后台的寻找+网页JS文件信息收集

网络安全-网站后台的寻找网页JS文件信息收集 前言 一&#xff0c;我也是初学者记录的笔记 二&#xff0c;可能有错误的地方&#xff0c;请谨慎 三&#xff0c;欢迎各路大神指教 四&#xff0c;任何文章仅作为学习使用 五&#xff0c;学习网络安全知识请勿适用于违法行为 学习网…

数影周报:美联邦机构被曝数据泄露丑闻,嘀嗒狗完成数千万元融资

本周看点&#xff1a;美联邦下属机构超25万消费者隐私被泄露&#xff1b;钉钉、金山办公同日公布AI应用&#xff1b;京东全球购与宿迁市港口集团签订战略协议&#xff1b;嘀嗒狗完成数千万元Pre-A轮融资...... 数据安全那些事 美联邦机构被曝数据泄露丑闻 海外网4月20日电 据美…

DeepSORT中的卡尔曼滤波

本文是看了DeepSORT方法视频之后&#xff0c;关于其中使用的卡尔曼滤波的理解 DeepSORT视频链接 首先是视频中的一张图 预测阶段 x ^ k − A x ^ k − 1 \hat{x}_k^-A\hat{x}_{k-1} x^k−​Ax^k−1​ P k − A P k − 1 Q , P k − ∈ R 8 , 8 P_k^-AP_{k-1}Q, P_k^- \i…

Python轻量级Web框架Flask(10)——Flask进阶知识

1、Flask整体框架流程回顾&#xff1a; 视图函数把数据返回给浏览器的方法有多种&#xff0c;其中一种就是通过模板Templates。 2、Flask插件介绍&#xff1a; Flask插件可以去官网查看&#xff0c;有很多。插件安装流程&#xff1a; 1、通过pip指令在对应环境中下载插件2、在…

【Python入门】NumPy 入门知识介绍,看这一篇足矣

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 什么是 NumPy&#xff1f; NumPy 是用于处理数组的 python 库。 它还拥有在线性代数、傅立叶变换和矩阵领域中工作的函数。 NumPy 由 Travis Oliphant 于 2005 年创建。它是一个开源项目&#xff0c;你可以自由使用它。 …

SAP 性能监控工具

SAP 体系结构可能很复杂&#xff0c;因为它由许多不同的元素和多层应用程序组成。每个元素都必须以最佳方式执行&#xff0c;以确保响应迅速且可靠的服务级别。管理如此复杂的系统可能非常艰巨&#xff0c;这就是为什么使用强大的SAP监控工具绝对必要的原因。 什么是 SAP 监控 …

安装autogpt中出现的问题及安装autogpt的小白教程

ImportError: DLL load failed while importing numpy_ops: The specified module could not be found 解决方案&#xff1a;Latest supported Visual C Redistributable downloads | Microsoft Learn 安装一下这个软件即可&#xff0c; 要安装 Auto-GPT&#xff0c;请按照下…

【Operating Systems:Three Easy Pieces 操作系统导论 】 4 ~ 6 章 (进程 | 进程 API | 受限直接执行)

【读书笔记】 Operating Systems:Three Easy Pieces 操作系统导论 第四章、 抽象 &#xff1a; 进程 4.1 什么是进程 ? 操作系统为正在运行的程序提供的抽象进程可以访问的内存&#xff08;称为地址空间&#xff0c;address space&#xff09; 是该进程的一部分。进程的机器…

python+nodejs+ssm+vue 基于协同过滤的旅游推荐系统

本文首先介绍了旅游推荐的发展背景与发展现状&#xff0c;然后遵循软件常规开发流程&#xff0c;首先针对系统选取适用的语言和开发平台&#xff0c;根据需求分析制定模块并设计数据库结构&#xff0c;再根据系统总体功能模块的设计绘制系统的功能模块图&#xff0c;流程图以及…

WPF教程(八)--数据绑定(1)

使用WPF可以很方便的设计出强大的用户界面&#xff0c;同时 WPF提供了数据绑定功能。WPF的数据绑定跟Winform与ASP.NET中的数据绑定功能类似&#xff0c;但也有所不同&#xff0c;在 WPF中以通过后台代码绑定、前台XAML中进行绑定&#xff0c;或者两者组合的方式进行数据绑定。…

VUE基本使用详解

目录 一、VUE框架原理 1. 了解VUE框架 2. VUE框架原理 3. MVC设计模式 4. MVVM设计模式 二、引入VUE框架 1. 本地引入 2. 网络引入 三、安装Vue插件 一、VUE框架原理 1. 了解VUE框架 vue 框架 是基于MVVM设计模式的前端框架&#xff0c;其中的Vue对象是MVVM设计模式中的VM视图…

JavaWeb——TCP协议的相关特性

目录 一、TCP 1、特性 2、确认应答 &#xff08;1&#xff09;、定义 &#xff08;2&#xff09;、原理 &#xff08;3&#xff09;、接收缓冲区 3、超时重传 &#xff08;1&#xff09;、丢包 &#xff08;2&#xff09;、定义 &#xff08;3&#xff09;、分类 二、…

idea在main分支上新建其他分支并同步过去

前言&#xff1a;首先得知道以上&#xff08;idea 版本为2021.1.3 &#xff0c;右下角git分支部分&#xff09;是什么含义。 local Branches 本地分支&#xff0c;代表当前项目路径下所存在的本地分支&#xff0c;以上是有三个,都存在与本地仓库 Remote Branches 远程分支&…

腾讯云服务器:轻量应用服务器、云服务器CVM和GPU云服务器配置表

目前腾讯云服务器分为轻量应用服务器、云服务器云服务器云服务器CVM和GPU云服务器&#xff0c;首先介绍一下这三种服务器。 1、腾讯云云服务器&#xff08;Cloud Virtual Machine&#xff0c;CVM&#xff09;提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源&#x…

进程虚拟地址空间划分

任何编程语言->产生指令和数据 我们以x86 32位linux 作为知识介绍的背景 编译后生成exe文件在磁盘上&#xff0c;需要加载到内存才能运行 但不能直接加载到物理内存 linux给当前进程分配一个2^32大小的一块空间&#xff0c;4G 虚拟地址空间解释 它存在&#xff0c;你看得…