接口测试整体框架

接口测试

1. 接口

接口,也叫api(Application Programming Interface,应用程序编程接口),接口(Interface)是指不同软件组件或系统之间进行交互的点。接口定义了组件之间如何通信,包括数据的请求、接收和响应的方式。

后端的程序会给前端用,后端的程序怎么给前端用,一般是后端编写接口,提供给前端使用

接口本质上是开发人员写的函数或方法

不是所有函数或方法都是接口,但接口一般都是函数或方法

使用接口的主要目的就是分工合作,加快开发

一个软件由很多接口组成

2. 接口要素

接口最终要给前端使用,测试时通过软件如postman、python等来使用(测试肯定得用接口),使用一个接口时,需要哪些概念,就是接口要素。

3. 接口地址

接口的URL或URI,它是客户端访问接口资源的地址。

例如

http://192.168.1.3:8080/abc/def/xyz

abc一般表示应用名,就是软件名简称

def一般表示模块名有的接口可能没有模块名

xyz一般表示功能名

一般所说的接口,全名是接口地址,最后一个单词(例如xyz)是真正的接口名,接口最终是其背后的函数或方法

4. 测试方法

接口测试是绕过前端,根本不使用页面,而是使用工具或软件直接对接口进行操作,能发现更多更深的缺陷

一般先做单元测试、再做接口测试,再做功能测试

一般都借助工具或软件

postman

jmeter

apifox

python

java...

5. 测试流程

收集文档,需求分析,写测试点

准备测试数据

部署测试环境

执行测试用例,提交缺陷报告

生成测试报告

6. 接口分类

内部接口(内网)和外部接口(外网)

7. 接口协议

提供协议分类:

HTTP接口

HTTPS

FTP

SMTP 简单邮件传输协议

POP3 邮局协议第3版本

WebService接口,采用SOAP协议 简单对象传输协议

8. 状态码

1** 信息,服务器收到请求,需要请求者继续执行操作

2** 成功,操作被成功接收并处理

3** 重定向,需要进—步的操作l以完成请求

4** 客户端错误,请求包含语法错误或无法完成请求

5** 服务器错误,服务器在处理请求的过程中发生了错误

9. JSON文本格式

JSON全称:JavaScript对象表示法

  • JSON是介于普通文本和XML之间的一种数据文本格式;比普通文本复杂,又比XML简单,便于生成、表达、解析。
  • JSON相比XML更轻量化,提高网络传输效率;
  • JSON是一种跨平台(操作系统)、跨语言(编程语言)的文本;
  • JSON具有面向对象特性,主要存储对象的属性数据
  • 接口测试经常使用JSON、XML作为返回结果的文本格式,有时发请求的参数值也用

JSON文本格式的基本语法

  • JSON对象使用{}包围
  • 属性数据以“名值对”表示 区分大小写
  • 多对属性之间使用逗号, 分隔
  • JSON属性名都必须有英文双引号
  • 不支持单引号
  • 字符串:“文本” 必须使用双引号 比如:"Hello123"
  • 数字:整数、小数 直接写 比如:123 123.567 为了算术运算方便
  • 逻辑值:true false 必须全小写 为了进行条件判断 真、假
  • 空值:null 表示该值没有意义,什么也不是
  • 对象:{ } 其中写属性名、属性值
  • 数组:[ ] 便于罗列数据
  • 可以互相嵌套

10. 参数化

让每次发送请求时,能够自动改变数据!——参数化技术

从接口测试角度:可以减少用例的数量让一条用例可以重复使用多组数据,提高自动化测试的效率

比如:请求参数添加,id、username、password、email、salary ... (入参)

返回的结果,就是预期结果,也会变化

实际结果 单词:actual 随着每次条件的变化而变化

预期结果 单词:expect 作为检查点的判断依据,也需要变化 (出参)

在进行接口自动化时,为了测试大批量数据,采用参数化技术,根据业务需求设计入参和出参,设计用例并执行;

重点关注:类型 + 数据 + 策略

入参:请求携带参数数据,是可以改变的(因)

出参:响应返回的结果数据,需要检查,会随着入参的变化而变化(果)

11. 验库

验库,也称为落库检查就是在自动化测试过程中,能够自动判断数据库中的数据是否存在、合理为什么需要验库?添加断言时,关心两个方面,一个是接口的返回值,一个是对数据库的影响,这两方面都要正确验库就是对数据库中的数据进行确认,比如通过查询数据库验证实际结果是否存在,包括对数据库表中的行和列的检查

增删查改操作都可以验库

通过Postman访问数据库,可以进行数据库的自动化控制,进行批量数据添加,从而实现测试数据的初始化

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

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

相关文章

递归搜索与回溯算法

递归搜索与回溯算法 名词解释 递归 在解决⼀个规模为n的问题时,如果满⾜以下条件,我们可以使⽤递归来解决: a. 问题可以被划分为规模更⼩的⼦问题,并且这些⼦问题具有与原问题相同的解决⽅法。 b. 当我们知道规模更⼩的⼦问题&…

基于java+SpringBoot+Vue的中小型医院网站设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

图神经网络研究综述(GNN),非常详细收藏我这一篇就够了!

图神经网络由于其在处理非欧空间数据和复杂特征方面的优势,受到广泛关注并应用于推荐系统、知识图谱、交通道路分析等场景。 大规模图结构的不规则性、节点特征的复杂性以及训练样本的依赖性给图神经网络模型的计算效率、内存管理以及分布式系统中的通信开销带来巨…

36.安卓逆向-壳-脱壳实战

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。第一…

办公耗材管理新纪元:系统化解企业挑战,助力高效运营

在当今竞争激烈的商业环境中,无论是大型企业还是中小型企业,办公耗材管理都是关乎企业运营效率与成本控制的关键环节。有效的办公耗材管理不仅能显著降低运营成本,还能提升整体工作效率,确保业务的顺畅进行。然而,许多…

2、 家庭网络发展现状

上一篇我们讲了了解家庭网络历史(https://blog.csdn.net/xld_hung/article/details/143639618?spm1001.2014.3001.5502),感兴趣的同学可以看对应的文章,本章我们主要讲家庭网络发展现状。 关于家庭网络发展现状,我们会从国内大户型和小户型的网络说起&…

时序论文20|ICLR20 可解释时间序列预测N-BEATS

论文标题:N-BEATS N EURAL BASIS EXPANSION ANALYSIS FOR INTERPRETABLE TIME SERIES FORECASTING 论文链接:https://arxiv.org/pdf/1905.10437.pdf 前言 为什么时间序列可解释很重要?时间序列的可解释性是确保模型预测结果可靠、透明且易…

hadoop_capacity-scheduler.xml

hadoop3.2.3capacity-scheduler.xml配置实例 <configuration><property><!-- 可以处于等待和运行状态的应用程序的最大数量 --><name>yarn.scheduler.capacity.maximum-applications</name><value>10000</value></property>&l…

小白必看:知识库搭建的详细拆解步骤

在当今信息爆炸的时代&#xff0c;企业知识库成为了企业积累、管理和分享知识的重要工具。对于初学者来说&#xff0c;搭建一个企业知识库可能看起来是一项复杂的任务&#xff0c;但通过以下步骤&#xff0c;即使是小白也能轻松上手。本文将详细拆解搭建企业知识库的步骤&#…

042 异步编排

文章目录 什么是异步Future异步编排1串行关系执行thenRunthenApplythenAcceptthenCompose 2聚合ANDthenCombinethenAcceptBothrunAfterBoth 3OR聚合applyToEiteracceptEitherrunAfterEither 4异常处理exceptionallywhenCompletehandle 异步开启1RunAsync:没有使用自定义线程池&…

【算法设计与分析】采用特征方程求解递归方程

文章目录 K阶常系数线性齐次递归方程K阶常系数线性【非】齐次递归方程例题例1&#xff1a;齐次无重根例2&#xff1a;齐次有重根例3&#xff1a;非齐次&#xff0c;g(n)是n的多项式例4&#xff1a;非齐次&#xff0c;g(n)是n的指数形式&#xff0c;a不是重根 练习其它求解递归方…

SAP ABAP开发学习——function alv复选框设置

1.关于报表复选框的创建 首先该报表要调用功能函数 这里参照SLIS_LAYOUT_ALV定义字段 参照来源 具体字段的定义 双击 双击这两个查看需要的字段 box_fieldname就是复选框 需要在内表定义需要的名称&#xff0c;这里使用‘BOX 相关内容完成

5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同

5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同 问题描述 某客户现场支持&#xff0c;由MySQL 5.7.21升级MySQL 8.0.25后&#xff0c;通过LOAD DATA导入文件&#xff0c;当同一会话连续导入不同的编码&#xff08;UTF8/GB18030&#xff09;文件时会出现乱码。数据库版本未升…

河南梦想城供配电项目-综合监控平台[智能运维+集中监控]

河南梦想城供配电项目-综合监控平台软件 可分为主机系统&#xff08;针对单个站房的实时监测&#xff09;和集中云平台&#xff08;针对多个站房的集中管理&#xff09;&#xff0c;可实现电气设备隐患预警&#xff0c;站房环境风险可控&#xff0c;系统与电力平台以IEC61850标…

每日计划-1114

完成 14. 最长公共前缀 #include <string> #include <vector>class Solution { public:string longestCommonPrefix(std::vector<std::string>& strs) {if (!strs.size()) {return "";}int length strs[0].size();int count strs.size();fo…

《深度学习》AlexNet网络

文章目录 1.AlexNet的网络架构2.示例&#xff1a;手写数字识别2.1 数据读取 学习目标&#xff1a; 知道AlexNet网络结构能够利用AlexNet完成图像分类 2012年&#xff0c;AlexNet横空出世&#xff0c;该模型的名字源于论⽂第⼀作者的姓名AlexKrizhevsky 。AlexNet使⽤了8层卷积…

嵌入式软件开发环境的搭建

1.ARM指令模拟器环境搭建 keil软件 KEIL是公司的名称&#xff0c;有时候也指KEIL公司的所有软件开发工具。2005年&#xff0c;Keil被ARM公司收购&#xff0c;成为 ARM的子公司之一。 MDK&#xff08;Microcontroller Development Kit&#xff09; &#xff0c;也称MDK-ARM、…

模型广场上线!一键开启免费体验

模型广场上新&#xff0c;多款模型任君挑选~ 限时免费体验&#xff01;快来开启你的AI创作之旅吧~ 01 comfyui 工作流 ComfyUI是一个基于Stable Diffusion开发的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它将Stable Diffusion的流程拆分成节点&#xff0c;你能够…

Java的dto,和多表的调用

1理论 需求是新增菜品eg&#xff1a;菜名:豆腐脑&#xff1b;口味&#xff1a;甜口&#xff0c;咸口&#xff0c; 菜单表&#xff1a;dish&#xff1b;口味表dish_flavor&#xff1b; 1dto:数据传输对象 新建一个dishDto对象有两个表里的属性 2用到两个表&#xff0c;dish,d…

python爬虫js逆向进阶——请求的网页源码被加密,解密方法全过程(19)

文章目录 1、任务目标2、网页分析3、代码编写1、任务目标 目标网站:https://jzsc.mohurd.gov.cn/data/company,该网站的网页源码被加密了,用于本文测验 要求:解密该网站的网页源码,请求网站并返回解密后的明文数据,网页内容如下: 2、网页分析 进入网站,打开开发者模式,…