【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......

news2024/12/26 13:03:59

目录:导读

    • 前言
    • 一、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性能测试

请添加图片描述

九、总结(尾部小惊喜)

真正成功的人生,不在于成就的大小,而在于你是否努力地去实现自我,喊出自己的,走出属于自己的道路。

别抱怨,当目标成了遗憾,命运才给你改变自己的机会。往事既已过去,就应该学着笑对眼前。人生一世,如浮云流水,过往是覆水难收的我们有的只是现在。

人生的路有多宽,因人而异,有人的人生路宽阔而平坦,那绝大多是因为此人在成长的过程中,足够的努力和付出了。

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

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

相关文章

Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作

场景 Sqlite数据库 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。 它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不…

day03

文章目录一、盒子模型1. 基础概念2. 外边距3. 边框1) 边框实现2) 单边框设置3) 网页三角标制作4) 圆角边框5) 轮廓线2. 内边距3. 盒阴影4. 盒模型概念5. 标签最终尺寸的计算5. 标签最终尺寸的计算一、盒子模型 1. 基础概念 ​ 盒子模型分别由外边距、边框、内边距和标签内容组…

【Datawhale图机器学习】图神经网络的表示能力

图神经网络的表示能力 GNN理论 GNN有多强大 已经提出了许多GNN模型(例如,GCN、GAT、GraphSAGE、设计空间)。这些GNN模型的表达能力什么? 表达、学习、区分、拟合如何设计一个最具表现力的GNN模型 一个GNN层 多个GNN层 GNN…

在小公司工作3年,从事软件测试6年了,才发现自己还是处于“初级“水平,是不是该放弃....

金三银四面试季,相信大家都想好好把握住这次机会拿到心仪的offer,今天就给大家分享我面试经历及总结,文章最后我还会分享一些自己的面试经验还有面试宝典,希望对程序媛们和程序猿们都能有所帮助~ 市场分析 现在的市场环境确实不大…

基本系统性质

系统的记忆特性 定义:对任意的输入信号,如果每一个时刻系统的输出信号值仅取决于该时刻的输入信号值,这个系统就是无记忆系统 接下来请看一看下面那些是记忆系统,哪些是无记忆系统。 非常简单,只有第一个和最后一个是…

LeetCode202 快乐数

题目: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果…

vue 3.0组件(下)

文章目录前言:一,透传属性和事件1. 如何“透传属性和事件”2.如何禁止“透传属性和事件”3.多根元素的“透传属性和事件”4. 访问“透传属性和事件”二,插槽1. 什么是插槽2. 具名插槽3. 作用域插槽三,单文件组件CSS功能1. 组件作用…

css实现音乐播放器页面 · 笔记

效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

k8s 系列之 CoreDNS 解读

k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后&#xff0c;再负载均衡分发到 service 后端的各个 pod 服务中&#xff0c;如果没有 DNS 解析&#xff0c;则无法查到各个服务对应的 service 服务 在 Kubernetes 中&#xff0c;服务发现有几…

都2023年还不知道Java8如何优雅简化代码就落后了

1、使用 Stream 简化集合操作 Java8 Stream流操作总结_出世&入世的博客-CSDN博客 2、使用 Optional 简化判空逻辑 空指针异常&#xff08;NullPointerExceptions&#xff09;是 Java 最常见的异常之一&#xff0c;一直以来都困扰着 Java 程序员。一方面&#xff0c;程序…

springboot集成canal 实现mysql增量同步mongodb

一、canal官网https://kgithub.com/alibaba/canal/二、下载地址https://kgithub.com/alibaba/canal/releases三、细节1.6版本有bug&#xff08;如果只是部署deployer&#xff0c;那没问题&#xff0c;如果你想部署admin模块来监控&#xff0c;那就会报错&#xff1a;java.nio.B…

运算方法和运算电路

文章目录运算方法和运算电路基本运算部件定点数的移位运算算术移位逻辑移位循环移位定点数的加减运算原码的加减法补码的加减法原码的乘法补码的乘法原码的除法补码的除法符号扩展大小端和内存对齐刷题小结最后运算方法和运算电路 基本运算部件 运算器一般包含这么几部分&…

7 线性回归及Python实现

1 统计指标 随机变量XXX的理论平均值称为期望: μE(X)\mu E(X)μE(X)但现实中通常不知道μ\muμ, 因此使用已知样本来获取均值 X‾1n∑i1nXi.\overline{X} \frac{1}{n} \sum_{i 1}^n X_i. Xn1​i1∑n​Xi​.方差variance定义为&#xff1a; σ2E(∣X−μ∣2).\sigma^2 E(|…

STM32单片机的FLASH和RAM

STM32内置有Flash和RAM&#xff08;而RAM分为SRAM和DRAM&#xff0c;STM32内为SRAM&#xff09;&#xff0c;硬件上他们是不同的设备存储器、属于两个器件&#xff0c;但这两个存储器的寄存器输入输出端口被组织在同一个虚拟线性地址空间内。 MDK预处理、编译、汇编、链接后编…

月薪7k和月薪27k的测试人都有哪些区别?掌握这些,领导都要高看你...

了解软件测试这行的人都清楚&#xff0c;功能测试的天花板可能也就15k左右&#xff0c;而自动化的起点就在15k左右&#xff0c;当然两个岗位需要掌握的技能肯定是不一样的。 如果刚入门学习完软件测试&#xff0c;那么基本薪资会在7-8k左右&#xff0c;这个薪资不太高主要是因…

【存储】RAID0、RAID1、RAID3、RAID5、RAID6、混合RAID10、混合RAID50

存储RAID基本概念RAID数据组织形式RAID数据保护方式常用RAID级别与分类标准创建RAID组成员盘要求热备盘&#xff08;Hot Spare&#xff09;RAID 0的工作原理RAID 0的数据写入RAID 0的数据读取RAID 1的工作原理RAID 1的数据写入RAID 1的数据读取RAID 3的工作原理RAID 3的数据写入…

数据Python 异常处理

python标准异常异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基…

python学习之定制发送带附件的电子邮件

Python SMTP发送邮件 SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则&#xff0c;由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封…

数据结构与算法基础(王卓)(12):队列的定义及其基础操作(解决假上溢的方法,循环队列解决队满时判断方法,链队和循环队列的初始化等)

循环队列&#xff1a; 解决假上溢的方法&#xff1a;引入循环队列&#xff08;判断是否溢出&#xff09; 将入队操作由&#xff1a; base[rear]x; rear; 准确的来说&#xff0c;是&#xff1a; Q.base[Q.rear]x; Q.rear; 改为 Q.base[Q.rear]x; Q.rear(Q.rear1)% MAXQSIZ…

摘录一下Python列表和元组的学习笔记

1 基础概念 列表一个值&#xff0c;列表值指的是列表本身&#xff0c;而不是列表中的内容 列表用[]表示 列表中的内容称为 表项 len()函数可以显示列表中表项的个数&#xff0c;比如下面这个例子 spam [cat, bat, dog, rat]print(len(spam))列表的范围选取中&#xff0c;比…