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

本文主要是介绍【软件测试面试题】老鸟整理,一线大厂真实面试题汇总解析...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

这篇关于【软件测试面试题】老鸟整理,一线大厂真实面试题汇总解析...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/470477

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

利用Python和C++解析gltf文件的示例详解

《利用Python和C++解析gltf文件的示例详解》gltf,全称是GLTransmissionFormat,是一种开放的3D文件格式,Python和C++是两个非常强大的工具,下面我们就来看看如何... 目录什么是gltf文件选择语言的原因安装必要的库解析gltf文件的步骤1. 读取gltf文件2. 提

Java中的runnable 和 callable 区别解析

《Java中的runnable和callable区别解析》Runnable接口用于定义不需要返回结果的任务,而Callable接口可以返回结果并抛出异常,通常与Future结合使用,Runnab... 目录1. Runnable接口1.1 Runnable的定义1.2 Runnable的特点1.3 使用Ru

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis