【软件测试面试题】老鸟整理,一线大厂真实面试题汇总解析...


前言

1、面试类型

线上面试:

  • 视频面试
  • 电话面试

线下面试:

  • 公司面试

面试题:
①技术问题

  • 功能测试
  • 自动化测试
  • 性能测试
  • app自动化测试
  • ui自动化测试
  • 接口自动化测试

②人事问题

笔试题:

  • python基础问题
  • 操作系统Linux常用命令
  • 数据库相关的问题
  • 测试理论和方法
  • 笔试题主要的题目类型
  • 算法题目,选择题,判断题,问答题

2、近期面试问题梳理

1)前置接口变动了,会影响到后置的接口用例,比如后置有20条用例,你会怎么解决?

如果前置接口会影响到后置接口,首先确认前置接口的变动情况
然后根据变动的内容,分析其对后置接口的影响程度

如果变动较小,只需要对后置接口中受影响的部分进行修改即可

如果变动较大,可能需要重新设计和编写后置接口用例
尽快进行对应的调整和修改

2)ui自动化你们大多什么用什么方式去定位?当元素定位不到的时候该如何处理?

8大定位方式

id
class
xpath
css
link text
partial link text
tag name
name

元素没有加载完成。 等待 强制等待 隐式等待 显式等待 2、元素在iframe或者frame框架里面 切换子页面

元素不可用(disabled),只读(readonly),不可见(hidden,style=‘disply:none’) 对于有些WebDriver没有提供的方法或者无法实现的功能,WebDriver提供了driver.execute_script()方法来执行

JavaScript代码。 假设一个输入框可以通过id=’text’将其定位,却不能通过send_keys()输入文本内容,可以借助JavaScript代码来实现

text = "input text" driver.execute_script("var obj=document.getElementById('text'); obj.value' " + text + "';") 

页面跳转到新标签页,或弹出警告框,选择下拉框进行页面切换,以及警告框切换,下拉选择框切换

动态属性或者动态的DIV层

auto-id-E7NOva6B4ky0NzK7
auto-id-JaBOLRNXdMdgx29R

# xpath中提供了三个⾮常好的⽅法来为我们定位部分属性值

driver.find_element_by_xpath ("//div[contains(@id, 'auto-id')]")
driver.find_element_by_xpath ("//div[starts-with(@id, 'auto-id')]")
driver.find_element_by_xpath ("//div[ends-with(@id, 'auto-id)]")

contains(a, b) # 如果a中含有字符串b, 则返回true,否则返回false
starts-with(a, b) # 如果a是以字符串b开头, 返回true,否则返回false
ends-with(a, b) # 如果a是以字符串b结尾, 返回true,否则返回false

滚动条,加滚动

3)如果一个元素嵌套层级很深,你用xpath定位不到怎么处理?

尝试使用其他定位方式,比如使用css定位方式

如果使用css还是定位不到,那么可能需要找开发进行沟通修改html的结构

4)做自动化时有没有遇到什么严重的bug?怎么解决的?

具体例子说明:元素无法定位,页面加载超时,接口返回数据异常等等

解决方案:首先可以调查产生问题的原因,通过查看日志和错误信息,然后跟团队及开发进行沟通

一起分析解决问题,包括修改定位方式,增加等待时间,进行重试操作,排查接口问题等等

5)接口数据校检你们一般怎么做的?

校验返回的状态码;
校验返回的数据结构;
校验返回的数据内容;

6)比如像有的接口token这种会过期,你们接口参数中怎么处理的?

在自动化的脚本中加入逻辑,先判断token是否过期

如果token过期,那么可以在脚本中重新获取token再发送请求,替换原有的token参数

7)问测到的被测系统有哪些功能?

根据简历中自己负责的模块和核心业务进行描述即可

8)试过程中会考虑异常场景吗?

测试过程中,异常类场景是一定要考虑,因为异常场景测试往往会暴露出系统的薄弱环节

会通过分析需求和用户行为,确定可能会出现的异常情况,并且编写测试用用例进行测试

常见的异常场景:输入非法数据,输入超出范围的数据,网络异常等等

9)mock的完整有没有自己写过?

曾经在项目中使用过mock框架进行单元测试

用法和原理:在测试过程中,可以根据需要创建虚拟的对象或模拟对象
模拟被测对象的行为和返回结果,以便进行独立的单元测试

编写相关的测试用例,使用mock对象来验证预期的行为和结果

10)信贷系统地资金流向说说

项目中写了金融相关的项目,会问到具体的业务场景
资金来源;
贷款发放;
还款收回;
利息收回;
资金调拨;

11)有没有用代码写过一些工具包?

例如自动化测试中,编写过一些封装的工具包
用于处理浏览器的驱动初始化,同步等操作

接口测试中,编写用于处理接口请求和响应的数据处理,加密解密等操作
工具包主要核心作用:提高测试效率,提高代码的复用性

12)涉及到到第三方的系统怎么测的

采取对应的措施进行解决
模拟第三方系统:使用mock技术,模拟第三方系统的响应,以便进行独立的测试这种方法可以避免对第三方的

依赖,提高测试的可控性和稳定性
集成测试:如果允许与实际第三方进行集成测试,那么可以通过第三方系统直接接入,进行端对端的测试,这种方式可以验证整个系统与第三方系统的交互是否正常,但是需要注意测试环境和测试数据的准备

静态分析:对第三方系统的接口文档进行静态分析,了解其功能,参数,返回值等,编写对应的测试用例进行测试。

这种方式适用于无法直接与第三系统集成的情况

13)用户拿到贷款金额后都是哪些环节会涉及到消费空指针异常

贷款金额拿到手之后,涉及到的消费环境包括:
还款;
日常消费;
投资;

空指针异常:通过是由于代码中使用了空对象或者空引用所导致的
检查代码中的空引用:在使用对象之前,确保对象不能为空

使用判断条件:在执行可能引发空指针异常之前,进行判断,避免空引用的情况发生

使用空值处理工具类;

14)除了索引列没有建好数据结构外,还有什么原因可能导致慢查询

数据库查询数据比较慢的原因有哪些?
查询条件过于复杂;
数据库表设计不合理;
数据库服务器资源不足;
网络延迟;
数据库统计信息不准确;
琐竞争;
硬盘IO瓶颈;

15)针对慢查询问题,可以通过什么方式进行优化?

优化查询语句,尽量简化查询条件,减少关联表或子查询的使用

确保开始对数据库表设计合理,进行规范化和冗余字段优化
检查数据库的资源配置,确保足够的cpu,内存,和磁盘空间

检查网络保持正常满足延迟和带宽的要求
收集和更新数据的统计信息,以便数据库优化查询计划
调整琐策略,避免琐竞争和阻塞
检查硬盘性能,优化IO操作

16)pytest框架相关的问题点

如何跳过一条用例?

使用pytest框架中的mark标记装饰器的skip来跳过该用例
在用例上面写上跳过装饰器
有条件跳过
无条件跳过

Pytest前置、后置函数简单介绍下?

经常使用pytest中的fixture装饰器来定义前置和后置函数
前置操作:初始化数据,创建测试环境,查询数据库
后置操作:进行一些清理工作,比如关闭数据库连接,删除测试文件,关闭驱动

Pytest如何重新运行用例?

可以使用pytest插件repeat来实现用例重复执行
插件安装成功之后,可以在命令行添加-n 3参数,可以重复执行3次

Pytest中如何参数化?

pytest标记mark中提供了装饰器parameterize来实现参数化;
装饰器的参数为变量名和取值列表,用例会根据取列表自动化执行多次;
用例的形参以及实参需要写在参数化的括号里面;
实参使用的数据类型就是列表嵌套列表或者元组;
形参使用的是字符串类型;

简单描述Pytest夹具fixture()

经常使用pytest中的fixture装饰器来定义前置和后置函数

前置操作:初始化数据,创建测试环境,查询数据库
后置操作:进行一些清理工作,比如关闭数据库连接,删除测试文件,关闭驱动

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

尽管路途坎坷,但只要心怀信念,勇敢前行,追求自己的梦想,就能超越极限,创造奇迹,成为那个不断进步、永不放弃的无畏战士。

在人生的舞台上,坚持不懈地追求梦想,超越困难与挑战,才能收获真正的成长与成功。相信自己,勇往直前,你将书写属于自己的壮丽篇章。

不论遇到怎样的风雨和困难,只要心怀信念,坚持奋斗,每一次努力都离梦想更近一步。相信自己的能力,勇敢追逐,你将创造出属于自己的辉煌人生。

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/134877810