【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
在面试过程中,怎样才能更好的体现出自己的真实实力?(你的项目经验)
面试经常会拿下面 3 个问题开场:
1、请做个简短的自我介绍;
2、简单介绍一个自己参与度比较高的项目,以及自己在项目中的职责;
3、简单描述下你在项目中发现的最有成就感的 Bug;
软件测试面试题:https://www.bilibili.com/video/BV1Lq4y137aR/
请做个简短的自我介绍?
面试不是聊天,一问一答之间都是有目的的。
所以我建议的回答方式可以是这样:
面试官你好,我叫张三,xxxx 年毕业,最近的一份工作是在特斯拉公司,最近做的一个项目是特斯拉线圈的测试,我在项目中担任测试负责人的角色,本次换工作是因为公司业务调整,准备投入资源做超级高铁,砍掉了特斯拉线圈的业务,本次想找一个团队氛围好,技术上更有挑战的工作。
这个回答我比较满意的原因有这么几点:
主动告知一些必问的信息,比如公司和项目信息,比如换工作的原因,以及个人预期,这样做一方面减少了面试官来回问的时间,同时会让面试官感觉到这个人做事比较周到,或者说叫眼里有活。
虽然是回答,但是在主导话题,或者说制造话题,比如他提到了公司和项目,但是没有详细介绍自己作为测试负责人的角色职责,如果我作为面试官肯定会继续问下去。
能给面试官制造话题的面试者都是好的面试者(但是别把自己带沟里去了),如果在第一个问题上给面试官留下好的印象,对后面的沟通会非常有帮助。
如果是你,你会怎么回答?
介绍一个自己参与度比较高的项目,以及自己在项目中的职责?
如果第一个问题,面试者没有主动告知这些内容,第二个问题仍然跑不掉。
针对这个问题,有的同学回答的重点会有点跑偏。
比如会花费不少的时间去介绍自己项目的详细情况:
我最近有参与一个 App 的测试,这个 App 有首页模块、好友模块、核心传输模块和个人中心模块,并且又分为 IOS 端和 Android 端,Android 端又分国内版和海外版,我主要负责 Android 端国内版的测试。
看,说了这么一堆,只回答了项目信息的部分内容,我还是不知道你具体都做了啥,那我就需要再继续重复问一下这个问题。
注意面试过程中的重点是面试者本人,项目信息算是背景信息,主要信息应该是面试者做的事情,那么只需要把能衬托面试者能力的地方凸显出来就行了。
比如:
我最近参与一个 App 的测试,周期是两周,一共有 10 个开发和 4 个测试参与,我主要负责带领其他 3 个测试人员一起保证项目所有版本的质量。我的主要工作内容是包括需求评审、用例编写、测试分工以及自动化脚本编写。
这样的话,信息是不是一下就丰富多了?
多提供人员信息有助于面试官了解自己在团队中的位置,特别是关键角色的时候,一定重点突出一下,提供具体的工作内容是为了后面的沟通可以进一步展开。
比如这个话题中的需求评审、用例编写、自动化脚本编写都是我想展开的,还是那句话,能够给面试官制作话题的面试者都是好的面试者,不过要记住,不要给自己挖坑,比如上面提到了自动化脚本编写,结果自己只是改改配置参数而已,并没有啥技术含量,这样的话问下去会很失望的。
所以前面那句话可以完善下:主动把话题引导到自己的优势的面试者都是好的面试者。
如果是你,你会怎么回答?
简单描述下你在项目中发现的最有成就感的Bug?
这个问题几乎各个面经中都会提到,所以有很多面试者提前准备。
那先说下回答的注意事项:
要的是自己发现的,不是别人发现的;
同样的,不要把别人发现的,冠名到自己头上,很容易出破绽的;
最好不是常规用例执行中出现的 Bug;
先看一个例子:
面试人A:有一个项目新增了本地搜索功能,我把特殊字符作为输入时,程序发生了崩溃,然后和开发一起用 windbg 调试定位,最后发现是程序没有对异常进行处理。
面试官B:特殊字符输入不是常规用例就覆盖了么?这样的话任何人都能发现吧?
面试人A:恩,是用例执行时发现的。
面试官B:windbg 调试需要 pdb 吧,这个只有开发那有,所以实际就是开发给定位的呗?
面试人A:恩,开发定位的,我是提供了重现环境和 dump 文件。
前面说的关键点全部命中,常规用例能覆盖到的测试点,我们认为是大部分人都能考虑到的,既然这样,发现这样的 Bug,不应该是件很有成就感的事情吧?
再来看一个例子:
面试人C:因为一个需求,业务需要拦截注入的操作,开发提测后,确实满足了本次的需求场景,经过和开发沟通,了解到实现逻辑是处理了 API SetWinEventHook 的调用,但是经过研究发现 API SetWindowsHookExW 也可以达到同样的效果,但是开发没有处理,鉴于换个 API 就被绕过的成本太低,开发又新增了对这个 SetWindowsHookExW 的处理。
面试官B:怎么想到这个测试点的?
面试人C:Windows 系统 API 很多,而且繁复,所以碰到的时候都格外小心,之前也一直有查 MSDN 的习惯,所以在研究具体的实现方式时就发现了这个测试点,其他类似的情况还有很多。
面试官B:测试工具是开发帮忙写的么?
面试人C:不是,我自己写的。
这个例子中:
自己发现的问题;
不是常规用例覆盖的范围,搞清楚开发的详细逻辑,并做针对性的全面性测试,不是所有人都能做到;
还有一个重点是,问题定位过程完全是自己完成。
如果你是面试官,面对这两个面试者你会选谁?A还是C
好了,我要说的就这些了,等等,我好像听到有同学有问题。
上面这些道理我都知道,但是我确实没有拿的出手的东西可讲啊,怎么办?
还能怎么办,赶紧回去补呗。记住,做每个项目的过程,都是我们成长和收获的过程。
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
真正成功的人生,不在于成就的大小,而在于你是否努力地去实现自我,喊出自己的,走出属于自己的道路。
别抱怨,当目标成了遗憾,命运才给你改变自己的机会。往事既已过去,就应该学着笑对眼前。人生一世,如浮云流水,过往是覆水难收的我们有的只是现在。
人生的路有多宽,因人而异,有人的人生路宽阔而平坦,那绝大多是因为此人在成长的过程中,足够的努力和付出了。
相关文章:
【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 在面试过程中&#…...
tensorflow lite简介-移动设备端机器学习
TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型,以便实现设备端机器学习。 支持多平台 支持多种平台,涵盖 Android 和 iOS 设备、嵌入式 Linux 和微控制器。 原理/流程 工作原理或者使用流程就是上面…...
Node.js常用知识
1、什么是 Node.js 【】Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。浏览器是 js 的前端运行环境,node.js 是 js 的后端运行环境。他们都有 V8 引擎,有各自的内置 API 2、fs 文件系统模块 【】fs 模块是 Node.js 官方提供的、用来操作文件…...
踩坑:maven打包失败的解决方式总结
Maven打包失败原因总结如下: 失败原因1:无法使用spring-boot-maven-plugin插件 使用spring-boot-maven-plugin插件可以创建一个可执行的JAR应用程序,前提是应用程序的parent为spring-boot-starter-parent。 需要添加parent的包spring-boot…...
【C++】位图
文章目录位图概念位图操作位图代码位图应用位图概念 boss直接登场: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中❓ 40亿个整数,大概就是16GB。40亿个字节大概就是4GB。 1Byt…...
蓝桥杯-考勤刷卡
蓝桥杯-考勤刷卡1、问题描述2、解题思路3、代码实现1、问题描述 小蓝负责一个公司的考勤系统, 他每天都需要根据员工刷卡的情况来确定 每个员工是否到岗。 当员工刷卡时, 会在后台留下一条记录, 包括刷卡的时间和员工编号, 只 要在一天中员工刷过一次卡, 就认为他到岗了。 现在…...
如何利用站内推广和站外推广提高转化率?
在如今的网络时代,拥有一个好的网站是非常重要的。但是,光有一个好的网站是不够的,为了达到我们的目标,需要不断地提高网站的转化率。而在实现这个目标的过程中,站内推广和站外推广是两个非常关键的因素。 站内推广是…...
Java多线程(三)——线程池及定时器
线程池就是一个可以复用线程的技术。前面三种多线程方法就是在用户发起一个线程请求就创建一个新线程来处理,下次新任务来了又要创建新线程,而创建新线程的开销是很大的,这样会严重影响系统的性能。线程池就相当于预先创建好几个线程…...
Linux命令行安装Oracle19c教程和踩坑经验
安装 下载 从 Oracle官方下载地址 需要的版本,本次安装是在Linux上使用yum安装,因此下载的是RPM。另外,需要说明的是,Oracle加了锁的下载需要登录用户才能安装,而用户是可以免费注册的,这里不做过多说明。 …...
Linux常用命令等
目录 1.Linux常用命令 (1)系统命令 (2)文件操作命令 2.vim编辑器 3.linux系统中,软件安装 (1) rpm 安装,RedHat Package Manager (2)yum 安装 (3)源代码编译安装 1.Linux常用命令 Linux命令是非常多的,对于像嵌入式开发工程师,运维工程师需要掌握的命令是非常多的.对于…...
CEC2014:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2014(提供MATLAB代码
一、鱼鹰优化算法简介 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...
MyBatis底层原理【源码运行时序图】
MyBatis初始化流程🛷 以下代码为例🎉 🎇可对应源码阅读 MyBatis初始化流程✨ #mermaid-svg-yoG1e8Dnp3UIAOUW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yoG1e8Dnp3UIAOU…...
k8s 系列之 CoreDNS 解读
k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 在 Kubernetes 中,服务发现有几…...
从测试鸡蛋硬度到跳表的设计
我回忆起六七年前的一道题鸡蛋掉落问题,有幸在leetCode上找到题目了 原题是2枚鸡蛋 leetCode有拓展,k枚鸡蛋 具体的思路是这样的。 以2枚鸡蛋验证100层为例 不能直接二分查找,因为你在50层测试时,如果直接鸡蛋碎了,那…...
3D立体视觉成像原理介绍【一 】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言什么是基线?基线是如何影响3D图像质量激光三角测量飞行时间结构光相机时间编码结构光前言 本文将介绍3D立体视觉的成像原理,包括【激光三…...
CEC2021:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2021(提供MATLAB代码
一、鱼鹰优化算法简介 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...
0301_对应的南京比特物联网
0301_对应的南京比特物联网目录概述需求:设计思路实现思路分析1.流程拓展实现性能参数测试:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better …...
钡铼技术BL302 ARM工控机QT图形化界面开发的实践
QT是一种跨平台的应用程序框架,用于开发图形用户界面(GUI)、网络应用程序和嵌入式应用程序。QT提供了丰富的GUI组件和工具,使开发人员能够轻松地创建专业级别的应用程序。QT使用C编写,支持多种操作系统,包括Windows、Linux、macOS…...
Python try except异常处理详解(入门必读)
Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示: try:可能产生异常的代码块 except [ (Error1, Error2, ... ) [as e] ]:处理异常的代码块1 except [ (Error3, Error4, ... ) [as e] ]:处理异常的代码块2 except [Exc…...
信息系统基本知识(三)软件工程
1.4 软件工程 定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程即上述方法的研究 软件工程由方法、工具和过程三个部分组成 1.4.1 需求分析 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。 需求层次 业务…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
