【软件测试】我的2023面试经验谈
最近行业里有个苦涩的笑话:公司扛过了之前的三年,没扛过摘下最近的一年,真是让人想笑又笑不出来。年前听说政策的变化,大家都满怀希望觉得年后行情一片大好,工作岗位激增,至少能有更多的机会拥抱未来。然而,事实远没有想象的美好。
年后迎来的,是各个大厂的裁员风波,加上前几年市场冗余的人员,又积压了一大批竞争者。再然后呢?GPT的问世,直接动摇了无数人本就端的不太稳的饭碗,如果用一个词形容,那就是“愁云惨淡”。
个人经历
所幸,笔者所在的科技公司在几波裁员潮后逐渐趋于平稳。但从个人发展和其他层面出发,跳槽成了一个很大必要但并非当下紧急的事。所以,笔者也抱着试一试的心态投入了找工作的大军。
今年是笔者从事测试工作的第8年,在现公司忝为“高级/资深测试工程师”,比对工作经历和工作年限,笔者将求职目标定位“高级测试工程师”。那么,结果如何呢?
从2月份开始至今,投了6份还是7份简历,笔试(先笔试再面试)邀约2次,收到面试(不用笔试)邀约3次,最终通过1次。这看下来还是挺好的。
事实呢?有两家公司,一家在三年前就拿到了offer,但没选择,现在自己的资历涨了,但是面试挂了。另一家属于银行,简历直接筛选不通过。
笔试
简单说说,为什么有的公司需要笔试,有的不需要。
这其中有一个原因,是笔者在投递的时候没关注职位等级。需要笔试的2个都是“中级测试工程师”,其他3个直接面试的是“高级测试工程师”。
结合之前领导所说的:都是高级岗了,在其他公司工作了那么多年,基本的素质都齐备,用不上笔试。细想,也有一定道理。
那么,对于测试岗来说,笔试都笔试什么呢?大致分两类:
一是和开发岗类似,简单的算法题,用熟悉的开发语言实现;
二是测试理论基础,比如黑白盒和等价类。再加些许测试设计题,尤其是自动化测试。
面试
那么面试呢,会问什么?结合多年前和今年求职经历,总结下来,必问的一点是:你的开发语言能力怎么样?
这或许是大多测试岗的软肋。会开发语言,但很浅,常徘徊于自动化测试的封装库或常用的命令。然后会根据所应聘岗位的行业和之前工作经验,问一些业务问题。
我想,面试官主要是想从中抓取应聘者的匹配度吧。
测试等级
回到本文正题,你心目中的测试专家是什么样的?或者,你认为不同的测试等级是怎么样的?这是笔者在面试过程中被问过,以及思考过的问题。
首先,我们来看看,测试等级有哪些?初级测试工程师、中级测试工程师、高级测试工程师、资深测试工程师、测试专家……
其次,我们看看,划分这些等级的关键点有哪些呢?
从招聘岗位角度来看,有两个点是划分等级的硬性标准:工作年限和测试技能。
工作年限
一般初级测试工程师要求工作年限不会很多,1年左右,大多是应届生为主;
中级测试工程师3-5年;
高级及以上岗位5-10年,或10+。
测试技能
初级不会太要求,大多只要能够完工作,能编写基本测试用例;
中级要求能完成测试用例编写,掌握自动化测试技能以及一门开发或脚本语言,其他的还能有思考和拓展更好;
高级在中级的基础上,需要熟练掌握开发/脚本语言,能有独立思考、分析问题能力,能够分析需求设计测试用例;
专家则在高级上更进一层,可能需要测试人员能够在某一领域有所建树,比如测试提效、测试设计方法等等。
当然,笔者上面所述皆是笔者个人经验和思考。
其实,等级的划分业界没有一个很标准的规则,大多是结合公司自身需求出发设定。
但是,当我们翻看了国内和国外测试专家履历,比如James A.whittaker(探索性测试专家)、邰晓梅(MFQ测试专家)。不难发现,他们都在某一个测试领域有一定的建树,能够将测试经验提升为理论,帮助和指导大家。想必,心有大义才能被称为“专家”吧。
总结
不知道,唠唠叨叨说了这些大家有没有get到点什么?最后再把我想分享的重点总结下吧。
开发语言很重要
这个是硬通货!了解最好熟练掌握开发语言不仅可以帮助我们更好地阅读开发代码,还是一块应聘敲门砖(笔试可能会遇到,面试也会碰到)。包括,在以后职业发展道路中也很重要,比如测开。
学会思考
我们不能光长年龄不长见识!随着测试经验的丰富,我们需要不断总结和思考:如何提升测试效率?如何指引新人更好地测试?如何在测试理论领域开辟一条自己的道路?走自己的路让别人无法再走。


相关文章:
【软件测试】我的2023面试经验谈
最近行业里有个苦涩的笑话:公司扛过了之前的三年,没扛过摘下最近的一年,真是让人想笑又笑不出来。年前听说政策的变化,大家都满怀希望觉得年后行情一片大好,工作岗位激增,至少能有更多的机会拥抱未来。然而…...
SpringBoot 整合JDBC
SpringData简介 Sping Data 官网:https://spring.io/projects/spring-data数据库相关的启动器 :可以参考官方文档:https://docs.spring.io/spring-boot/docs/2.6.5/reference/htmlsingle/#using-boot-starter 整合JDBC 创建测试项目测试数据…...
TypeScript使用npm安装报错问题
问题如图: 问题原因: 权限不足导致,可以输入如下命令: sudo npm install i -g typescript该命令会要求输入登录密码相关,稍等片刻,即可安装成功。检测安装的命令: tsc -v...
2023国赛数学建模思路 - 复盘:人力资源安排的最优化模型
文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 描述 …...
学习pytorch 3 tensorboard的使用
tensorboard的使用 1. 安装2. add_scalar 查看函数图形3. 查看结果4. add_image() 查看训练步骤中间结果的图片 1. 安装 pytorch conda环境 pip install tensorboard pip install opencv-python2. add_scalar 查看函数图形 常用来查看 train val loss等函数图形 from torch…...
Linux 命令篇
一、启动网络命令 ip addr 查看网卡信息 service network start 启动网卡 service network stop 关闭网卡 service network restart 重启网络 二、pwd 命令 查看当前目录的路径 linux 下所有的绝对路径都是从根目录 "/" 开始 root:是linux下root用户的根目…...
OpenCV-SIFT算法详解
系列文章目录 文章目录 系列文章目录引言一、高斯金字塔二、高斯差分金字塔三、特征点处理四、特征点描述子总结 引言 SIFT算法是为了解决图片的匹配问题,想要从图像中提取一种对图像的大小和旋转变化保持鲁棒的特征,从而实现匹配。这一算法的灵感也十分…...
Java中的接口到底是什么?
要说Java的【接口】,可以将其类比为现实生活中的一种约定或规范。在Java中,接口定义了一组方法的集合,但没有提供这些方法的具体实现。 你可以将接口看作是一个合同,它规定了一个类必须实现的一组方法。这些方法描述了类所需具备…...
Jpa与Druid线程池及Spring Boot整合(一): spring-boot-starter-data-jpa 搭建持久层
Jpa与Druid线程池及Spring Boot整合(一) Jpa与Druid线程池及Spring Boot整合(二):几个坑 附录官网文档:core.domain-events域事件 (一)Jpa与Druid连接池及Spring Boot整合作为持久层,遇到系列问题,下面一 一记录: pom.xml 文件中加入必须的…...
helm部署vmalert
先决条件 安装以下软件包:git, kubectl, helm, helm-docs,请参阅本教程。 在 CentOS 上启用 snap 并安装 helm 启用 snapd 使用以下命令将 EPEL 存储库添加到您的系统中: sudo yum install epel-release 按如下方式安装 Snap࿱…...
加工厂数字孪生3D可视化展示系统重塑管理模式
近年来“数字化转型”成立各行业聚焦的发展方向,在工业制造领域,智慧工业数字孪生可视化平台作为一种新型的技术手段,或将成为助力企业跑赢数字化转型最后一公里。 提高生产效率 传统的生产方式往往需要大量的人工干预,不仅耗时耗…...
php从静态资源到动态内容
1、从HTML到PHP demo.php:后缀由html直接改为php,实际上当前页面已经变成了动态的php应用程序脚本 demo.php: 允许通过<?php ... ?>标签,添加php代码到当前脚本中 php标签内部代码由php.exe解释, php标签之外的代码原样输出,仍由web服务器解析 <!DOCTYPE html>…...
JavaScript:模块化【CommonJS与ES6】
在 JavaScript 编程中,随着项目的复杂性增加,代码的组织和管理变得至关重要。模块化是一种强大的编程概念,它允许我们将代码划分为独立的模块,提高了可维护性和可扩展性。本文将详细介绍 CommonJS 和 ES6 模块,帮助你理…...
Redis—持久化
这里写目录标题 AOF三种写回策略写回策略的优缺点AOF 重写机制AOF后台重写AOF优缺点使用命令 RDBRDB 持久化的工作原理执行快照时,数据能被修改吗RDB 持久化的优点RDB 持久化的缺点 混合持久化大key对持久化的影响 AOF 保存写操作命令到日志的持久化方式࿰…...
【设计模式】代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以…...
mac arm 通过brew搭建 php+nginx+mysql+xdebug
1.安装nginx brew install nginx //安装brew services start nginx //启动2.安装php brew install php7.4 //安装export PATH"/opt/homebrew/opt/php7.4/bin:$PATH" //加入环境变量 export PATH"/opt/homebrew/opt/php7.4/sbin:$PATH"brew serv…...
软信天成:告别手动编码,实现智能自动化云数据管理
数字化转型浪潮之下,各个企业都在大力投资新的基于云的流程、平台和环境,以期获取可扩展性、弹性、敏捷性和成本效益等优势。 这些趋势要求企业IT部门能够帮助组织,在对分析进行现代化改造的过程中达到云就绪或云优先状态。事实上࿰…...
易基因:ChIP-seq等揭示转录因子NRF1调控原始生殖细胞发育、增殖和存活的表观遗传机制|科研进展
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 原始生殖细胞(Primordial germ cell,PGC)是生殖细胞前体,可以产生卵母细胞和精子,确保生命延续。尽管PGC特化(PGC …...
35岁,体能断崖?你需要健康的生活习惯
大厂裁员,称35岁以后体能下滑,无法继续高效率地完成工作;体重上涨,因为35岁以后新陈代谢开始变慢;甚至坐久了会腰疼、睡眠困扰开始加重,在众多的归因中,35岁的到来,为一切的焦虑埋下…...
mysql 习题总结
1.select sex,avg(salsry) as 平均薪资 from emp group by sex; 2.select depart,sum(salsry) from emp group by depart; 3.select depart ,sum(salary) from emp group by depart order by sum(salary) desc limit 1,1; 4.select name from emp group by name having count(n…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
