3年经验,光靠自动化测试基础,你可能连17k的测试岗都找不到,认清现实.....

news2024/11/13 19:32:40

相信对于每一个求职者来说都有被面试的经历吧,曾经作为一位测试小白的我,每一次面试过后都会各种吐槽面试官的不是,吐槽HR人事的不足,以及自己的有点没有发挥出来,今天我终于体会了一次面试官的心情....

起因:由于公司的发展,需要招聘一个测试人员,跟我一起搭档一起测试项目。

首先,感谢公司领导给我这次机会,每一个面试者都让我过第一轮技术面,我把他看做是锻炼自我的过程吧,有些事只有经历过,才知道其中的心酸苦楚。

当我面对第一个面试者的时候,其实我的心情比第一次去面试更紧张;由于没有面试别人的经验,不知道怎么去探一个人技术的深浅,第一个面试者比较菜,我一问果不其然,不提测试工具,仅仅基础的技术很多也知之不详,3年的工作经验仅仅是功能测试堆起来的,毫无深度,对于APP自动化等等一问三不知,都停留接口测试的基础方法层面上,自动化进阶问题更是一问一个死,前沿技术最新动态也毫无关注。而这个人的薪资要求却是接近19k,并且在谈论过程中自视甚高。感觉不怎么符合公司的要求所以草草了事。

第一个面试过了以后,我才发现了自己的欠缺与不足,为此我看了很多面试官面试过程技巧的范围,也看了很多有关测试的面试题,每一个层面都有涉及到,作为一个测试应该具备的技能我都有笔记准备下一次用笔记本照搬套用,记录以后我自信满满,几天下来,没有面试者过来,我也没有在意面试这件事。

一周后的周二,让我今生难忘的一个日子,这一天突然有五个面试者过来,第一个面试的是一位培训机构毕业包装两年经验的,有能力的人就看破不说破,也许是面试很熟练了,简历背熟了,自我介绍+工作经历介绍+技术精通点 一口气说完,一点不落,一气呵成。再加上笔试做得略好,我出现了一个面试官不该有的心里,觉得这个人不错,几个面试题下来答得一般,我出的几个压轴的题目虽然没有答出来,但是我本能的认为这个人不错,理所当然的把简历推给了人事。推给了老大(啰嗦一句,这是面试官的大忌,不要以一点觉得好就评论一个人是否真的好)感谢万能的的老大,和我们美丽的人事姐姐及时发现问题,压住简历反馈给我。

ps:不然招进来的人坑,这个恶果我喊着泪也得咽下去,面试官责任巨大啊也感谢万能的老大,教了我很多的面试经验,后面的面试如鱼得水.....

面试到下午,其中有技术比我强的、有纯属忽悠的、有口齿不清的一系列的人(做过面试官的都知道,林子大了什么鸟都有),有与之前老大的指导,加上自身的经历,感觉面试轻松了很多,也愉快的挑选出了一个比较优秀的测试人员。

总结:面试官真心没有以前想的那样,只是简单的刁难别人,问一些变态的问题,面试官每提出的一个问题都有他提出的理由,以及想要获取的信息作为一个菜鸟面试官面试前的准备绝对比一个面试这要多很多很多。。。 面试官有用人权,也有需要承担用人不当的责任。

我一直认同这个观点:一个优秀的测试人员应该是思维认知、业务、技术能力的综合体

根据上文真实面试场景,今天我们就说说优秀合格的软件测试工程师应该学习哪些技术栈?才能顺利拿到19k及以上的offer,想要高薪得会以下几点:

会一门编程语言,懂自动化测试,懂Appium操作,元素定位、操作、等待、滑动等,深入讲解PO、unittest、yaml、配置文件、测试报告等知识,基于关键字驱动、Pytest和jenkins持续集成完成App测试框架设计与开发、测试工具、比如性能测试工具loadrunner,自动化测试工具selenium、Appium。

先来看下我做的一个软件测试知识学习路线图,这里我将软件测试划分为了几个模块,其包含了软测(软件测试)大部分知识点(仅列出了目前能想到的,未必涵盖了所有)希望能够给你提供一些实际性的帮助与突破。

 

下面对上图内容做个说明:

一、软件测试基础理论知识:

  • 软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。
  • 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
  • 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
  • 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
  • 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
  • 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
  • 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
  • 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
  • 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
  • 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

二、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

  • linux系统基本知识:多用户,多任务,发行版本等
  • 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
  • 会部署和配置基本的应用jdk、 mysql、 tomcat
  • docker安装使用
  • 编写基本的 shell RAD本
  • 远程终端工具使用: shell, xftps等

三、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

  • 数据库基本概念
  • 关系型数据库
  • MYSQL基本的增改查语句,存储过程
  • MYSQL复杂查询、多表查询
  • MYSQL索引及事务相关概念
  • 数据库客户端工具使用:如 Navicat

四、软件测试功底技术——编程语言

编程语言推荐大家以Python为首,Java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。没有编程基础的朋友可以先学习Python语言

Python语言的学习内容包含以下知识点:

  • Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序
  • 数据结构:基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符
  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数
  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip
  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法
  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件
  • 测试框架:unitest、pytest等
  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器
  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

五、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

  • http/httpst协议学习
  • 常见请求方法学习:GET、POST
  • cookie和 session学习
  • 接口的基本概念
  • 接口文档认识
  • 接口测试用例编写
  • 接口测试工具使用:postman、Jmeter、SoapUl

六、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  • Jmeter及 roadrunner使用
  • 性能测试报告输出

七、软件测试自动化进阶——web自动化

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理;做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP,这里我们需要掌握Selenium的web自动化环境搭建,正确的浏览器配置。

八、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

  • Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey
  • Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
  • Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
  • 封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

九、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

  • 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
  • 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
  • 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积硅步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

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

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

【夯实Kafka知识体系及基本功】分析一下(Broker)服务的可靠性机制分析「原理篇」

副本机制 分布式系统中,为了提高可靠性,最常用、最有效的策略是“副本机制”,Kafka也不例外。 Kafka 为每个 Partition 维护了一个 AR(Assigned Replicas)列表,由 ISR(In-Sync Replicas&#x…

通过瑞利判据对显微镜物镜进行分辨率研究

摘要 通常可以采用瑞利判据理论表征显微镜的分辨率,瑞利判据是1896年由第三代瑞利男爵约翰威廉斯特拉特(John William Strutt)提出的。该理论认为,当一个艾里图样的中心与另一个艾里图样的第一个最小值重叠时,就可以分辨它们。在这个例子中…

力扣(LeetCode)3. 无重复字符的最长子串(C++)

滑动窗口 设置滑动窗口, lll 维护左窗口 , rrr 维护右窗口 ,利用哈希表统计字母出现次数。 遍历字符串 sss ,lll 循环右移,每次移动 , lll 指向的字母 s[l]s[l]s[l] 出现次数 。如果窗口内 s[l]s[l]s[l] …

NCMMSC 2021丨长短视频多语种多模态识别挑战赛

比赛背景 2021年第十六届全国人机语音通讯学术会议(National Conference on Man-Machine Speech Communication,NCMMSC2021)将于2021年10月15-18日在江苏徐州举行。本次会议由中国中文信息学会和中国计算机学会联合主办。 针对本次会议&…

STA -- clock gating check

对于现在design中例化好的icg以及工具插进去的icg,不存在clock gating check的问题,因为clock gating 搞成了一个lib cell,不再是latch加上与门的组合。不过design中除了这些icg,还有一些的clock gating check的出现,这…

写给 Android 开发:从0到1,再从1到N,都离不开 Framework

作为过来人,发现很多学习者和实践者都在 Android Framework上面临着很多的困扰,比如: 工作场景中遇到难题,往往只能靠盲猜和感觉,用临时性的补救措施去掩盖,看似解决了问题,但下次同样的问题又…

Node.js开发、CommondJS 、ES-Module模块化设计

目录 Node.js是什么 基础使用 Node的REPL 全局变量 模块化设计 CommondJS规范 基础使用exports和module.exports require CommondJS优缺点 AMD和CMD规范 ES_Module 基本使用方法 导出 导入 结合使用 默认导出 ES Module解析流程 Node.js是什么 Node与浏览器的对比 在…

两点云求差集和交集

这里两点云的差集指从点云1中删除属于点云2的点得到的点集,并集指既属于点云1又属于点云2的点集。 两点云求差集 基于kd-tree搜索的方法较快速,当然也可以暴力搜索。思路如下: step1 在点云2建立kd-tree,设置容忍误差&#xff0…

UI控件DevExpress WinForm新手指南——如何在应用启动时执行操作

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

RESTful 接口设计

文章目录RESTful 接口设计1.获取所有员工列表2.增加一个员工3.更新员工4.删除员工5.查询单个员工RESTful 接口设计 1.获取所有员工列表 /*** 获取所有员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--无* 4. 请求响应--多个员工--List<Em…

苹果iOS App Store上架操作流程

很多开发者在开发完iOS APP、进行内测后&#xff0c;下一步就面临上架App Store&#xff0c;不过也有很多同学对APP上架App Store的流程不太了解&#xff0c;下面我们来说一下iOS APP上架App Store的具体流程&#xff0c;如有未涉及到的部分&#xff0c;大家可以及时咨询&#…

基于微信小程序的学生购电系统设计与实现-计算机毕业设计源码+LW文档

小程序开发说明 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Mave…

服务端Skynet(二)——消息调度机制

服务端Skynet(二)——消息调度机制 文章目录服务端Skynet(二)——消息调度机制1、提前了解知识1.1、互斥锁&#xff08;mutex lock : **mut**ual **ex**clusion lock&#xff09;1.2、自旋锁&#xff08;spinlock&#xff09;1.3、读写锁&#xff08;readers–writer lock&…

最简单的git图解(多远程仓库)

上一节我们讲了git操作最基本的命令&#xff1a;最简单的git图解&#xff08;最基本命令&#xff09;_jerry_dyy的博客-CSDN博客 这一节我们来讲一下面对多个远程仓库的场景&#xff0c;应该如何来处理。 为什么要有多个远程仓库&#xff1f; 在企业内部开发团队开发过程中&a…

什么是CDN?CDN的技术原理是什么?

什么是CDN&#xff1f; CDN的全称是Content Delivery Network&#xff0c;中文名称“内容分发网络”。其主要原理是在现有网络中增加一层新的网络架构&#xff0c;将源站中的内容发布到不同的网络节点上&#xff0c;使用户可以就近获得所需的内容&#xff0c;从而提高用户访问…

【学习记录】镭神激光雷达与PC机的NTP同步

本文仅用于记录自己在实现镭神C32激光雷达和PC机进行NTP同步时的一些总结。 吐槽在先&#xff0c;镭神的文档写极其不完善&#xff0c;很多都只是提了一句&#xff0c;但并没有完整的说应该具体怎么做。前前后后折腾了三四天&#xff0c;在一知半解的官方技术支持和实验室大佬…

立创EDA仿真入门1 基本操作

立创EDA仿真入门1 基本操作一、进入EDA仿真环境二、画原理图1. 新建工程2. 绘制如下电路图三、仿真1. 运行仿真2. 导出波形图3. 查看仪表一、进入EDA仿真环境 网址&#xff1a; https://lceda.cn/ 进入EDA标准版&#xff0c;点击左上角切换到仿真模式。 二、画原理图 1. 新…

java毕业设计——基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统

基于javaSocketsqlserver的办公自动化系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于javaSocketsqlserver的办公自动化系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录&#xff1a; 基于…

qemu创建linux虚拟机(亲测有效)

1&#xff0c;网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式&#xff0c;是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。 桥接网络&#xff08;也叫物理设备共享&#xff09;被用作把一个物理设备复制到一台虚拟机。网桥多…

【语义分割】数据增强方法(原图与标签同时扩增)

1、数据增强作用 避免过拟合 提升模型的鲁棒性 提高模型的泛化能力 避免样本不均衡的问题 2.、数据增强分类 可分为两类&#xff1a;在线增强和离线增强。这两者的区别在于离线增强是在训练前对数据集进行处理&#xff0c;往往能得到多倍的数据集&#xff0c;在线增强是在训练…