news 2026/4/16 14:35:24

接口测试|前端交互测试和后端逻辑测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口测试|前端交互测试和后端逻辑测试

前端交互测试

前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。

测试准备

在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分:

  • 什么功能属于前端页面逻辑功能

  • 什么功能又属于前端与后端交互功能

  • 前端功能与后端是通过什么接口方式进行交互

  • 前、后端,双方有什么样约束

在这里提到了约束这个概念,在实际项目研发过程中,功能测试阶段所产生 的 bug,有很大一方面是由于前、后端沟通不彻底,需求确认模糊导致。在进入研发前,双方将各自 后续由于 bug 导致的反工工作量。

测试方法

可以使用抓包工具来进行交互层面测试,查看每个交互功能,对应的接口是否正确 (包含请求头、请求参数、响应以及其他约束项),确保前端按照后端的要求正确地进行了调用。

在交互过程中,针对一个接口也会有多个场景,前端会根据不同的入参来调 用不同的场景,根据不同响应结果, 进行响应数据的改写,来获得不同响应,验证不同响应下前端的展示效果。在这里我们也可以使用一些 不同场景的交互测试。

推荐 Mock 工具:

  • moco 框架:https://github.com/dreamhead/moco

  • easy-mock: https://github.com/easy

  • Metersphere 一站式测试平台上也可以定义

后端逻辑测试

接口后端逻辑测试依然遵循“输入—处理—输出”这样的模式。用户输入一串数据,然后让这个接口或者让这个后台功能来处理,检查输出结果跟期望是否一 致。

接口测试用例设计应该满足需求文档,且对异常场景进行友好处理;且测试 这个接口是否安装接口文档进行开发。

测试用例设计思路

从输入参数进行考虑设计

1.优先级-针对所有接口

  • 暴露给其他系统、第三方调用的接口

  • 系统内部调用的核心功能接口

  • 系统内部调用的非核心功能接口

2.优先级-针对单个接口

  • 正向测试用例优先,逆向测试用例次之(通常情况下是这样);

  • 是否需要满足前提条件 > 是否携带默认值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制校验 > 参数数据类型自身的数据范围值 限制校验。

3.设计分析

从接口测试后端业务逻辑来讲,设计接口测试用例需要考虑以下几方面:

  • 是否满足前提条件 有的接口需要首先满足一定条件,才可成功获取数据。最常见的就是需 要用户登录信息的接口(用户 token) 逆向用例:设计不满足前置条件的用例。是否携带默认值参数 正向测试用例:存在默认值的参数都不填写、不传参,必填参数都填写正确并且存在正 确的常规值,这方面考虑设计测试用例。

  • 业务逻辑、功能需求 这个环节需要根据具体的业务需求,结果接口定义文档,可设计出多条 正向用例和逆向用例。

  • 参数是否必填 针对每个必填参数,设计一条或多条参数值为空的逆向测试用例。

  • 参数之间是否存在关联 可根据参数之间的相互关联关系设计一条或多条用例。

  • 参数数据类型限制 针对每个参数类型设计与定义的类型不符的逆向测试用例。

  • 参数自身的数据范围值限制校验 针对所有参数,设计每个参数在数据范围内为最大或者最小的正向测试用例;

针对所有参数,设计一条或者多条参数值超过或者小于数据范围的逆向 测试用例;

总结一下,如果以上几个方面考虑全面的话,基本可覆盖以下三点:

a、主流程测试用例:正常的主流程业务需求校验

b、分支流程测试用例:正常的分支流程需求校验

c、异常流程测试用例:异常业务场景的容错校验

从输出参数进行考虑设计

1、输出结构是否与接口文档定义的一致

2、输出的各个字段类型是否与接口文档定义的一致

3、输出的各个字段的值是否符合逻辑且值正确

测试环境

进行接口测试之前首先需要与开发确认好测试环境,通常情况下,需要在三 个环境进行测试:测试环境、准生产环境及生产环境。

为了方便快捷切换接口测试环境的 host 指向,我们可借助以下工具进行切 换:SwitchHosts、Nohost、postman 等。

测试方式

  • 手工测试

手工测试就是借助浏览器或者部分测试工具(postman、Jmeter 等)手动执 行测试用例的过程。针对新开发接口建议首先进行全面的手工测试后再将部分可 重复执行用例加入自动化测试。

  • 自动化测试

接口测试相对容易实现自动化,且相对 UI 自动化也比较稳定,可以减少人 工回归测试人力成本与时间,缩短测试周期,是支持后端快速发版需求,达到低 成本高收益的根源。

接口自动化测试同样需要有需求分析、用例设计,依据用例设计使用 python 或者 java 等语言结合框架,编写自动化测试脚本,实现接口自动化测试、自动 执行及自动发送测试报告等环节。

一个好的接口自动化测试框架应该涵盖以下几点:

a) 流程方面:在回归阶段加强接口各种场景的覆盖度,并逐步向系统测试, 冒烟测试阶段延伸,最终达到全流程自动化。

b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等。

c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

d) 结果校验:加强自动化校验能力,如数据库信息校验。

其他关注点

以下这部分测试同业务逻辑测试同等重要,甚至从某种意义上讲,比业务逻 辑测试更加重要,测试过程中不容忽视。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:51:55

Miniconda如何简化多GPU节点的环境一致性管理?

Miniconda如何简化多GPU节点的环境一致性管理? 在现代AI研发中,一个看似简单却频频引发“血案”的问题始终困扰着团队:为什么我的代码在A节点上训练正常,到了B节点却报CUDA版本不兼容?为什么同事复现不了我昨天跑出的…

作者头像 李华
网站建设 2026/4/15 3:29:14

使用MATLAB-快速计算常用水文评价指标

%目标函数快速计算,用于查看 clear; clc;% 读取实测径流数据 Qo load(observed.txt); % 检查数据格式,假设数据是每行一个数值,如果数据是列向量则无需转置 if size(Qo, 1) 1 % 如果Qo是行向量Qo Qo(:); % 转换为列向量 elseif size(Qo,…

作者头像 李华
网站建设 2026/4/15 19:18:46

清华源加速下载Qwen3-32B模型权重文件方法详解

清华源加速下载Qwen3-32B模型权重文件方法详解 在大模型落地日益深入的今天,一个现实问题困扰着无数AI开发者:明明本地GPU集群已准备就绪,推理服务也配置完成,却卡在了最基础的一环——模型权重下载太慢。尤其是像 Qwen3-32B 这样…

作者头像 李华
网站建设 2026/4/15 20:17:08

LobeChat环境变量配置详解:灵活调整运行参数

LobeChat环境变量配置详解:灵活调整运行参数 在构建现代AI对话系统时,一个直观、强大的前端框架往往决定了用户体验的上限。LobeChat 正是这样一款基于 Next.js 的开源聊天应用,它不仅支持接入 GPT、Claude、通义千问等多种大模型&#xff0c…

作者头像 李华
网站建设 2026/4/15 22:48:19

49、技术领域综合知识解析

技术领域综合知识解析 1. 符号与运算符 在编程和命令行操作中,有众多符号和运算符发挥着关键作用。以下是一些常见符号及其功能: | 符号 | 功能 | | — | — | | &(与号) | 可作为赋值运算符(&=)、逻辑与运算符(&&)、位与运算符,还用于开始 HTML…

作者头像 李华
网站建设 2026/4/16 12:55:35

固态断路器技术现状、应用场景与核心挑战

在全球能源转型与新型电力系统建设的双重驱动下,直流配电、新能源并网、电动汽车快充等领域对电路保护设备的响应速度、可靠性与智能化水平提出了严苛要求。传统机械断路器因响应迟缓、电弧烧蚀、寿命有限等固有缺陷,已难以适配现代电力系统的发展需求。…

作者头像 李华