软件测试新手要达到一个什么水平才能找到一份9K的工作?

news2024/12/27 3:08:35

我的读者里有很多 软测 新人,新人是指正在学 测试 的、以及工作时间不长的年轻人,他们经常问我一个问题:

自学到什么程度才能找到一份还不错的测试工作?

今天我就从我自己面试新人的角度来回答一下,我会把面试的知识点进行拆解,希望大家看完文章之后,能从中找到学习 软件测试 的重点。

学习是为了找到工作、拿到 offer,这就有一个公式:

offer = 工作需要的技术栈 + 计算机基础知识 + 项目实践 + 如何找到工作

让我们分别看看公式右边的这些方面具体是什么。

一、工作需要的技术栈

初级测试工程师(薪资6k-9k)↓

1)了解计算机以及软件测试相关的基础知识

a.计算机基础知识

计算机组成部分,操作系统分类,常见的系统架构(B/S和C/S),常用的DOS命令

b.软件测试基础理论知识

软件测试的目的、定义、原则,产品质量模型,软件测试的基本流程

2)常用的Linux命令

在软件测试中,有时候需要我们自己去搭建测试环境,或者是在服务器部署自动化项目。而服务器基本都是使用Linux系统的,所有我们需要掌握一些基础的Linux命令

3)SQL语句

在软件测试中,测试结果的校验或者自动化中的测试数据准备,都会操作数据库来完成。所以对于数据库的最基本的增、删、改、查的SQL语句,需要能够独立完成编写

4) 手工测试用例的编写(最重要)

作为一个软件测试工程师,最基本的要求就是用例编写的能力。如何编写出一份高覆盖率,低重复率的测试用例,是初入软件测试行业应该去不断追求的能力。

5 ) 缺陷的管理

了解在团队中,如何管理测试人员提出的BUG,从而保证项目的BUG能够及时被修复

以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的知识点。而是否会自动化测试是初级与中级软件测试工程师的分界线。

中级测试工程师(薪资15k-25k)↓

  • 接口测试相关专业技能

无论是自动化测试还是性能测试,甚至之后往测试开发方向发展,最基础的就是针对接口进行测试。所以要想做好中级软件测试工程师,第一步就是能够完成接口测试

1)接口以及接口测试相关的理论基础知识

包括接口及接口测试的概念,接口测试的原理,接口测试的流程,http协议,Restful接口风格。这些内容都需要有所了解

2)接口工具的使用:Postman和Jmeter

接口测试,可以使用代码,也可以使用工具。通常情况下,接口测试最多还是使用工具来完成.原因无他,"高效"。

3)抓包工具:Fiddler和Charles

在测试过程中,我们为了定位前后端的问题,就会使用抓包工具,查看接口返回的结果。从而定位问题是前端的,还是后端的。这两个工具,我们一般二选一去学习就可以了,因为他们的作用都是一样的。

  • 自动化测试

软件测试中的自动化测试,分为Web UI自动化和移动自动化。自动化测试的目的,主要还是为了降低回归测试的时间。

自动化测试的实现方式,主要还是依赖代码来完成的。所以要能进行自动化测试,首先需要掌握一门编程语言。目前行业主流的自动化测试的编程语言为python和java。我推荐从Python入门,因为对于代码基础为零或者很差的同学,Python的入门相比较Java,要友好很多。我个人就是Python和Java都是自学的,如果可以全天学习,Python也就差不多10天就能入门,然后就可以开始自动化测试方面的学习。

a.Web UI自动化

web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。

需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。

通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。

b.移动自动化

移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有:Python/Java+appium。

移动自动化除了掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。

另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。

高级测试开发工程师(薪资30k-40k)↓

为了提高测试效率,降低测试成本,使测试价值最大化,在具备测试经验、熟练使用测试工具并有一定开发能力的前提下,就可自主开发平台,或对现有开源工具进行二次开发了,这也是测试开发工程师不断进阶的必经之路。下面介绍一下企业金融测试部自主研发的其中几个自动化工具平台,希望对大家在开发测试平台时有一定的启发:

1)源代码监控分析平台。在开源平台sonarqube上定制符合部门需求的规则,通过jenkins集成定时对项目代码质量进行扫描,对单元测试和代码覆盖率进行统计、定制化邮件发送,让开发和测试同学可以发现项目源码的问题。

2)接口自动化平台。在测试工具基础上结合HttpClient、testng等,生成美观的可视化报告,并邮件发送给指定人员,实现接口自动化平台。现已稳定运行数月,并实现接口入参、加密传参及数据库检查点,以及多接口间的出入参依赖,可实现多接口,多场景的组合测试,完美覆盖http、jsf接口的测试,提高了使用者在接口方面的测试效率。

3)UI自动化平台。在测试工具的基础上引入selenium、Jenkins、testng,实现ui自动化平台。现在很多公司都在做ui自动化,通常是用java(或python)加上selenium,跑自动化程序,但这对小白测试人员有一定难度。但在我们平台,测试人员只需要在页面维护相关元素,不用写代码,就可实现ui自动化,并且可以多场景组合测试,方便测试环境更新版本和线上的回归测试,对于元素维护简单方便易上手。

4)测试工具平台。我们在测试工具基础上结合企业金融业务开发了测试工具平台,它是基于springMVC框架的前后端系统。目前总访问次数近三万次,覆盖约十几个业务线系统,单功能访问次数达几百次,在面对复杂业务场景、重复营造和查询数据、频繁业务联调时,可直接让对方访问此平台,一键生成和查询想要的数据,一键实现复杂的业务流程,极大的解脱了研发人员的时间,也避免了不必要的等待时间。

5)BUG监控分析平台。在测试工具的基础上对redmine进行数据提取、处理,通过web页面图表直观展示,可简洁明了的查看bug数据及项目质量情况。

我认为新手在学习的过程中常见的误区:

根据我几年的工作经验来看,零基础的人学好测试基础尤为重要,既然想要进入这行,从开始就给自己搭建一个软件测试工程师发展方向知识架构体系图,让你对于整体的技术栈有明确的全局观,了解自己目前处于哪个阶段,不过对于小白来说,这可能有一点难,所以我首先给大家准备了一套完整的软件测试技术体系图想要获取的同学

希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

针对如何自我学习,我给大家提供几个我曾经的小技巧:

①了解如今的市场,都需要掌握哪些主要技术就可以快速就业,目前的企业都需要什么人才,这是你学习的方向和目标。

②系统的学习规划:有一个整体学习大纲,要知道自己每天学习什么,做什么练习进行知识巩固,一个阶段学完后应该完成什么项目实战,进行循序渐进的学习,不可以盲目的瞎学。

③一个大佬的指导:作为一个初学者一定要记得找大佬指导你,即使是花点钱也没关系,只要你能把技术学好就行。自己摸索基本都是弯路,很多人为什么学了一两个月就放弃了,因为他不知道路在哪里,整个人都是迷茫的,自然容易放弃。但如果你有了一个大佬带你,他就会给你做详细的学习计划,给你安排好一切,在整个学习过程中给你解答疑问,你学习起来就会思路清晰,简单效率。或者加一些学习氛围不错的软件测试交流学习群,跟有经验的人交流可以学到很多好的学习方法和技巧,提高我们的学习效率。

④切记不要开始就只看书,这样比较容易放弃:书上的内容过于生硬,对于零基础的新手非常不友好,看书学习容易放弃。最好的办法还是看视频,动手用键盘敲出来,积累一定理解以后,再回头精读这些大部头书,获得内功提升。总之,原则就是循序渐进,知行合一

另外还有三个网站三个神器,对于初学者来说非常重要。

  • 第一个Google,碰到啥知识问题和错误我都会查这个,找到的回答比某度质量高。但无法访问的问题,对于程序员应该是小case,主要英语需要点底子,方便查文案资料
  • 第二个CSDN,老牌技术网站了,我会白天有些知识没理解的,会去搜别人的技术理解博文,一般都会讲的通俗易懂
  • 第三个TesterHome(测试之家)由众多测试大佬组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进自身发展。5年前,作为测试新人注册了testerhome账号,在里面学习测试相关的知识,慢慢的对移动互联网测试有了一个整体的认识,后来也将自己工作中学到的东西分享到社区,每一次看到有人从我的帖子中得到解决问题的方法,自己也觉得很高兴,这就是技术分享吧。
学习网站太多了,每个人见解不一样,大家有好的建议可以留言给正在学习的人看到,爱分享爱学习。

⑤找一套完整系统的教程:学习的内容不能过于陈旧,有人学习还在看五年前的视频学习软件测试技术,都是一些已经被企业淘汰的方法,无法满足企业招聘的标准,在面试中很难回答上面试官的问题,最终找不到工作。要找一套最新且系统的学习教程去学习。

软件测试学习资料获取关注公众号:程序员雷叔  

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

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

相关文章

【Linux系统】--- Linux内核日志等级详解

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。 【Linux系统】--- Linux内核日志等级详解…

MarkDown语法使用手册

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

一致性hash算法原理图和负载均衡原理-urlhash与least_conn案例

一. 一致性hash算法原理图 4台服务器计算hash值图解 减少一台服务3台服务器计算hash值图解 增加一台服务器5台服务器计算hash值图解 二. 负载均衡原理-urlhash与least_conn 2.1.urlhash案例 # urlhash upstream tomcats {hash $requ

景源畅信电商:抖音开店步骤是什么?

随着社交媒体的兴起,抖音已经成为一个不可忽视的电商平台。许多人都希望通过抖音开店来实现自己的创业梦想。那么,抖音开店的具体步骤是什么呢?接下来,我们将详细阐述这一问题。 一、明确回答问题抖音开店的步骤主要包括:注册账号…

web刷题记录(1)

[GXYCTF 2019]Ping Ping Ping 进入页面,发现有一个传入参数的框,目的就是为了让我们通过参数传入内容来执行代码。这里先传入本地ip,方便后面的ping命令运行 ls命令来查看,目录中的文件 传入后,发现目录下有flag.php,…

车载电子电器架构 —— 智能座舱标准化意义

车载电子电器架构 —— 智能座舱标准化意义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消…

三品软件:打造高效安全的图文档管理体系

在数字化转型的浪潮中,工程设计单位和企业设计部门面临着电子图文档管理的巨大挑战。随着电子图纸和文档数量的激增,如何有效组织、管理和共享这些资源,成为提升工作效率和保障信息安全的关键。本文将探讨当前图文档管理面临的问题&#xff0…

STM32定时器及输出PWM完成呼吸灯

文章目录 一、STM32定时器原理1、基本定时器2、通用定时器(1)时钟源(2)预分频器PSC(3)计数器CNT(4)自动装载寄存器ARR 3、高级定时器 二、PWM工作原理三、控制LED以2s的频率周期性地…

数字图像处理系列 | 线性滤波(高斯滤波)(3)

我们知道了什么是 线性平移不变系统是在做卷积操作 之后,我们发展出了一些非常简单的 线性滤波, 去增强图片,提取图片特征 文章目录 1. 卷积如何在离散图片中工作的Vis 原图和mask做卷积时发生了什么首先,如何得到 (i.j)位置的卷积…

电脑突然提示:“failed to load steamui.dll”是什么情况?分享几种解决steamui.dll丢失的方法

相信有一些用户正在面临一个叫做“failed to load steamui.dll”的问题,这种情况多半发生在试图运行某个程序时,系统会提示一条错误消息:“failed to load steamui.dll”。那么,为何steamui.dll文件会丢失,又应该如何解…

文本生成流程图 泰酷啦 Excalidraw Mermaid Obsidian

前言 介绍一个很酷的工具,Mermaid to Excalidraw 。作用是用代码生成流程图。 Mermaid 是一款强大的、轻量级的文本到图表的转换工具,它允许用户使用简单的Markdown风格的语法编写文本描述,然后通过JavaScript引擎将其转换成美观的图表。Mer…

手机投屏技巧:手机怎么投屏到电脑显示屏上?精选6招解决!

手机怎么投屏到电脑显示屏上?出于一些不同的原因,大多数人都希望能将手机投屏到电脑上。其中一个常见的原因是,大家经常会希望在笔记本电脑上共享图片,而无需上传或者登录微信进行文件传输。以及希望不依靠投影仪,就能…

高性价比、超强功能的开源工单解决方案

在企业日常运营中,工单管理系统是不可或缺的工具。高效的工单管理不仅能提升工作效率,还能显著提高客户满意度。今天,我们为您推荐搭贝工单派单系统——一款超高性价比、功能齐全的开源工单管理系统。 🔍 为什么选择搭贝工单派单…

JDBC使用步骤-小白入门

一.JDBC开发流程 加载并注册JDBC驱动创建数据库连接创建Statement对象遍历查询结果关闭连接,释放资源 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class StandardJDBCSample {public static …

统计计算五|MCMC( Markov Chain Monte Carlo)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法(Expectation-Maximization Algorithm,期望最大化算法) 统计计算三|Cases for EM 统计计算四|蒙特卡罗方法(Monte Carlo Method) 文章目录 系列文章目录一…

npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本

安装npm时出现如下提示: 出现这个错误信息,是系统禁止执行PowerShell的脚本。 出现的原因是,系统默认的执行策略是Restricted(默认设置),限制执行,所以会出现如上提示。 解决方法:…

学前基础知识

1、Java版本: 1995年发布第一个版本,创始人gosling。 可知, JAVA8 和 JAVA11 为长期版本,其他均非长期版本,因此主流都在用 JAVA8 或 JAVA11。 2、Java技术体系平台: 3、Java重要特点 ①Java语言是面向对象…

【SOFARPC框架的设计和实现】笔记记录

感谢刘老师对rpc框架的视频讲解:SOFAChannel#31 RPC框架的设计和实现_哔哩哔哩_bilibili 每个扩展点就是一个接口,可以通过实现接口来时拓展。 以registry举例,可以使用Extensible注解标记接口,然后Extension标记方法的实现。 …

PV PVC

默写 1 如何将pod创建在指定的Node节点上 node亲和、pod亲和、pod反亲和: 调度策略 匹配标签 操作符 nodeAffinity 主机 In,NotIn,Exists,DoesNotExist,Gt,Lt podAffinity …

windows系统电脑外插键盘驱动出现感叹号或者显示未知设备,键盘无法输入的解决办法

笔记本外插的键盘不能用,鼠标可以使用。 查找故障,结果打开设备管理器看到键盘那项里是一个的黄色惊叹号显示未知设备![图片]如下图所示 其实解决办法很简单,不要相信网上的一些博主说删除什么注册表,我开始跟着他们操…