2023备战金三银四,Python自动化软件测试面试宝典合集(六)

2023-11-08

马上就又到了程序员们躁动不安,蠢蠢欲动的季节~这不,金三银四已然到了家门口,元宵节一过后台就有不少人问我:

现在外边大厂面试都问啥

想去大厂又怕面试挂

面试应该怎么准备

测试开发前景如何

面试,一个程序员成长之路永恒绕不过的话题。每每到这个时期,不管当前有没有跳槽换工作需求的,都多少会跟着观望一下“外边的世界”~

当然外边的世界很精彩,但出来混,可不能没有一点准备,赤手空拳上阵。给大家分享一份免费的 测试工程师面试题,涵盖不少大厂高频必考点,需要的同学可免费领取。

不只是面试,了解市场需求,认识自己的问题,熟悉Python高频难点,巩固 Python相关知识...这份资料都可以帮助到你。

金三银四刚开始就拿到了蚂蚁的offer,这份阿里大牛总结的面试笔记,能掌握这份笔记的70%以上感觉就能拿大厂offer。

为了帮助更多的粉丝朋友们都拿到心仪的offer,小编在此把这份笔记分享出来

接上篇:

8.16 post 申请方式,用 get 会报什么错误。

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现,没有信息能够告诉用户这个状况到底是暂时

的还是永久的,假如服务器知道情况的话,应当使用 410 状态码来告知旧资源因为某些内部的配置机

制问题,已经永久的不可用,而且没有任何可以跳转的地址,404 这个状态码被广泛应用于当服务器

不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下,出现这个错误的最有可能的原

因是服务器端没有这个页面。

8.17 http 协议提交请求头内容

Accept-Charset:浏览器能够显示的字符集

Accept- Encoding:浏览器能够处理的压缩编码

Accept-Language:浏览器当前设置的语言

Connection:浏览器与服务器之间连接的类型

Cookie:当前页面设置的任何 Cookie

Host:发出请求的页面所在的域

Referer:发出请求的页面的 URL

User-Agent:浏览器的用户代理字符串

Content-Type:请求数据的格式或者是类型

九、接口测试

9.1 接口测试怎么测

(jmeter 版本)

首先开发会给我们一个接口文档,我们根据开发给的接口文档,进行测试点的分析,主要是考虑正常

场景与异常场景,正常场景,条件的组合,参数的格式校验等价边界值;异常场景,多一个参数,少

个必填参数,参数为空;接着编写测试用例,用的 Jmeter 工具去运行,创建线程组,建立 http 请求,

输入测试用例,请求参数,建立察看结果树,运行,看返回的结果,是否跟接口文档里面要求的返回

结果一致,其他用例,值需要修改里面的参数,请求地址这些信息。

举例说明:(不要登录跟注册)

比如说原来我们做一个申请借款的接口,对接口进行测试分析,考虑正常场景与异常场景,正常场景,

考虑不同参数组合,比如说,不同借款方式,还款期限,还款曰期,借款的利率等参数组合;也要测

试每个参数格式校验,异常场景,:多一个参数,少一个必填参数,比如没有借款的利率,参数为空

的,比如借款标题为空,编写测试用例

在 jmeter 中执行,填写参数,更地址就 ok,发送请求

(python + request)

原来我们接口主要是用的 python + requests 去运行的

首先,开发会给我们一个接口文档,拿到接口文档后,我们就进行测试点的分析,

考虑正确场景,条件的组合,

异常场景,多一个参数,少一个参数,参数为空的情况

比如原来我们做一个生成订单的接口,考虑正常场景,异常场景

正常场景就是不同的订单类型,订单金额,能不能申请订单,每个参数的格式类型的校验,

异常场景,多一个参数,少一个必填参数的时候,还有参数为空的情况

原来我们是用 python + request 去做的接口

首先,导入 request 包

建立一个 headers,保存请求头的信息,因为订单请求方式是 post 类型,数据格式是 form 表单格式,

我们把数据保存到 data 的字典里面

这个时候我们还需求登录的 cookie 值跟登录后产生的 token 值

我们会去通过动态关联去获取登录的 token 跟 cookies,

cookies 值的话,我们是直接调用登录返回的 cookies、token 值的时候,我能是通过导入 re 模块,

通过正则表达式去提取

当参数, headers、cookies 输入完成以后,我们就发送请求,打印返回结果,检返回结果是否跟我

们测试用例一致

当运行其他测试用例时,我们去修改 data 里面的参数就行,在发送请求

有的请求时 htps 协议的时候,我们发送请求的时候还会 very= false 去忽略掉证书验

证对应多个接口调用 cookies 我们会用到 session 去保存接口发现比较多的问题,就是格式校验这

比如说我们提交订单,订单数据没有显示,订单格式也没有显示,输入字母,汉字都可以

订单类型为空,也会生成订单成功

我觉得接口可以发现接口更多的 bug,还可以提早进行测试,提高测试的质量

9.2 两个接口有关联, jmeter 具体怎么做

另外两种问法:上个接口的返回值是下个接口的请求参数,这种如何处理?动态关联有没有了解过?

这个涉及到动态关联,首先要搞清楚后一个接口需要用到上一个接口的什么数据,例外要看数据是在

哪里取的,是在 head 还是在 body 里,然后如果要取的数据是 json 格式我会在发请求用 json 提取器

去取这个数据,如果是其他格式的就用边界提取器或正则表达式去取数据47

就拿我当时做的那个下单接口来说吧,因为下单接口需要先登录,需要用到登录接口的

cookies 来做鉴权,首先就是把登录接口调试通过,然后在登录接口的 http 请求中添加一

个边界值提取器或者也可以用正则表示式提取器去提取登录接口的响应头中的 cookies 值

然后在下单接口中需要添加一个 http cookies 管理器,在 http cookies 管理器中引用登录

接口提取出来的 cookies,这样就可以了

如果是不同的线程组的话,那在登录接口中还得添加一个 Beanshell 取样器,在

Beanshell 取样器中,利用函数助手中的 SetProperty()函数把提取出来的 cookies 设置为全局变量,

然后在下单接口的 http cookies 管理器中利用函数助手中的 Property()函数引用登录接口中设置的

全局变量,这样就可以了。

9.3 接口测试主要目的是什么?

例外两种问法:接口测试的价值,意义?为什么要做接口测试?

主要就是验证后台服务端的业务逻有没有问题,提高测试的效率

①越底层发现 bug,它的修复成本是越低的

②前端页面修改频繁情况下,接口测试不受页面元素改变而影响

③检查系统的安全性,前端传参不可信,比如京东购物,前端价格不可能传入-1 元,但是

通过接口可以传入-1 元

④如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口自动化测试

可以提高测试效率

⑤接口测试相对容易实现自动化持续集成,且相对 U 自动化也比较稳定,可以减少人工,回归测试人

力成本与时间,缩短测试周期

9.4 接口测试的流程

1,首先分析开发给到的接口文档

2,接口文档分析完成,编写测试用例

3,然后借助接口测试工具去测试执行测试用例

4,发现 bug 提交 bug,并跟进 bug 修复

9.5 接口测试和平常的 Ul 测试有什么区别?

其实这两者测试的侧重点是不同的,接口因为没有界面,更多考虑后台服务器对请求的,处理逻辑问

题,业务交互,检测的是后台“容错机制”是否完整;

而 ui 更多会去关注页面展示,数据转换,界面排序这些功能,当然也会后台数据处理的问题,ui 测

试其实已经包含了接口测试。系统功能的用例更全面,不仅有界面的,也有业务功能用例,还有其他

用户场景的用例功能入口用例,流程用例,而接口测试主要根据各种入参场景来设置用例。

9.6 给你一个新的接口,你怎么去设计用例?

首先要对于每个要测的接口都要先搞清楚这个接口的功能,它的作用是什么,熟悉这个业务功能需要

用到什么协议,请求方式是什么,接口有哪些参数。对于每个参数的作用都要搞清楚,像数的类型,

是否有约束限制,是否为必填的,长度,其他的限制等等,如果两个参数之间有关联我们还要考虑参

数的组合场景,对于参数不理解的,一般都会跟开发沟通下,然后考虑返回数据的类型,返回数据中

的返回码和返回信息是什么,通过以上几个点去提炼测试点,设计用例。

参数约束——长度、必选项、格式、数据类型

业务场最——正确的业务场景;错误的业务场景;异常场景:服务器空间不足

组合场景——相互依赖:手机和验证码、用户名和验证码;

相互排斥:二选一当然还有边界值等价类等等

Jmeter 测试流程,步骤如下:

创建 jmeter 线程组一添加 HPPT 请求-输入协议-域-端口-路径-编码-请求方式-请求参数-启动

Jmeter 测试流程:

先需求,再根据需求写测试点转换成测试用例,根据测试用例编写测试脚本;执行测试脚本;

提交 BUG,跟踪 BUG

9.7 接口文档主要包含哪些内容?

接口文档一般两种形式的,要不就是 word 版本的要不就是 htm 的形式,具体内容

1.URL(接口地址)

2.接口功能

3.请求方式:post

4.请求参数,以及接口中每个参数的详细说明,类型,是否为必填,约束条件等等

5.响应数据及格式,返回码,返回码解释等等

9.8 你们什么时候测试接口

一般有需求就会做,后台的接口开发好,就可以开始测。例外,如果增加了新需求,也要做接口测试,

还有就是开发对后台的接口做了修改,交互逻辑发生变化,我们也要重新对接口进行测试。

9.9 你怎么去检查,分析

我们主要是根据入参情况,去看接口的返回值,对于返回值,我主要关注的几个点:1.状态码

2.提示信息 3.返回数据的具体内容。根据接口文档的说明去检查这个 3 个点是否满足接口需求文档,49

4.有些如果要检查数据库的,就连接数据库获取数据与返回的数据做对比。

如果不满足就是有问题,如果满足则通过,如果有 Bug 我们会先大概分析下,是什么原因,

并进行复测,如果还是有问题,提交 Bug 给开发,让开发修复,之后再回归测试

持续更新,敬请期待

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023备战金三银四,Python自动化软件测试面试宝典合集(六) 的相关文章

  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 2024诸多大厂春招提前启动!Android的程序员还在等什么

    春招 提前批 已开 xdm别打瞌睡了 格力 顺丰 酷狗 沃尔玛中国 理想 科大讯飞等开启春招 开始收简历了 还有hc的企业提前抢人 春招时间短 节奏快 招满即止 就算挂了也绝不能不投 对企业来说 秋招和春招都是储备人才的黄金时期 春招中 除
  • Python常用的自动化小脚本!

    一 list转json string转json 可以使用Python内置的 json 模块将列表 List 和字符串 String 转换成JSON格式 List转JSON假设我们有一个列表 List my list apple banana
  • Android Navigation的四大要点你都知道吗?

    在JetPack中有一个组件是Navigation 顾名思义它是一个页面导航组件 相对于其他的第三方导航 不同的是它是专门为Fragment的页面管理所设计的 它对于单个Activity的App来说非常有用 因为以一个Activity为架构
  • tcpdump抓包

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • 不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

    AI 大模型技术经过2023年的狂飙 2024年必将迎来应用的落地 对 IT 同学来讲 这里蕴含着大量的技术机会 越来越多的企业开始招聘 AI 大模型岗位 本文梳理了 AI 大模型开发技术的面试之道 从 AI 大模型基础面 AI 大模型进阶
  • 数据库 | 面试官:一次到底插入多少条数据合适啊?.....面试连环炮

    数据库 面试官 一次到底插入多少条数据合适啊 面试连环炮 数据库插入操作的基础知识 插入数据是数据库操作中的基础 但是 我们程序员将面临随之而来的问题 如何快速有效地插入数据 并保持数据库 性能 当你向数据库中插入数据时 这些数据直接存储到
  • (2024最新整理)Java最全八股文及答案!

    Java的特点 Java是一门面向对象的编程语言 面向对象和面向过程的区别参考下一个问题 Java具有平台独立性和移植性 Java有一句口号 Write once run anywhere 一次编写 到处运行 这也是Java的魅力所在 而实
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐