当前位置: 首页 > news >正文

如何做接口测试,5分钟时间看完这篇文章,你就懂了...

01、通用的项目架构

02、什么是接口

接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url,不同的请求类型(GET、POST),不同的参数,来执行不同的业务逻辑。

客户端大多数的业务操作,都是需要调用服务端接口来获取一些数据,或者触发某些业务,然后客户端拿到接口返回的数据后,会根据数据内容做不同的处理和展示。

03、为什么要做接口测试

A、在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑和返 回数据是正确的,然后再测试客户端。或者是某些测试部门,专门测试服务端开发团队,因此,他们的测试对象就是接口

B、在测试某些业务时,不能仅仅通过前端来测试,比如用户注册,前端限制了用户名不能为空,但是有些人可能通过工具绕过前端直接调用服务端接口,如果服务端没有做相关的逻辑判断,就会造成数据 错误,包括接口数据传输过程中是否对关键信息加密等,所以必须针对服务端接口单独做测试。

C、在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期,然后再通过UI界面进行测试,否则接口有bug,前端页面必定有bug。

04、接口测试工具和流程

常见的HTTP接口测试工具有Jmeter、Postman、SoupUI等。企业里用的比较多的是Jmeter。

Jmeter是一款开源、免费的接口测试工具,它可以对接口的功能、性能进行测试。还可以实现接口自动化。

Jmeter具体使用,请参考《Jmeter接口工具实战》文档

接口测试流程:

和普通的web测试一样,也是先进行需求分析、测试用例编写、执行测试、提交bug、回归测试、提交 测试报告等。

05、接口测试的关注点

1、输入

输入主要是指接口的入参,我们平常的测试中,会先考虑正常的入参,以及异常的入参,异常情况包括:参数异常和数据异常,用例设计这块使用较多的是等价类划分和边界值分析

2、业务逻辑

和基于UI的功能测试一样,接口测试也需要了解接口背后的业务逻辑,针对业务流程的处理逻辑,我们 可以从入参的限制条件、事件的操作对象、业务的状态转换等不同维度来考虑

3、输出

在考虑异常时,通常我们都会想到正常情况,无效的情况,但是不一定能覆盖所有错误码,而接口定义返回的错误码可以帮助我们补充这一部分的用例,比如网络异常,无效的规则,无效的参数,无效的业务ID,无效的任务,服务器异常等,把errorcode的值都补充上去可以设计更多的用例

这种根据输出进行设计用例,可以发现前后端是否正常输出结果,提示是否友好,提示是否出现敏感信息等

4、数据库操作

5、安全性

敏感信息是否加密(如用户名、银行账号,密码,转账金额)

6、性能

7、兼容性

接口测试不需要考虑客户端的兼容性,主要是数据的兼容性。比如对于老接口的历史数据是否兼容,用 新接口去处理老的数据,是否能正常处理。

8、其他

举个最简单的例子:

那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异 常,此时钱已经扣了,用户再次点击按钮,此时系统应该拒绝支付,并且提示“不能重复支付”。相当于 第二次支付不会产生任何作用。在做接口测试时,对于某些有幂等性要求的接口,需要针对幂等进行测 试。

通常可以采用Jmeter连续调用2次接口进行支付、提交等操作,来测试幂等性。

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.cnnetsun.cn/news/754088.html

相关文章:

  • 指令排序与内存顺序:并发编程的核心概念(deepseek)
  • 一张图看懂无线网络参考模型
  • 小白前端别再被float搞晕了:三天搞定CSS浮动布局(附避坑指南)
  • 组建AI本地大模型主机 金士顿存储优化方案
  • Unlikely argument type for equals(): JSONObject seems to be unrelated to String
  • 高效论文生成:十大AI工具助你轻松完成
  • 论文降重利器:AI生成工具Top10推荐
  • 异常、崩溃、复位过程详解
  • java_ssm56校园电动车租赁管理系统
  • 情感分析不再难:AI原生应用开发全指南
  • 2026必备!MBA毕业论文写作神器TOP8测评
  • 智慧交通高速公路城市道路路面抛洒物散落货物障碍物检测数据集VOC+YOLO格式4521张1类别
  • AI 写论文哪个软件最好?测评博主实锤:宏智树 AI 重构毕业论文创作逻辑
  • java_ssm42汽车维修厂配件管理系统预约洗车
  • 【必藏】Agent开发全攻略:从架构设计到实战落地,一篇搞定所有核心链路
  • 学长亲荐9个AI论文网站,继续教育学生轻松搞定毕业论文!
  • 2025–2026 程序员薪资情况浅析
  • SpringBoot+Vue +常规应急物资管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • JBoltAI数据处理中心:全类型数据治理与协同引擎
  • 如何在Windows电脑上设置SSH密钥免密登录Ubuntu Server
  • 【计算机视觉、关键点检测、特征提取和匹配】基于SIFT、PCA-SIFT和GLOH算法在不同图像之间建立特征对应关系,并实现点匹配算法和图像匹配(Matlab代码实现)
  • 人力资源公司哪家好?
  • 基于SpringBoot的在线音乐推荐系统开题报告
  • 基于大数据爬虫+Hadoop+Python的农产品销售预测系统设计与实现开题报告
  • CnOpenData 港股上市公司交易日历数据
  • 【基于STFT-CNN-SVM的故障诊断】一种融合短时傅里叶变换(STFT)、卷积神经网络(CNN)和支持向量机(SVM)的故障诊断研究(Matlab代码实现)
  • 【前端】vue3的指令
  • 扬声器内磁盖模具设计冲压工艺及模具设计——冲压工艺及模具设计
  • hw006 篮球比赛计时器
  • 轨道影院投资得多少钱:揭秘飞行影院的成本与潜在收益分析