【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)

news2024/11/15 20:03:19

目录:导读

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


前言

面试题1:你有没有做过自动化测试?

软件测试面试题:https://www.bilibili.com/video/BV1Lq4y137aR/

答:
我在xx项目中实施了web自动化测试,我们项目中搭建自动化测试框架技术:python+selenium+pytest/unittest+ddt+jenkins,然后用的POM分层的模式(面向对象思想),数据驱动使用的是excel+ddt的驱动模式,我在这个自动化测试实施的项目里所负责的那些模块那些测试用例的自动化代码编写

我在xx项目中实施了接口自动测试平台搭建,技术栈:python+django+pytest+vue+ddt+jenkins

面试题2:你们是如何在公司里面实施自动化测试的?

1、公司目前展开自动化,希望你能够承担自动化的实施过程
2、公司已经在开展自动化了,想借鉴一下

1)项目组做自动化的可行性分析自动化率到什么程度
项目周期比较长 一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用
2)自动化工具selenium robotframework调研以及demo演示
3)由leader搭建自动化测试框架,并且在项目中逐步的实施,发现框架的问题并改善
4)把自动化流程化,框架出使用文档以及规范文档
5)生成定制的报告 并继续完善框架

面试题3:接口自动化测试框架中接口关联你们是怎么处理的?

postman和jmeter如何处理接口关联?

答:
json提取器、正则表达式、cookie提取器

1、通过一个单独的extract.yaml文件来保存所有的关联字段,中间提取的变量这个变量在所有的测试用例之前清空
清空通过
unittest:setup_class
pytest:conftest+fixtrue
2、在测试用例的yaml里面通过一级关键字extract提取 提取支持json提取的正则表达式提取
3、在其他的接口的yaml文件里面通过{{}}提取或者${}的提取

面试题4:你有从零开始独立搭建过自动化接口自动化测试框架?

答:
我在xx项目搭建的接口自动化测试框架所使用的核心技术:
request+pytest+allure+parametrize+jenkins
封装:basepage基础封装,testcase封装…

requests二次封装,日志收集模块 yaml配置文件封装

封装的这个项目规则:
YAML格式用例的约定
1、必须包含一级关键字:name request validate
2、在request关键字下必须包括:method,url,data,如data没有的话那么输入默认值{}
3、提取变量使用一级关键字extract。支持json提取和正则提取(.+?)和(.*?)取值使用{}
4、可以使用热加载的方式调用debug_talk.py中debugTalk类里面的方法 通过 调用方法 5 、支持 e q u a l s 、 c o n t a i n s 两种断言 6 、使用 p a r a m e t e r s 做 c s v 文件的数据驱动,通过 {}调用方法 5、支持equals、contains两种断言 6、使用parameters做csv文件的数据驱动,通过 调用方法5、支持equalscontains两种断言6、使用parameterscsv文件的数据驱动,通过csv(appid)这种格式取值

web和接口自动化
更细:
web:frame怎么处理,下拉框怎么处理,多个页面 ,弹窗操作,鼠标操作(悬停),滚动条,键盘 你怎么处理
接口:接口加密 接口签名

面试题5:结合一个具体的业务场景问你如何测试?

例如:双十一优惠券当天可用,满100减50,特价商品不能用?

分析需求字面测试点
1、双十一优惠券当天可用(边界值)
2、满100减50(边界值)
3、特价商品不能用

其他场景
1、UI检查:优惠券金额。不可以用优惠券置灰,有效时间显示
2、优惠券状态:已经领取未使用,已领取已使用,已使用,使用后退款
3、检查是否能够自动化选择优惠券,并且是否和其他优惠券叠加使用,智能选择最大优惠券,以及优惠券选择切换
4、使用优惠券购买商品退货场景 退货金额以及优惠券是否退还
5、优惠券是否能重复领取等等

面试题6:如何区分前后端的bug?

抓包看前端传参很后端返回数据对比
也可以通过查看后台日志分析

先排除因为测试环境问题或者误操作这种因素然后先按照同样的步骤重现一遍,如果不能重现,直接把之前的那个日志截图给开发。

如果重现,可以利用抓包工具去看请求和响应数据,如果请求错误,就是前端的问题,如果响应错误,就是后端的问题

还可以看状态码,一般4开头的,就是客户端问题,比如,如果是401,就是未授权,403就是被禁止访问,404就是页面未找到。5开头的就是服务端的问题,比如500就是内部服务器错误

面试题7:分布式测试架构与用例并发如何实现?

但凡关联到分布式测试架构的体系,一般而言都是基于UI自动化SeleniumGrid是一套特别好用的分布式架构部署服务

目前主流的分布式测试框架部署是基于主从节点形态来部署。配置一个网关+N个子节点的形态来实现分布式架构

用例并发推荐使用多线程模式来实现
Jenkins自带有分布式部署模式 也是基于主从节点来实现

面试题8:如何实现POM自动化测试架构?

如何解决多人团队下的自动化工作的开展:架构
定义测试框架结构:
基类、页面对象类、测试用例、测试数据、配置、功能…

面试题9:框架是如何设计的?框架的设计方法?

技术:
关键字驱动+数据驱动

将常用的操作行为进行二次封装,生成一个自定义的关键字类,把所有的封装函数放在类里面,便于后续进行调用

优先考虑Excel数据驱动,结合Python发射机制+openpyxl模块来实现excel数据内容的读取与执行,在定义规范化的Excel文件的测试用例格式

再结合日志信息配置、框架的测试环境配置、服务器的配置、数据文件的读取路径配置、公共参数配置等进行细化的配置模块的研发管理

再优化考虑基于Unittest/Pytest实现用例管理、定义数据读取的驱动参数

集成HTMLTestRunner或Allure测试报告,继承邮件,集成Jenkins实现自动化测试构建

分布式测试框架部署的技术实现+用例并发实现

POM测试框架实现

接口测试常见的bug

1、特殊值处理不当 导致程序异常退出会崩溃(快递信息用户未填写提交)
2、类型边界溢出 导致数据读取和写入不一致(列表查询 查的值与实际的条数不符)
3、取值边界值外没有返回正确的一个错误信息
4、权限未处理 可以访问其他的用户信息(报表导出需要角色权限 没处理所有人都可以看)
5、逻辑校验不完善可以利用漏洞获取非正当的利益(现金账户流入流出冻结解冻)
6、状态处理不当导致逻辑出现错误(订单状态 未支付 待支付 已付款 取消支付 待退款 已退款 已取消)
7、数组类型item个数为0或者item重复时程序异常退出

后续继续更新

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生就像一场马拉松,只有坚持不懈的奔跑才能到达终点。心怀信念,勇往直前,永不放弃。只要你努力过,成功就不会太远。

梦想不止眼前的苟且,还有远方等待征服。只要不放弃,坚持不懈,即使路途艰辛,也能破茧成蝶,绽放光彩。让我们一起奋斗,创造属于自己的辉煌!

生命太短暂,不要浪费在无意义的事情上。把握每一天,坚定前行,不断超越自我。不论何时,都保持激情与热忱,奋斗到底,追求自己的梦想,让生命充满意义。

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

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

相关文章

企企通项目入选《2023爱分析·供应链和采购数字化最佳实践案例》

近日,“2023爱分析供应链和采购数字化最佳实践案例”评选活动落下帷幕,主要围绕实践领先性、案例创新性、应用成熟度、价值创造四个维度对候选实践案例进行评选。企企通凭借自身丰富的采购供应链解决方案经验,以“迈金科技采购数字化管理平台…

美洽迈入“生成式AI时代”,开启智能客服新纪元!

生成式 AI,当前科技领域最热门的话题之一。 它指的是一类人工智能模型,可以根据输入的数据,自动生成新的数据或者输出一些有用的信息,例如:文本、图像、音频、视频等等。 在实际应用中,生成式AI可以帮助人…

“COMSOL电化学系列,锂离子电池仿真,燃料电池仿真

背景: 电化学仿真技术通过对电池微观行为进行研究,明晰电池内部多现象机理,并将其数值化,通过数值方法实现对物理特征联合计算,建立完整的电池模型。COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的…

Django框架介绍及搭建开发环境

介绍 是一个开放源代码的web应用框架,由python编写。 与常规的MVC架构不同,为MTV架构。 MTV Model(模型):负责业务对象和数据库的关系映射(ORM)。 Template(视图):负责把页面展示给用户(htm…

Win32API之实现远程线程注入(九)

什么是注入 注入是一种在不知情或未经许可的情况下向其他进程中注入模块并试图执行它们的技术 常见的注入方式有:远程线程注入、APC注入、消息钩子注入、注册表注入、导入表注入、输入法注入等等 什么是远程线程注入 远程线程注入是一种技术,可以将一…

前端vue之根据内容生成二维码

1.实现这功能需要借助第三方插件,首先下载安装插件: 我在终端直接下载 npm install vue-qr --save2.在需要的.vue文件中引入并注册组件 import VueQr from vue-qr; export default {components: {VueQr,},3.在需要用的位置使用该二维码标签 <vue-qr :logo-src"logoS…

自动控制原理模拟卷6

自动控制原理模拟题六 Question1 已知控制系统的信号流图如下图所示: 求控制系统传递函数 C ( s ) / R ( s ) C(s)/R(s) C(s)

[mars3d] 学习

今天整体说下mars3d&#xff0c;集成问题之后在说&#xff0c;先说下概念性的东西&#xff1b; 一、设置地球的参数 下载他们的示例&#xff0c;如果不是特别的要求&#xff0c;可以直接使用他们的 confign 进行加载&#xff1b; 如果有什么特别的设置的&#xff0c;可以通过…

Chapter6-可靠性优先的使用场景

6.1 顺序消息 顺序消息是指消息的消费顺序和产生顺序相同&#xff0c;在有些业务逻辑下&#xff0c;必须保证顺序 。 比如订单的生成 、付款、发货&#xff0c;这 3 个消息必须按顺序处理才行。顺序消息分为全局顺序消息和部分顺序消息&#xff0c;全局顺序消息指某个 Topic 下…

centos7.6部署ELK集群(一)之elasticsearch7.7.0集群部署

32.3. 部署es7.7.0 32.3.1. 下载es&#xff08;各节点都做&#xff09; wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz 32.3.2. 解压至安装目录&#xff08;各节点都做&#xff09; tar -xvf elasticsearch-7.7.0-li…

你的宝典,软件测试项目实战,金融项目测试点详全(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 测试要点 软件测试…

Locust 压力测试helloworld

1. 什么是Locust Locust 是一种易于使用、可直接使用pyhton编写脚本运行且可扩展的性能测试工具。 2. 安装Locust Python 3.9.16 pip install locust2.15.1 3. 一个简单的示例 3.1. 编写下面代码&#xff0c;文件命名为locustfile_test.py from locust import HttpUser,…

Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO)&#xff0c;该算法有较强的全…

Linux多线程-3

在之前的两篇博客当中&#xff0c;我们讲述了线程概念、线程控制和线程安全三部分内容。紧随其后本篇博客内容&#xff1a;我们首先来讲述生产者和消费者模型&#xff0c;来了解一种多线程的设计模式&#xff0c;然后在此基础上讲述上一篇博客剩余的内容&#xff1a;信号量的相…

跨平台开发 uni-app

目录&#xff1a; 1 邂逅跨平台开发 2 初体验uni-app 3 uni-app全局文件 4 内置组件和样式 5 扩展组件 uni-ui 6 跨端兼容实现 7 路由和生命周期 8、扩展组件 uni-ui 9、跨端兼容实现 10、页面路由和传参 11、其它常用API 12、自定义组件 13、状态管理Pinia 创建的…

归并排序的非递归实现

其实想法和递归实现的类似&#xff0c;只不过是通过其他变量分组&#xff0c;而不是mid&#xff0c;我们可以将数组先分为两 两一组&#xff0c;再合并成四四一组&#xff0c;以此类推&#xff0c;最后一次合并排序后&#xff0c;得到的数组就为有序数组了&#xff0c;所以 递…

Docker容器数据卷详解

文章目录 一、数据卷使用二、数据卷容器三、数据卷备份与恢复 数据卷特点&#xff1a; 数据卷会一直在&#xff0c;即使容器销毁可以对数据卷内容直接修改 一、数据卷使用 1、为容器添加数据卷 docker run -itd --name nginx -v /data:/usr/share/nginx/html qinzt/nginx:v1…

15、虚拟内存LLDB高级调试

一、虚拟内存 早期的操作系统 早期的操作系统,并没有虚拟内存的概念.系统由进程直接访问内存中的物理地址,这种方式存在严重的安全隐患.内存中的不同进程,可以计算出他们的物理地址,可以跨进程访问,可以随意进行数据的篡改.早期的程序也比较小,在运行时,会将整个程序全部加载到…

SQL——关于bjpowernode.sql的33道经典例题之18-33

目录 18 列出所有“CLERK”&#xff08;办事员&#xff09;的姓名和部门名称、部门人数 19 列出最低薪水大于1500的各种工作和此工作的全部雇员人数 20 列出在部门“SALES”<销售部>工作的员工姓名 21 列出薪资高于公司平均薪资的所有员工&#xff0c;所在部门、上级…

windows python 安装 mathutils库出现问题解决

项目场景&#xff1a; 在windows11上python安装mathutils库时报错。分如下两种情况安装&#xff0c;都报的是同样的错误&#xff1a; &#xff08;1&#xff09;直接在使用pip安装 python -m pip install mathutils # 或者 pip install mathutils &#xff08;2&#xff09;…