最详细的软件测试面试题整理与分析
前言
时光荏苒,一转眼到了2023年末尾,2024年也快要来了,人员就业市场以往的寒冬也貌似有了转暖的迹象,身边大批的就业人员也开始了紧张的备战之中。
近几周也和多家合作公司的HR进行了沟通,发现虽然岗位就业情况较去年有所好转,但整体的需求缺口与候选人的条件选择却比19年的时候稀少与严格了许多。
许多的应聘者投出简历之后经常会遇到根本没有反馈的情况,一方面也是大批的大厂、中厂的竞争者出现,他们有着大厂背景和大项目背书,相对来说公司方面就有了更优解,另一方面经历了去年一整年的变故,许多的优势竞争者只能降低预期,这对用人单位来说性价比就更高了。
也正是因为以上的种种,博主作为一个测试管理者也常年面试各类的测试行业就业人员,也发现了形形色色的面试相关的问题,希望将自己的长久经验积累转化为博文的这种方式来帮助到更多的软件测试应聘者。
大家可以通过面试题内的一些解析再结合自己的真实工作经验来进行答题思路的提取、整理。
友情提示:硬背答案虽好,但容易翻车哦。
在这我准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,这份测试文档资料也打包在里面啦,免费领取!
软件测试视频教程观看处:
2023最新【软件测试面试300问】面试八股文教程,涵盖自动化测试/接口测试/性能测试/测试开发等内容
题目解析
1、请先做下简单的自我介绍
每个应聘者面对的第一个问题,相信大家都不会陌生,这里只说几个重点:
1、自我介绍一定要事先准备,在有效的时间内(保持在1-2分钟左右)将自己之前的职位、大致职业经历、能力特长进行描述。
2、另外一个比较有意思的是,许多应聘者在面试刚开始的时候相对会比较紧张,但只要面试进行的比较顺利,后期的紧张感也就会渐渐消失,这就导致一开始的自我介绍往往会表现的窘迫、结结巴巴,那么给到面试官的第一印象就会打折扣。
2、请介绍一下你们的测试流程
对于以上这题,能给到比较标准的答案就是:需求分析 → 概设详设测试 → 单元测试 → 集成测试 → 系统测试 → 验收测试。
但博主不建议按部就班的把这个记下来用来回答,那最多就是一个框架,这里推荐结合自己公司的真实测试活动内容来进行描述。
千万不要觉得少了其中的某一步会怎么样,也千万不要为了使流程听起来比较丰满而刻意的去编造一些自己从来没参与过的测试环节,就比如概设详设测试这块,很多公司是不会有的,你在面试过程中背了这一个流程框架,将其加入其中,一旦面试官问起无疑就是给自己挖坑,这个是面试中的大忌。
我们在日常的工作中可以进行刻意练习,身为执行人员在测试活动的整个过程中可以将每个阶段自己、团队成员、上级在做的事情进行观察与大致的记录,如果能有输出物那就最好了。
一般面试官在听到你介绍完一整个测试流程大致后,都会针对某个环节来对你进行细致提问,比如你们的测试用例评审是怎么执行的,集成测试环节中你的主要职责是什么,测试活动前期你在团队中具体负责哪些工作等等等等。
无论问题如何五花八门,只要不脱离整个流程的大致范围,相信平时如果有良好的经验累积和刻意练习,这些类似的问题都可以应付自如。
3、请你介绍一下你们公司的XXX产品/项目
这题的出现率也是高的可怕,其实对于面试官来说,检验一个测试人员的业务是否合格的其中一个标准就是应聘者是否可以完整、全面、系统的介绍清楚自己的经手的产品或项目。
这里还是奉劝大家不要抱着侥幸的心理,觉得反正不是用人单位的项目,随便说说,就算说错应该也没什么大问题。一般来说面试你的无论是一面还是二面,都会是你的直属领导,只要不是太水,面试官的技术力与业务力都会在你之上,如果是同一行业的就更不要提了。
千万不要只是宽泛的将公司产品的相关介绍与功能描述出来,最好可以将软件架构+应用场景+解决痛点+负责模块与亮点功能进行系统的介绍。
对于自家产品与项目的了解,除了在日常的测试工作中进行累积之外,可以多与项目组内的其他角色多多进行沟通,软件架构与基础功能逻辑可以找开发、产品需求与业务可以找产品、软件的弊端与一些问题可以找售后。
通过多方位的了解与信息收集,将自身对于产品业务与功能的理解进行优化,可以最后的输出物简洁的表现在简历的项目经历内。
另外有条件的话可以与团队内的其他软件测试人员进行互相的练习或在某些内部分享会进行刻意练习。重要的在就如何通过多次练习来进行语言的组织与表达。
4、请讲讲工作中你遇到过哪些印象深刻的Bug
这一题博主也曾经向许多面试者询问过,但大家通常都会把注意力放在“印象深刻”这个点上,描述出来的内容也大多是某个Bug有多难解决,定位分析了好几天都没有进展,然后通过自己的不懈努力或灵光乍现,提供了线索让开发最终解决了问题。
那么该如何回答这个问题呢?其实以博主自身的感受来说,面试者所说的这个Bug是否极为复杂、困难重重,真的一点也不重要。
大家要知道共情这个东西是很难的,你想要告诉面试官的并不是你调查这个Bug有多辛苦,对不对?我们还是要搞清楚面试时,对方提问的本质大致是什么?他真正想要考察的是什么?
其实这个面试题的本质是想要考察你作为一个测试人员,在这个Bug的全生命周期中,做了哪些工作和具体的一些内容体现。
那为什么要是印象深刻的Bug呢?印象深记忆才会保持长久,也是借此希望面试者可以完整的说出这里面的来龙去脉。
那么拉回来继续说刚才的话题,对于测试人员来说日常的Bug定位能力相较于执行才更有价值,定位Bug其实是需要我们的测试人员拥有更加全面的技能广度。
同样是一份Bug单,一份是有准确调查线索与自我推断的,另一份则是只有现象描述与期望结果的,相信广大的开发同学也是更希望拿到的是第一份Bug单。
当然除了定位肯定是不够全面的,作为测试人员,一旦发现了Bug,那基本操作就是复现 → 分析 → 记录 → 跟踪,所以日常工作中Bug的全生命周期管理是每个测试人员都需要刻意练习的内容。
同样的,在开发同学进行Debug的时候,也可以适当的去旁观一下,看看他们是如何进行Bug定位的,平时多和开发同学进行交流,学习一些相关的定位技能。
当你能把这些简洁完整的描述出来,相信Bug是否复杂,是否惊艳也已经不是什么问题了。
5、如果给你一个XXX,你准备怎么测试
又是一个万年不变的面试题,虽然乍一听起来好像挺简单的,但在这题上翻车的面试者还真的不在少数。
其实这一题考察的是面试者对于被测对象的整体质量保障认知与业务快速上手能力。
无论这个XXX是任何物体,这里都有一个万能的公式去套,那就是从不同类型的测试活动去进行质量保障,这个也是遵循了软件测试的一贯理念。
举个例子,如果被测对象是一个电子秤,那么我们可以从功能性的角度去确认他的基础功能是否OK,从设计性的角度确认外观与规格是否符合需求说明,从性能的角度确认规定使用次数内是否功能是否OK,从安全性的角度确认基本的材质是否合格,切角设计是否安全,从易用性的角度确认液晶屏亮度与数字字体是否OK等等等等。
这里只提及了大致的回答思路,真正的面试过程中碰到了这题,我们需要在这思路的基础上对每个类型的测试项进行细分,可不能粗略的回答大概用什么测试类型去确认。
6、请说一下APP产品与WEB产品测试的区别
这题我们可以从以下几个方面去进行切入,首先从软件架构来说APP为C/S架构,WEB为B/S架构。
针对不同的架构形式,我们的测试方式与关注点也是不同,APP因为需要投放应用市场,迭代的速度与频率不会像WEB这样频繁,相反由于WEB的自身特性,无论是任何的代码改动都可以快速的通过前端代码发布进行迭代,也正因为这样,如果是在正式环境中进行回归,WEB产品的回归要求与时效性要远高于APP。
同时区别与其两者的软件架构,APP需要验证客户端侧的安装与升级、卸载等功能方面,而WEB则无需。
从兼容性方面来说,APP注重各类主流机型的适配,WEB注重各类浏览器的适配。性能方面的关注点也大不相同,APP需要对手机的功耗、网络流量、CPU、内存进行关注。
WEB则需要对页面响应速度、FCP、LCP、FID、 TTI等各类指标进行观察。至于弱网相关的测试其实更倾向于APP产品侧。
写在最后
PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
相关文章:
最详细的软件测试面试题整理与分析
前言 时光荏苒,一转眼到了2023年末尾,2024年也快要来了,人员就业市场以往的寒冬也貌似有了转暖的迹象,身边大批的就业人员也开始了紧张的备战之中。 近几周也和多家合作公司的HR进行了沟通,发现虽然岗位就业情况较去年…...
【Vue】浏览器安装vue插件
首先看一下安装之后的效果,再考虑一下要不要安装 安装完之后,打开浏览器控制台(ctrl shift j) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</t…...
人人都会Blazor —— 3.3 参数
参数最常见的使用,目的是使组件可以接收动态数据。 声明参数 参数使用 [Parameter] 特性的公共 C# 属性进行定义。 在下面的示例中,内置引用类型 (System.String) 和用户定义的引用类型 (PanelBody) 作为组件参数进行传递。 PanelBody.cs: public class PanelBody {publ…...
【数据结构初阶】栈和队列
栈和队列 1.栈1.1栈的概念和结构1.2栈的实现 2.队列2.1队列的概念和结构2.2队列的实现 1.栈 1.1栈的概念和结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。…...
MATLAB - text的两种使用方法
text小技巧 1. 常规使用(Method 1)2. 在显示画面的相对位置(Method 2)3. 举个例子 1. 常规使用(Method 1) text(x,y,txt)2. 在显示画面的相对位置(Method 2) text(string,‘ABC’,…...
ubuntu下配置qtcreator交叉编译环境
文章目录 安装交叉编译工具安装qt creator开发环境配置交叉编译示例demo参考 安装交叉编译工具 安装qt creator开发环境 1 官网 2 填写信息 3 下载 默认没有出现Qt5.15版本 WISONIC\80081001ub16-1001:~$ /opt/Qt/Tools/QtCreator/bin/qtcreator /opt/Qt/Tools/QtCreat…...
金风玉露一相逢|实在智能联手浪潮信息合力致新生成式AI产业生态
近日,实在智能正式加入浪潮信息元脑生态AIStore。 实在智能是一家基于AGI大模型超自动化技术,领跑人机协同时代的人工智能科技公司,以其自研垂直的“TARS(塔斯)大语言模型”技术、实在RPA Agent智能体数字员工产品和超…...
Design Guidelines for 100 Gbps
文章目录 Stratix V GT Transceiver ChannelsCFP2 Host Connector Assembly and PinoutStratix V GT to CFP2 Interface Layout DesignBoard Stack Up DimensionsExample Design Channel PerformanceSimulation Results for Stratix V GT to CFP2 Connector Layout Design Desi…...
苹果企业账号申请思考
苹果企业账号 好多年的企业账号想启用,但是没有找到入口,直接联系了一下苹果的技术支持。通过邮件联系,之后他们回电,吧啦吧啦问了一大堆关于企业账号的事情,他们对这个还挺关注的,主要是集中在是否是有必…...
【C/C++】素数专题
素数专题 1.判断素数模板2.求范围内的素数(101-200)3.判断素数与分解 1.判断素数模板 #include<stdio.h> #include<math.h>int prism(int n){if(n1) return 0;for(int i2;i<sqrt(n);i){if(n%i0) return 0;}return 1; }int main() {int n…...
Apple Vision Pro 开发机申请
申请地址: (免费租用形式) Developer Kit - visionOS - Apple Developer 上海Apple Lab 互动申请: View - Meet with Apple Experts - Apple Developer (需要完善的产品才能去测试哦) 它是如何工作的 我们将借给你一个Apple Vision Pro开发…...
NFS服务器搭建 配置nfs共享目录
一定要用二级目录,否则NFS坏了主机都启动不起来 一级目录是强制挂载,二级目录是动态挂载 nfs共享远程目录具体步骤: 服务器端配置: 1.安装NFS服务器软件 sudo apt-get install nfs-kernel-server # 安装 NFS服务器端 2.添加…...
springboot+bootstrap+java农业电商服务商城系统_30249
本农业电商服务系统是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了管理员、会员和商家这三者的需求。操作简单易懂,合理分析各个模块的功能,尽可能…...
【shell】脚本实现将开发机user1账户下的abc文件夹复制到user2~4账户下
1 主要内容 可以使用Shell脚本来实现将开发机(Linux)上user1账户下的abc文件夹复制到user2、user3和user4账户下。 #!/bin/bash# 数组赋值,目标用户列表 # target_users(user2 user3 user4) # 定义数组 target_users()# 生成user数字的数组…...
steamui.dll找不到指定模块,要怎么修复steamui.dll文件
当我们使用Steam进行游戏时,有时可能会面对一些令人无奈的技术问题。一种常见的问题是“找不到指定模块steamui.dll”,这可能是由于缺少文件、文件损坏或软件冲突等原因导致。但别担心,这篇文章将提供几种解决此问题的方法,并针对…...
鸿蒙原生应用/元服务开发-AGC分发如何上架HarmonyOS应用
一、上架整体流程 二、上架HarmonyOS应用 获取到HarmonyOS应用软件包后,开发者可将应用提交至AGC申请上架。上架成功后,用户即可在华为应用市场搜索获取开发者的HarmonyOS应用。 配置应用信息 1.登录AppGallery Connect,选择“我的应用”。…...
基于单片机仓库温湿度监测报警系统仿真设计
**单片机设计介绍,基于单片机仓库温湿度监测报警系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的仓库温湿度监测报警系统可以被设计成能够实时监测仓库内的温度和湿度,并根据预设…...
中文rlhf数据集50w条数据解析
中文rlhf数据集50w条数据解析 解析代码数据名代码解析 解析代码 import jieba from tqdm import tqdm import re import pandas as pd import numpy as npdef find_non_english_text(text):pattern re.compile(r[^a-zA-Z])return pattern.sub(, text)def find_chinese_text(t…...
解决解析PDF编码报错(以pdfminer为例):UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte xxx
解决方法 博主使用的是pdfminer解析PDF文档,这个解决方法是通用的,只需要使PDFParser传入的文件为二进制文件即可,示例程序: from pdfminer.pdfparser import PDFParserpdf_parser PDFParser(open("pdf文件.pdf", &q…...
chatGPT2:如何构建一个可以回答有关您网站问题的 AI 嵌入(embeddings)
感觉这个目前没有什么用,因为客户可以直接问通用chatGPT,实时了解你网站内的信息,除非你的网站chatGPT无法访问。 不过自动预订、买票等用嵌入还是挺有用的。 什么是嵌入? OpenAI的嵌入(embeddings)是一种…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
