首页 > 其他分享 >一天个测试名词---接口测试

一天个测试名词---接口测试

时间:2023-12-24 20:05:29浏览次数:32  
标签:请求 接口 --- 参数 测试 文档 数据

一、什么是接口测试

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试 !

那么接口测试是怎么来测试接口的呢?

接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.

简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。”

二、接口测试的好处

通过接口测试,我们可以测试出接口的稳定和正确性, 可以抛开前端的影响,迅速定位到后端的缺陷,提升测试的效率.

通过接口测试, 可以为项目带来高效的缺陷监测和管理能力,可以提到软件的整体质量;

项目越复杂,系统越庞大,接口测试使用的越频繁的效果越明显

三、接口测试的原理

通过模拟客户端 or Web浏览器向服务器发送请求,服务器接收请求后对接收到的数据做处理,同时向客户端返回应答,我们模拟的客户端,接收到返回的数据后再对数据进行判断 ,如何判断呢?

1、判断请求: 是否正确, 系统默认的请求成功,会返回200状态码, 假如请求错误返回400, 404, 500等状态码

2、判断数据: 返回数据的正确性与完整性

3、判断安全性: 接口一般不会随意暴露在网上被其他人任意调用,一般我们会对接口做出一些限制,比如请求次数、请求频率限制等等

简单来说:找个能联网的工具根据接口文档,向接口服务器发送请求,获取响应,检查响应是否符合接口文档的规范

一天个测试名词---接口测试_接口文档

四、接口测试测试工具

接口测试需要模拟客户端发送请求获取响应,所以我们就需要一个能够发送请求获取响应的工具,也就是联网工具:

通过工具来进行接口测试

最知名的就是postman,当然还有restclient之类的 。当然也可以用jmeter,jmeter也可以用来做接口性能测试,当然我们也可以通过编写脚本(代码)进行接口测试。

一般我们使用python语言中最流行的联网库requests !

五、如何做好接口测试

接口测试要遵循一些要点:

测试接口的功能实现. 检查不同参数的数据请求时,接口返回的数据与预期结果也就是接口文档的规范的一致性.

测试接口的健壮性(容错性), 比如说传递的数据类型是错误或者传递空数据,特殊字符等与接口规范不符的能否正常处理.

测试接口参数的边界值. 比如说传递的数据超出了接口规范的规定的范围,或者数据足够大或者为负数时能否正常处理

测试接口的性能, 接口处理和响应数据的时间,并发性等等, 当然这牵扯到代码实现的优化,需要与开发人员沟通

测试接口的安全性.比如登录的用户名密码等敏感数据是否明文显示,需要权限的接口是否暴露在外面

一天个测试名词---接口测试_接口文档_02

六、接口测试流程

1、分析接口文档和需求文档

分析接口文档或者需求文档一般会去找测试点,那么接口测试的测试点我们一般从几种方向去找

· 功能性测试点 · 性能测试点 · 安全性测试点

2、编写接口测试计划

测试计划就是功能测试计划基本一样就是知名的5w1h了

1) why——为什么要进行接口测试; 2) what—测试接口包括哪些; 3) when—测试接口不同阶段的起止时间; 4) where—相应接口文档,接口缺陷的存放位置,测试环境等; 5) who—项目有关人员组成,哪些接口分配给哪些人; 6) how—使用哪些测试工具以及测试方法进行测试。

3、编写接口测试用例

测试用例就是根据具体的哪个接口来编写,一般会分为单接口和多接口两种场景来编写测试用例

1) 单接口场景的测试

正向数据:也就是能正常发送请求,正常获取响应的数据,一般我们从三个方面去组织:

所有必填参数

全部参数(必填参数+选填参数)

参数组合(必填参数+某些选填参数)

反向测试:用不属于规定范围的数据区发送请求检查服务器能否正常处理

异常数据:数据为空,长度过多或者过少(边界值外),类型不符(需要数字类型传递str类型),错误的数据

异常的参数:不传参数,少传参数,多传参数,传递错误的参数

异常的业务数据:结合业务功能考虑输出的各种异常返回情况

2) 多接口场景的测试

业务场景功能测试(站在用户角度考虑常用的使用场景)

多业务场景功能测试主要是测试接口之间数据依赖

4、接口测试执行

根据设计的测试用例就可以执行测试用例当然执行的方式有几种

1. 使用postman之类的工具,一个一个进行测试,这种方式我们叫做手工测试

2. 使用jmeter之类的有自动化功能方式进行测试,这种叫做工具自动化测试

3. 我们可以自己编写测试脚本,使用测试脚本自动加载测试,这种就是自动化测试了

5、生成接口测试报告。

测试完成了以后就可以生成测试报告了

接口测试流程

一天个测试名词---接口测试_接口测试_03

标签:请求,接口,---,参数,测试,文档,数据
From: https://blog.51cto.com/u_15384963/8956877

相关文章

  • 2023-2024-1 学号20231324《计算机基础与程序设计》第十三周学习总结
    2023-2024-1学号20231324《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十三周作业这个作业的目标《C语言程序设计》第12章并完成云班课测......
  • 2023-2024-1 学号:20231305 《计算机基础与程序设计》第13周学习总结
    2023-2024-1学号:20231305《计算机基础与程序设计》第13周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2022-2023-1计算机基础与程序设计第一周作业)这个作业的目标<自学教材《C......
  • 04--正则表达式回顾
    一正则与re模块简介#正则概述正则表达式,又称规则表达式描述了一种字符串匹配的模式#pattern正则匹配是一个模糊的匹配#不是精确匹配#re模块python自1.5版本开始增加了re模块re模块是python语言拥有了所有正则表达式的功能,提供了perl风格的正则表达式模式#如......
  • 无涯教程-PostgreSQL - With语句
    在PostgreSQL中,WITH查询提供了一种编写辅助语句以用于较大查询的方法,它有助于将复杂的大型查询分解为更易于阅读的更简单形式。WITH查询是CTE查询,在多次执行子查询时特别有用,代替临时表同样有用,它只计算一次聚合,并允许无涯教程在查询中按其名称引用它。在查询中使用它之前,必须......
  • -bash: docker-compose: 未找到命令
    -bash:docker-compose:未找到命令我在使用Docker搭建Nacos容器时遇到了这个问题:是没有安装docker-compose工具。docker-compose的用处主要体现在以下几个方面:快速搭建开发环境:使用docker-compose可以快速搭建起开发环境,例如,在一个项目中可能需要多个服务,如Web应用、数据库等,使......
  • 【阅读笔记】图像增强-《Efficientcontrast enhancement using adaptive gamma correc
    2013年发表在TIP上的对比度增强算法AGCWD(Efficientcontrastenhancementusingadaptivegammacorrectionwithweightingdistribution)提出了一种自动映射技术,通过亮度像素的伽马校正和概率分布来提高调暗图像的亮度。为了增强视频,所提出的图像增强方法使用关于每帧之间差异的时......
  • IoTDB服务安装教程-集群版
    文章目录官方说明文档下载地址服务安装节点服务分配修改配置文件修改堆内存启动集群启动第一个节点启动其他两个节点的ConfigNode和DataNode检验集群状态修改集群密码【附录】清理环境集群扩容修改配置扩容验证扩容结果集群缩容缩容一个ConfigNode缩容一个DataNode验证缩容结......
  • 【flink番外篇】4、flink的sink(内置、mysql、kafka、redis、clickhouse、分布式缓存、
    文章目录Flink系列文章一、maven依赖二、Jdbc/mysql示例1、maven依赖2、实现1)、userbean2)、内部匿名类实现3)、lambda实现4)、普通继承RichSinkFunction实现5)、完整代码3、验证本文介绍了Flink将数据sink到mysql中,其实是通过jdbc来将数据sink到rmdb中,mysql是一个常见的数据库,故......
  • 「HCOI-R1」报名人数 题解
    博客园。我们会发现,\(2\)和\(3\)的火柴个数是一样的,\(9\)和\(0\)的火柴个数是一样的。所以只有在\(12\)到\(13\)这样是合法的,自己推一下可以知道,最多只有连续两个。而在\(l\)到\(r\)的长度大于\(9\)的时候可以直接输出\(2\)。剩下的情况直接暴力枚举即可。#......
  • 学年(2023-2024-1)学号(20231311)《计算机基础与程序设计》第13周学习总结
    2023-2024-120231311《计算机基础与程序设计》第13周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十二周作业这个作业的目标学习《C语言程序设计》第12章并完成云班课测试作业......