【软件测试】高频常问自动化测试面试题+答案(汇总)

news2025/7/14 5:12:10

目录:导读

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


前言

1、你有没有做过自动化测试?

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

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

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

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

1)项目组做自动化的可行性分析自动化率到什么程度
项目周期比较长 一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用

2)自动化工具selenium robotframework调研以及demo演示
3)由leader搭建自动化测试框架,并且在项目中逐步的实施,发现框架的问题并改善
4)把自动化流程化,框架出使用文档以及规范文档
5)生成定制的报告 并继续完善框架

3、接口自动化如何设计测试用例?一个接口你会设计多少个测试用例?(20-30)

考虑:业务逻辑,入参,通过等价类边界值场景法来设计

1)设计:正例 (两个)请求方式 get/post

2)反例
鉴权反例:token,key:为空,错误,过期;
参数反例:必须项检查,长度规则,类型规则,日期;
错误码覆盖;
其他的关注点:分页,图片格式,大小;

4、接口自动化测试框架中接口关联你们是怎么处理的?

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

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

1)通过一个单独的extract.yaml文件来保存所有的关联字段,中间提取的变量这个变量在所有的测试用例之前清空

清空通过

unittest:setup_class
pytest:conftest+fixtrue

2)在测试用例的yaml里面通过一级关键字extract提取 提取支持json提取的正则表达式提取

3)在其他的接口的yaml文件里面通过{{}}提取或者${}的提取

5、你有从零开始独立搭建过自动化接口自动化测试框架?

我在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)支持equals、contains两种断言
6)使用parameters做csv文件的数据驱动,通过$csv(appid)这种格式取值

接口自动化常问

1)网络协议 http cookie session token
get/post区别

2)Mock 是什么 在接口测试领域下一般在什么情况使用 以及基于python如何实现Mock

遇到很难获取的数据 通过模拟的形式来将这些数据获取到手

def 接口_正式():
	return 正式接口
	
def 接口_模拟():
	return 模拟接口

3)接口关联

关注的点在于你的接口自动化测试框架如何实现的;

关键字驱动+数据驱动+测试用例管理+关联接口的公共数据管理;

基于yaml进行数据管理 结合全局变量管理公共数据+Pytest/Unitest是西安接口关联的业务 所有的系统接口业务链非你别以不同的文件进行管理;

4)框架是如何设计的?框架的设计方法

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

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

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

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

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

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

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

5)接口测试中的加密参数如何处理?

了解接口使用的加密方法md5 rsa等;

检查接口测试工具是否支持这种加密算法jmeter支持MD5直接使用对应功能就行;

如果是公司内部特有的算法调用公司的加密算法实现加密

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生命的意义不在于站在巅峰,而是在于攀登的过程。用汗水浇灌梦想的花朵,勇往直前,一步步走向成功的彼岸。相信自己的力量,不断奋斗,成就非凡。

心怀梦想,努力奋斗,无所畏惧。每一次挑战都是成长的机会,每一份付出都在铸就辉煌。坚持不懈地追求,才能绽放属于自己的光芒,创造无限可能!

困难不是终点,而是成长的起点。勇敢面对挑战,超越自我,为梦想努力奋斗。相信自己的才能和潜力,坚定前行,终将书写属于自己的辉煌篇章。

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

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

相关文章

linux文件权限与目录配置

用户与用户组 linux一般将文件可读写的身份分为三个类别:拥有者(owner)、所属群组(group)、其他人(other) 三种身份都有读、写、执行等权限 文件拥有者 linux是个多人多任务的系统&#xff0c…

Edge侧实用【AI插件合集】

废话不多说,直接开始正文👇 1.ChatsNow ChatsNow是人工智能助手,支持GPT-3.5 和 GPT-4 模型,写作,AI绘画统统不在话下,并且可以增强搜索引擎结果等。 免费使用,提供30次问答次数,…

智慧公厕:打造清新无臭的舒适空间

近年来,智慧公厕成为城市建设中备受关注的一个热点话题。而对于公共厕所最让人头痛的臭味问题,一直困扰着管理单位。为了解决公厕臭味问题,科技力量发挥了重要作用,中期科技「智慧公厕-智慧厕所」推出了一系列公厕除臭设备&#x…

JDBC整合C3P0,DBCP,DRUID数据库连接池

在使用JDBC整合数据库连接操作时,如果需要用到事务,在去关闭Connection conn的时候 注意在关闭前 注意:最好这么做一下 避免下次别人用的时候也自动开启事务,但是自己测试C3P0时候,连接池会自动将状态更新,也就是说,即使关闭前不设置为true,默认连接池也会将状态更新, 这里…

基于饥饿游戏优化的BP神经网络(分类应用) - 附代码

基于饥饿游戏优化的BP神经网络(分类应用) - 附代码 文章目录 基于饥饿游戏优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.饥饿游戏优化BP神经网络3.1 BP神经网络参数设置3.2 饥饿游戏算法应用 4.测试结果…

win10系统防火墙 拦截未知程序,怎么在防火墙上放行?

如果您想让防火墙不拦截某些程序,可以按照以下步骤进行操作: 打开控制面板,选择系统和安全,点击Windows Defender防火墙:“Windows Defender防火墙”,打开防火墙设置。 点击“允许应用或功能通过“Windows…

【Java学习之道】数据库的基本概念与分类

引言 在这一章中,我们将一起探讨数据库编程的基础知识和核心技能。作为Java程序员,掌握数据库编程是非常重要的,因为在实际开发过程中,我们经常需要处理大量的数据。通过本章节的学习,你将能够理解数据库的基本概念、…

【LeetCode热题100】--287.寻找重复数

287.寻找重复数 方法:使用快慢指针 使用环形链表II的方法解题(142.环形链表II),使用 142 题的思想来解决此题的关键是要理解如何将输入的数组看作为链表。 首先明确前提,整数的数组 nums 中的数字范围是 [1,n]。考虑一…

如何创建响应式前端表单?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

element ui 下拉框 选择月份和天数

一、背景 目前做的管理系统项目&#xff0c;期望实现功能为&#xff1a;设置出账周期和出账日&#xff0c;考虑使用element ui下拉框实现功能 二、所用技术 vue2element ui 三、实现效果 四、具体代码 <template><popup-frame :title"批量设置出账日" …

【Java基础面试十八】、说一说重写与重载的区别

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说重写与重载的区别…

quartz中jdbc.initialize-schema

never&#xff1a;从不进行初始化&#xff0c;也就是不清空数据库 always&#xff1a;每次都清空数据库进行初始化 embedded&#xff1a;只初始化内存数据库&#xff08;默认值&#xff09;

Fluent瞬态结果的时间统计处理

声明&#xff1a;本文基于 2023R2 版&#xff0c;在其他版本中界面操作、可设置内容等可能存在区别。 1 背景 仿真中有时需要对区域上每个位置的结果数据进行统计分析&#xff0c;例如需要统计设备表面的压力脉动情况&#xff0c;并找出压力脉动最大的位置。在Fluent中对结果…

氮气柜和电子防潮柜物品存储湿度范围介绍

氮气柜和电子防潮柜是常见的两种用于存储特定物品的设备&#xff0c;它们的湿度控制范围和存放物品略有不同。 氮气柜 全范围湿度&#xff1a;1%-60%RH&#xff0c;全自动氮气控制&#xff0c;按需设置1-60%湿度范围。采用微电脑自动感应控制&#xff0c;结合氮气瓶或制氮机使用…

WPS、Excel表格增加一列,序列1到任意大小 / 填充某个范围的数字到列

Excel添加一列递增的数字方法有如下&#xff1a; 一、最常用的&#xff0c;使用鼠标放到右下角下拉增加 1、选中起始框的右下角&#xff0c;直到显示黑色实心十字 2、一直向下拖动 3、成功 这种填充方式是最常用的&#xff0c;100以内都可以轻松瞬间完成 1~100填充 但是如果…

Vue3 实现文件预览 Word Excel pdf 图片 视频等格式 大全!!!!

先上效果图 插件安装 先说 word 文件是docx-preview插件 excel文件是用 xlsx 插件 介绍后端返回的数据 因为在拦截器处 做了对数据的处理 最后你调接口拿到的数据是 一个对象 里面包含: url : blob对象转换的用于访问Blob数据的临时链接。这个链接可以被用于在网页中展示…

关注用户信息卡片

效果展示 CSS 知识点 box-shadow 属性回顾CSS 变量回顾 实现页面整体布局 <div class"card"><div class"box"><!-- 视频 --><div class"vide_box"><video src"user.mp4" type"video/mp4" aut…

lenovo联想笔记本ThinkPad系列T15p或P15v Gen3(21DA,21DB,21D8,21D9)原厂Win11系统镜像

下载链接&#xff1a;https://pan.baidu.com/s/1V4UXFhYZUNy2ZQ8u4x1AFg?pwdqz0s 系统自带指纹驱动、人脸识别驱动、显卡、声卡等所有驱动、出厂主题壁纸、Office办公软件、Lenovo联想电脑管家等预装程序 所需要工具&#xff1a;32G或以上的U盘 文件格式&#xff1a;ISO …

宏电股份RedCap产品亮相迪拜华为MBBF,并参与RedCap全球商用阶段性成果发布

10月10-11日&#xff0c;由华为主办的第十四届全球移动宽带论坛&#xff08;MBBF&#xff09;在阿联酋迪拜成功举办。MBBF期间&#xff0c;华为联合宏电股份等产业伙伴集中发布RedCap商用阶段性成果。本次发布是RedCap产业的关键里程碑&#xff0c;标志着RedCap在全球已具备规模…

Creating parameterized tests with JUnit4

环境 hamcrest-all-1.3 junit-4.13.2 被测类 package com.yaya.junit;public class Factorial {public long factorial(long number) {if(number 0) {return 1;}return number*factorial(number-1);} }测试类一&#xff1a;使用构造函数 package com.yaya.junit;import org.…