【全网最细】接口测试一般怎么测?接口测试的流程和步骤-程序员宅基地

技术标签: 技术分享  python  压力测试  软件测试  单元测试  测试工程师  接口测试  

目录

一、什么是接口测试

二、接口测试的好处

三、接口测试的原理

四、接口测试测试工具

五、如何做好接口测试

六、接口测试流程

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

2、编写接口测试计划

3、编写接口测试用例

4、接口测试执行

5、生成接口测试报告。 

学习安排上


一、什么是接口测试

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

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

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

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

二、接口测试的好处

    • 通过接口测试,我们可以测试出接口的稳定和正确性, 可以抛开前端的影响,迅速定位到后端的缺陷,提升测试的效率.
    • 通过接口测试, 可以为项目带来高效的缺陷监测和管理能力,可以提到软件的整体质量;

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

三、接口测试的原理

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

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

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

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

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

四、接口测试测试工具

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

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

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

五、如何做好接口测试

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

    • 测试接口的功能实现. 检查不同参数的数据请求时,接口返回的数据与预期结果也就是接口文档的规范的一致性.
    • 测试接口的健壮性(容错性), 比如说传递的数据类型是错误或者传递空数据,特殊字符等与接口规范不符的能否正常处理.
    • 测试接口参数的边界值. 比如说传递的数据超出了接口规范的规定的范围,或者数据足够大或者为负数时能否正常处理
    • 测试接口的性能, 接口处理和响应数据的时间,并发性等等, 当然这牵扯到代码实现的优化,需要与开发人员沟通
    • 测试接口的安全性.比如登录的用户名密码等敏感数据是否明文显示,需要权限的接口是否暴露在外面

 

六、接口测试流程

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、生成接口测试报告。 

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


学习安排上

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/IT_LanTian/article/details/125145962

智能推荐

小说更新太慢怎么办_5本更新慢如龟速的网络小说,书虫追更很煎熬,却依旧不离不弃...-程序员宅基地

文章浏览阅读2.2k次。对于爱看小说的老书虫而言,找个好小说看真的太难了。所以老书虫们往往认准一些实力派作者,只有某些作者的书才能够完整看下去。但让老书虫郁闷的是,一些实力派作者偏偏断更、拖更、龟速更新,让人郁闷无比。郁闷归郁闷,追更还是不能停下来。我是真游泳的猫,一个看书16年的老书虫。关注我,今天我和大家聊聊5本更新慢如龟速的网络小说,书虫追更很煎熬,却依旧不离不弃。第5名,发飙的蜗牛《妖神记》。据说当年蜗牛是网文游..._仙草小说更新慢

2021-06-25(138. 复制带随机指针的链表)-程序员宅基地

文章浏览阅读52次。/*// Definition for a Node.class Node { int val; Node next; Node random; public Node(int val) { this.val = val; this.next = null; this.random = null; }}*/class Solution { public Node copyRandomList(Nod

视觉AI:它是什么,为什么它很重要?-程序员宅基地

文章浏览阅读4.9k次。视觉AI(也称为计算机视觉)是计算机科学的一个领域,它训练计算机复制人类视觉系统。这使得数字设备(如人脸检测器,QR码扫描仪)能够像人类一样识别和处理图像和视频中的物体。电子商务商店的个性化图像搜索,3D模型构建(摄影测量),地图上的aeriel图像,零售店的OCR扫描,人脸识别,图像探测器,MRI重建是我们今天拥有的计算机视觉的一些创新用例。但是,这项技术是什么时候引入的呢?它是如何演变的?无论行业如何,它都会为企业带来哪些未来的可能性?接下来的部分将讨论这三个因素,并简要介绍视觉AI的工作原理。那么,让_视觉ai

wkhtmltopdf 缩放问题_wkhtmltopdf转pdf不居中-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏15次。最近客户要精确pdf打印。wkhtmltopdf html转pdf 始终页面有缩放;解决这个问题绕了很多弯路花了2天,这个问题一定要记录下:--disable-smart-shrinking 这个参数一定要加上,加上页面就不缩小了;--dpi 这个参数不要用默认值,要设置大一点;letter-spacinng : 0 不然字间距太密;wkhtmltopdf常规参数记录下_wkhtmltopdf转pdf不居中

Fanuc karel语言数据类型_fanuc 撸语言-程序员宅基地

文章浏览阅读1k次。Fanuckarel语言数据类型KAREL 提供了三种数据类型来定义程序中的数据项:简单类型的数据项 结构化类型数据项 用户定义的类型数据项_fanuc 撸语言

Linux学习六(计划任务)----鸟哥私房菜_cron.daily 运行时间-程序员宅基地

文章浏览阅读213次。计划任务分为两种at和cornat仅执行一次的任务corn循环执行的任务at计划任务-单次任务启动atq服务 systemctl start atq运行方式:at命令会将任务以文本的形式写入/var/spool/at/目录下,然后此任务会等待atq服务执行。权限:系统利用/etc/at.allow与/etc/at.deny这两个文件施加限制1.若存在allow,存在于at.allow的用户才可以使用at。2.若allow不存在,不在deny文件的用户才可以使用.3_cron.daily 运行时间

随便推点

如何在myeclipse中创建tld文件-程序员宅基地

文章浏览阅读377次。如何在myeclipse中创建tld文件new->file->xxx.tld这个我会我想要是直接创建tld文件 然后会自己产生代码 :( _myeclipse tld在哪

c# 用Dictionary实现日志数据批量插入_c# dictionary 批量-程序员宅基地

文章浏览阅读316次。背景最近再做一个需求,就是对站点的一些事件进行埋点,说白了就是记录用户的访问行为。那么这些数据怎么保存呢,人家点一下保存一下?显然不合适,肯定是需要批量保存,提高效率。问题窥探首先,我想到的是Dictionary,对于C#中的Dictionary类相信大家都不陌生,这是一个Collection(集合)类型,可以通过Key/Value(键值对的形式来存放数据;该类最大的优点就是它查找元素的时间复杂度接近O(1),实际项目中常被用来做一些数据的本地缓存,提升整体效率。Dictionary是非线程安全的类型_c# dictionary 批量

【C语言】指针进阶知识终章_((int)(main & sub)) != 0-程序员宅基地

文章浏览阅读1.1k次,点赞64次,收藏45次。本篇博客涉及内容相对来说较多:刚开始:有趣的2个代码不同方法模拟实现简单计算器函数指针数组指向函数指针数组的指针回调函数冒泡排序较通用版qsort函数_((int)(main & sub)) != 0

微生物组统计和可视化——phyloseq入门-程序员宅基地

文章浏览阅读2.2w次,点赞22次,收藏90次。翻译:文涛写在前面: 最近一段时间面临着各种各样的问题和挑战,总在寻求一种可以权衡,理解的解释的解决之道。phyloseq:使用R语言分析微生物群落(microbiome census ..._phyloseq

非对称加密算法_利用非对称的密码方法解决了交易数据传输过程中的保密问题-程序员宅基地

文章浏览阅读1.6k次。 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,若果用公开密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称密钥算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他用户公开;得到该公用密钥的乙方使用该密钥对机..._利用非对称的密码方法解决了交易数据传输过程中的保密问题

前端工具推荐 PxCook-程序员宅基地

文章浏览阅读1w次,点赞29次,收藏41次。前端页面设计的工具推荐---PxCook_pxcook

推荐文章

热门文章

相关标签