2022年测试工程师面试题大合集「 功能测试,自动化测试等」300道题

测试面试

  • 1 测试理论, 13道题
  • 2 工作中的测试思维, 56道题
  • 3 工作中的测试思维,进阶, 39道题
      • 定位问题
      • 用例设计
  • 4 自动化, 53道题
      • UI自动化
      • 接口自动化
      • fixture
  • 5 Linux, 21道题
  • 6 数据库, 11道题
  • 7 逻辑题, 17道题
  • 8 计算机网络, 27道题
    • 【Fiddler】
  • 9 Python, 41道题
  • 10 Docker, 8道题
  • 其他, 8道题

金九银十又来啦!

雁卿之前面试过10多家公司,金三银四也拿到了自己满意的offer,。

招聘黄金季,整理了一些测试岗位常见面试问题,数了一下,接近300题,分享给大家~
// 测试理论 

1 测试理论, 13道题

1 可以讲解一下你们部门的测试流程吗?
1 测试计划会包含哪些内容?
1 测试报告包括哪些内容 ?
1 你对回归测试,是怎么理解的?可以介绍一下吗?
1 测试用例设计的方法,你用到过哪些?举例子说明一下,等价类,边界值等方法是怎么用的?

1 讲一下测试用例需要包含的要素?
1 测试用例的设计考虑哪些?
1 举一个实际项目的用例设计,你考虑了哪些内容

1 你会通过什么方式,快速熟悉新产品?
1 给你一个需求,你怎样保证它的覆盖率?
1 如何保障用例的覆盖率,用什么方法得出?
1 用过什么代码覆盖率工具吗?
1 开发的流程,是敏捷模式吗?

// 工作中的测试思维

2 工作中的测试思维, 56道题

2 介绍目前所参与、负责的项目,担任的角色和做出的成果。
2 在项目中,或者测试过程中碰到了哪些问题,是怎么分析,怎么推进,怎么解决的?最后总结出了哪些经验?
2 按照STAR法则,介绍参与或者负责的一个项目,发生背景,需要完成的目标/解决的事情,怎么去推动,最后有什么样的成果?

2 需求评审和用例评审,分别有哪些人参与?主要做些什么?
2 项目中,有没有需求评审,需求评审会议提出过什么建议吗?
2 你能不能分享一个你注意到不合理的业务需求的例子,你说服你的产品经理成功地改变它
2 需求不明确,通过哪些方式解决?

2 工作中体会到哪些测试的重点和难点?
2 平时在项目中,碰到重大bug会做分析吗 ?
2 有哪个Bug让你觉得印象深刻吗?
2 Bug的根源是什么?开发是通过什么方式解决了这个bug?
2 怎么排查是前端问题还是后端问题或者数据问题?

2 你在测试中是如何挖掘更多的问题的?
2 关闭bug之前会做哪些验证 ?

2 如果web端报系统错误,你会怎么做?

2 时间快到了,但还有很多测试用例未测,你会怎么做?
2 你如何处理线上发生的问题?
2 对于上线后的漏测点怎么处理 ?

2 如果开发要求你测试他刚刚完成的功能,你会怎么处理?
2 你如何保证开发提测时的代码质量(代码走查,开发自测,冒烟测试)
2 开发认为不是bug的问题,怎么处理 ?
2 开发和产品压榨测试时间如何处理?

2 你觉得你当前的测试流程存在什么问题?你有提出过什么改进方法吗?取得的效果怎么样?具体举一个例子
2 你觉得在测试过程中哪些有对软件测试质量的影响事件?你是怎样做到改善的?

2 你们测试系统的技术架构是怎样的?它们是怎样通信协作的?用了什么编程语言?

2 如果你的同事有遇到问题发脾气(不配合),你会怎样处理?给一个具体的例子
2 manager分配的任务,跟测试不相关,你会怎么做?
2 不同的利益相关人分配任务,比如项目经理安排任务,很紧急。但是自己本来也已经接了测试经理的很多工作,怎么处理?

2 如果让你一个人接手新项目,你会怎样着手准备?

2 工作生活中,有哪些让你感觉自豪的事情 ?
2 最近在学哪些新知识、技术?是通过什么方式学习的?

2 你的职业规划是怎么样的? 对自己有什么样的期望和要求?

2 找工作,对比不同公司、岗位的时候,你最关心的因素有哪些?

2 怎么看待系统测试,自动化测试和测试开发
2 对于管理岗位,有什么认识,个人看法是怎么样的?
2 如果让你来做测试管理,你会怎么做?
2 假设让你带新人,你怎样确定他学会了你所教的?
2 有没有带新人做项目的经历,分享一下

2 对自己的要求是怎样的?
2 两份工作经验,体会到最大的困难分别是什么?
2 怎么克服上述难点,具体举例
2 工作技术上的难点克服,举例
2 为什么会拿对这个技术问题印象深刻

2 公司招聘这个岗位,你觉得你的优势是什么?

2 你从之前的工作经验中学到了什么?这几年的经验有什么技能亮点和优势,介绍一下
2 这几年工作经验给自己带来哪些收获,成长?
2 你觉得你跟一流的软件测试工程师有哪些差距?
2 对于测试岗位,你的优点和缺点是什么?
2 你认为优秀测试员,需要具备哪些素质?
2 有哪些长期坚持在做的事情?
2 假如你退休后回顾人生,你会希望自己有哪些成绩值得你这辈子骄傲和自豪?

// 工作中的测试思维,进阶

3 工作中的测试思维,进阶, 39道题

3 app测试和web测试的区别
3 app测试里面有没有开展专项测试,怎么做的?
3 幂等性是什么?怎么测试?
3 兼容性测些什么? 不同的屏幕分辨率,尺寸大小,对APP测试有什么影响

3 非功能性测试测了哪些?
3 服务端测试有没有测过?
3 AB测试有了解吗?
3 数据埋点,有没有接触过?

3 手机专项测试,你说一下你们涉及了哪些,怎样做的,用了哪些工具(手机电量,流量,cpu, gpu怎么看?) 你觉得工具准确吗?有写代码去拿这些数据吗?
3 adb命令熟悉吗? adb monkey去某一个app批量执行任务,用哪个参数-p. 那monkey也可以调用service吗?不能

定位问题

3 如果出现更新你的头像后,联系表中其他人的头像都更新了,你怎样去定位问题?出于安全考虑,你不能去查看数据库。抓包只返回200

3 如果我积分兑换成功了,前端没有显示扣除记录,后端也没有,怎样定位问题? 数据库没有这个记录;服务器的日志该怎么看?

3 如果微信收款方没有收到款,怎么排查?

3 如何通过日志分析是程序问题还是测试环境问题?

3 访问网页速度慢,可能有哪些原因?

用例设计

3 给出一个场景,你怎么设计测试用例?
注意:需要从功能,UI, 性能,安全等角度分类说明。

比如:
登录的测试用例设计点

微信扫码支付的测试场景

抖音直播如何测试

直播带货的部分(抖音),测试用例设计

微信群聊的测试用例

上传图片和导出测试点梳理

微信朋友圈点赞,测试用例设计

微信收付款怎么设计测试用例?

有一个秒杀活动,在活动期间,价格比平时低,每个id限量购买,你会考虑哪些方面?

对微信聊天的传输文件设计测试用例

微信消息列表设计测试用例

扫二维码可以领红包,红包可以提现到银行卡。根据这两个功能设计用例

有一个输入框可以输入字符串,后端解析,会返回包含a 的个数 。对这个输入框设计用例

下单到支付的流程,你关注哪些测试点?请设计一下测试用例

如何测试电梯/售货机/智能音箱?

给一个微信加入群的二维码,以及扫描二维码后那个加入群聊页面,就这两个页面,不考虑二维码怎么生成,让你设计测试用例

两个系统同步如何设计测试用例?

根据抽奖功能,设计测试用例。
假如,需要符合条件的才能参与抽奖,但是现在报错,怎么分析定位问题。

// 自动化

4 自动化, 53道题

UI自动化

4 工作中,你的功能测试与自动化测试的占比是怎么样的?
4 你们怎样管理自动化测试用例和手工测试用例
4 对手动测试和自动化测试的看法.
4 自动化测试用例是怎么选择的?(选择标准)

4 介绍一下UI自动化的实现,自动化框架及流程。
4 如果让你搭建自动化测试框架,你觉得应该有哪些部分?
4 自动化测试结果的准确性和可靠性怎么样,从哪些方面判断的?
4 关键字驱动和数据驱动有什么区别,说说你的看法。
4 自动化用例,第一条跑失败了,第二条怎么办?
4 你们的自动化测试用例的覆盖率标准是多少?怎样衡量的?
4 有多少个自动化测试用例?批量执行用例怎样去做?

4 selenium的原理是什么?
4 selenium的通信协议是什么?
4 自动化定位元素用什么方式 css selector和xpath用哪个,哪个会比较快?为什么?
4 selenium 的元素定位方式有哪些?
4 不可见的元素,怎么定位?
4 selenium 的用例,怎么提升运行效率?

4 知道测试分层吗?
4 搭建 web UI自动化的环境,你是做了哪些工作?

4 你是怎样学习自动化的?
4 如果是希望往自动化方面发展,你会怎么做,采取什么行动?
4 项目上业务多,没有时间让你做自动化的话,会怎么办?

4 浏览器上有2个页面,第一个页面是基于登录状态才能打开的,点击第一个页面中的一个按钮,跳转到第二个,在第二个页面中完成新建动作。 根据这个流程,你会怎么做UI 自动化实现?

接口自动化

4 接口自动化的实现是怎么样的?用了什么语言,具体的实现方式介绍一下
4 接口测试工具jmeter你了解哪些?
4 mock 怎么做?什么时候做?怎样做?
4 测接口的关键点有哪些?
4 接口测试,你会关注哪些点,怎么开展接口测试工作?

4 用python和工具jmeter/postman做接口测试,有什么区别?
4 postman里面参数有多少种类型
4 JMeter怎样做参数化管理
4 你们通常怎样设计接口自动化用例?
4 接口自动化,接口有新增字段时如何处理 ?

4 登录有登录数据,token, 变化的图形验证码,基本其他所有接口都需要登录后这个步骤,你们自动化这么设计这个部分?
4 你们的api框架有做成界面化吗?那说一下你们的框架

4 通过request发送请求时有param, json, form data。 说一下它们的区别
4 python用requests库的时候,get和post 用什么参数传递请求体?
4 接口自动化里面用的pytest 参数化,是怎么实现的?简单写一下并讲解
4 接口自动化的数据清理工作是怎么做的?

4 多接口依赖怎么处理?比如B接口需要用到A接口的返回值,
4 前置条件怎么处理?(有些用例需要调用前面接口返回的user id, 但是有些又不需要,那么如何处理)

fixture

4 用过fixture吗,它的作用是什么
4 pytest有哪些断言方式?

4 pytest 的fixture,3 种调用方式分别是什么?
4 如果要调用多个fixture, 应该怎么做?
4 多接口有依赖的情况,比如B接口需要用到A接口的返回值,自动化测试过程中,怎么设计?
4 如果要调用多个fixture,应该怎么做?装饰器嵌套的方式,可以实现吗?

4 pytest如何指定只执行哪几个用例 mark

4 fixture的作用范围
4 fixture如何实现参数化,如何传参给测试用例?

4 pytest实现fixture和parametrize的原理(框架是怎么处理上述问题的),怎么实现的 ?
4 pytest实现fixture的原理是怎么样的 ?

// Linux

5 Linux, 21道题

5 你常用的linux命令有哪些
5 怎样查看linux中某个进程的信息?ps
5 linux查看端口,内存命令
5 linux下查看有哪些tcp请求?

5 linux的top命令讲解一下可以查看到哪些信息
5 linux 查看硬盘的命令df
5 linux切换用户用什么命令su
5 讲解一下 Linux的 sed 和 awk 命令

5 怎么查看文件的前100行 ?
5 linux怎么替换文件中的某个值。sed ‘s/old/new/g’ a.txt
5 linux命令,怎么找出最后五行(tail)

5 那假设我要查找某个文件里面的一些内容用哪个命令?
5 找出linux一个日志文件的最后五行,并且包含error的信息
5 怎么查看实时更新的日志文件,tail -f
5 more和less的区别
5 linux怎么查看文件大小

5 如何建立软连接?
5 终止进程用什么命令?带什么参数?

5 Linux的find 和 grep 命令的使用

5 Linux的使用情况是怎么样的,写过shell脚本编程吗?
5 怎么改Linux下的环境变量?export

// 数据库

6 数据库, 11道题

6 MySQL 数据库有一张成绩表,表里面包含name, lesson, score,三个字段,分别表示学生的姓名,课程名,该学生该门课的分数。请查询出有2科及以上达到70分的同学。
select s.name from student s where s.score >= 70 group by name having count(name) >= 2;

6 数据库表,有学生id,姓名,性别, 科目,成绩,怎么找出平均分大于85的男生
6 数据库:找出每科成绩大于80的学生学号,数据库字段 no. subject. score
给你一张表,里面有课程与学生这两个字段,返回每门课程被多少学生选中(count, group by)

6 数据库返回ID 降序排列的前5名
6 数据库查询怎么展示第200条到第300条的数据?
6 左连接和内连接的区别
6 数据库查询后,只需要展示一条结果,用什么关键词?

6 数据库的索引了解吗?
6 数据库死锁说一下

// 数据库

7 逻辑题, 17道题

7 24小时,分针和时针重合多少次

7 给你7个质量相等的小球,1个大球,1个天平。使用天平两次,找到大球。 (第一次左3右3)

7 有5L 和6L杯子各一个,水是不限量的,怎么倒出3L水来?

7 25匹马,5个赛道,找出最快的三匹马,需要比赛几次。

7 盒子里拿球,每个人拿1-3个,拿到最后一批球的人赢,怎么设计规则,让自己的赢面大。

7 小区有200条狗,有不确定数量的疯狗,自己看不到自己的是疯狗,但是可以看到其余的199条狗的状态是正常还是疯狗,一旦发现就会开枪打死,不考虑怜悯心。第一天没有枪声,第二天没有枪声,第三天有好几声枪声,请问有几条疯狗?

7 有26杯水,其中有一杯是糖水,用多少次能找到那一杯糖水?

7 烧一根不均匀的绳子, 从头烧到尾是要1个小时。现在有若干条材质相同的绳子。 问如何用烧绳的方法来计时一个小时15分钟.

7 一个盒子里面有若干个球,你和对方共两个人,每个人每次可以从盒子里面拿 1~3 个球,谁能拿到最后一批球,谁就赢。请问你需要怎么设计规则,让自己的赢面更大。

7 一副牌 52 张,告诉瞎子里面有 10 张牌是正面朝上的, 要求瞎子把这 52 张牌分成两堆, 并且每堆牌正面朝上的张数相同,可任意翻动牌,但是一直不可以看。

7 1000瓶药,有一些可能有毒,用老鼠来喝药,喝到有毒的一周就死。一周内至少需要多少只老鼠才能检测到哪些有毒?

7 13个石头,有一个比较重其他都一样,用天平测量最多需要几次才能测出重的那个?

7 有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是错的 , 你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。

7 在一个夜晚,同时有 4 人需要过一桥,一次最多只能通过两个人,且只有一只手电筒,而且每人的速度不同。A,B,C,D 需要时间分别为:1,2,5,10分钟。问:在 17 分钟内这四个人怎么过桥?

7 你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分?
7 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座 100 层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?

7 有 5 个海盗抢到了 100 颗宝石,每一颗都一样的大小和价值连城,他们决定这样分:

  1. 抽签决定自己的号码(1,2,3,4,5)
  2. 首先,由 1 号提出分配方案,然后大家 5 人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
  3. 如果 1 号死后,再由 2 号提出分配方案,然后大家 4 人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
  4. 以次类推… 条件:1. 每个海盗都是极其聪明的人 2. 每个海盗都是非常残忍的人 3. 每个海盗都能明确的判断得失然后作出明智的选择
    问题:第一个海盗提出怎样的分配方案才能够使自己的收益最大化
// 计算机网络

8 计算机网络, 27道题

8 TCP 与UDP 的区别。
8 TCP 为什么可靠?
8 TCP是全双工的还是半双工的 ?
8 用腾讯视频播放的视频是TCP 还是UDP?
8 DNS域名解析过程讲一下
8 DNS使用TCP还是UDP协议?

8 介绍一下cookie, session 和token的区别

8 HTTP 协议 token 为什么要放在cookie中
8 HTTP 和 TCP 的区别
8 介绍下三次握手和四次挥手,为什么是3次和4次呢?两次不行吗?
8 什么是长连接?

8 输入url后到加载网页的整个过程是怎么样的?
8 浏览器加载页面,页面渲染失败的可能原因有什么?

8 GET 和 POST 的区别。
8 HTTP请求有哪些类型?Get, Post, Put, DELETE…
8 HTTP请求有哪些请求头?
8 介绍几种HTTP状态码
8 302状态码是什么意思?跟301状态码有什么区别?什么情况下出现304状态码?
8 1xx, 2xx, 304, 400, 501 不同的数字开头的状态码代表什么意思?

8 子网掩码了解过吗,它的作用是什么,怎么求网段,子网有多少位二进制

【Fiddler】

8 Fiddler打断点的方式有哪些?
8 怎么用Fiddler修改响应返回的内容
8 Fiddler怎么抓app的包?
8 Fiddler怎么抓HTTPS的请求?
8 怎么用fiddler模拟从不同的Ip发出请求
8 Fiddler 模拟弱网

小题:
https://www.vyuan8.com/tc/plugin.php?id=vyuan_xiangqin&mod=xqindex&pid=10002399&nginx=transfer

这个链接不做处理的话只能用微信浏览器打开,现在想用其他浏览器打开,要怎么操作?
提示:先了解一下指定浏览器打开的工作原理,然后再做对应的处理
//图片里是用Chrome打开的
(来自软件测试圈知识星球:伍个一)

// python

9 Python, 41道题

9 python的常用的数据结构有哪些?

9 python生成随机数 random(0,10)可以生成包含0~10的随机数吗?
9 python反转列表,reverse

9 python中有没有用过装饰器、用装饰器的场景,理解装饰器中的逻辑吗?
9 python的匿名函数是什么?
9 python参数,一个*和两个**的意思

9 python列表和元组的区别
9 python定义一个长度为一的列表和数组
9 python怎么让列表去重(set)
9 两个列表,list1 = [1,2,3], list2= [4,5,6], 怎么扩展让list1=[1,2,3,4,5,6,] list1.extend(list2)
9 怎么取出两个列表不一样的内容 ?
9 列表用下标可以改变赋值,字符串可以吗 ?
9 想要改变字符串的某一个元素应该怎么办?(replace)
9 怎样在字符串前面增加元素,拼接 或者转列表insert

9 正则表达式限制只能输入5个数字, 应该怎么写正则表达式语句?

9 json跟字典的区别,
9 字典跟列表的区别,
9 字典怎么遍历 key, value,如果同时要遍历key 和value 呢?
9 字典底层的数据结构是什么?

9 python的迭代器和生成器的区别
9 讲一下python的深拷贝和浅拷贝
9 python 的 GIL 锁
9 python怎么获取一个对象的所有属性? dir()

9 说一下你用到的python常用的标准库
9 python装饰器如何实现传参?
9 你是怎样学习python的?

9 s1=ABOCABD s2=AB 统计s2 在s1中出现的次数和所有位置
9 python输出今天是今年的哪一天(讲思维)
9 让你设计一个装饰器,打印测试用例执行日志,你会怎么设计
9 线程和进程在python中的应用有接触过吗?
9 有没有用python 做一些工具或者脚本实现?

9 链表熟悉吗
9 堆栈有了解吗?
9 你知道哪些算法?
9 队列和堆栈的区别
9 链表和数组的区别

手撕代码:一个数组,求出数组中哪个元素重复次数最多
手撕代码:冒泡排序,斐波那契序列
手撕代码: python 写数字反转脚本,比如123转成321, -123 转成-321.
手撕代码:对比两个json不一样的地方
讲解一下选择排序和快速排序

// docker

10 Docker, 8道题

10 怎样理解容器?容器跟虚拟机有什么区别
10 docker 的镜像和容器是什么?
10 进入docker容器的命令
10 拷贝容器之间的文件
10 docker对测试有什么帮助?
10 docker容器挂载是什么?
10 你对docker的应用是怎么样的?
10 讲一下,docer的数据卷,具名挂载和匿名挂载。

// redis

其他, 8道题

11 redis 的数据类型
11 redis的分布式和高可用是怎么做到的?
11 描述下redis, Nginx, app 到数据库之间的数据交互流程。
11 用过flask,django框架吗,它们的区别是什么
11 用flask实现消息队列打印日志,你会怎么设计
11 微服务有了解吗?
11 rabbitMQ有了解吗?
11 jenkins用来部署环境,怎么做?

整理记录不易,有点收获的话,给雁卿点1个赞!

你可能感兴趣的