接口测试要测试什么?

一. 什么是接口测试?为什么要做接口测试?

  接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

二、接口测试用例设计

接口测试的用例设计是关键,不能只是单纯正常请求通过就算接口测试过了,要从业务、功能、性能等上去设计用例。参考了网上的资料还有平时自己的一些经验,下图算是一个大致的设计思路吧

三、怎么做接口测试?

一般情况下,由于我们项目前后调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送和接收。这边给大家介绍国产接口测试工具apipost的使用方法

发送HTTP请求


API界面功能布局


API请求参数


Header 参数
你可以设置或者导入 Header 参数,cookie也在Header进行设置


Query 参数
Query 支持构造URL参数,同时支持 RESTful 的 PATH 参数(如:id)


Body 参数


Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面
1)当你需要提交表单时,切换到 x-www-form-urlencoded


2)当你需要提交有文件的表单时,切换到 form-data


3)当您需要发送JSON对象或者其他对象时,切换到对应的raw类型即可


API 请求响应
点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等。


注意:返回数据默认是Pretty模式,便于查看 JSON XML 格式。您可以通过切换 原生 或 预览 模式 查看其它类型的类型。

返回Headers

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVPR 2023: Leapfrog Diffusion Model for Stochastic Trajectory Prediction

我们使用以下6个分类标准对本文的研究选题进行分析: 1. 扩散模型类型: 标准扩散模型蛙跳扩散模型 (LED) 其他扩散模型变体 2. 预测类型: 确定性 vs. 随机性个体 vs. 群体3. 数据模态: 单变量 (仅位置数据)多模态 (结合视频、激光雷达等附加数据)4. 推理速度: 实时 vs. 非实时…

Maven 安装教程

一、安装地址 1.官网安装最新版本 2.其他版本,我这里是maven-3/3.6.2 二、配置环境 1. 点击此电脑鼠标右击->属性->高级系统设置->环境变量 ,配置系统变量->新建:MAVEN_HOME 2.配置path 路径 :%MAVEN_HOME%\bin 三、安…

Pinia的使用与原理

Pinia 与 Vuex 对比 vuex: ts兼容性不好命名空间的缺陷(只能有一个store)mutation和action有区别 pinia: 更简洁的APIts兼容性更好无命名空间的缺陷(可以创建多个store)删除了mutation,统一在action中开发 使用方法 引入 // main.ts imp…

ChatGPT之制作短视频

引言 今天带来了如何使用 ChatGPT和剪映来制作简单的短视频教程,在这其中 ChatGPT的作用主要是帮我们生成文案,剪映的功能就是根据文案自动生成视频,并配上一些图片、动画、字幕和解说。 ChatGPT生成文案 首先,我们需要使用提示…

Anaconda的安装及其配置

一、简介 Anaconda是一个开源的包、环境管理器,主要具有以下功能和特点: 提供conda包管理工具:可以方便地创建、管理和分享Python环境,用户可以根据自己的需要创建不同的环境,每个环境都可以拥有自己的Python版本、库…

python爬虫抓取新闻并且植入自己的mysql远程数据库内

python爬虫抓取新闻并且植入自己的mysql远程数据库内!这个代码是我自己写了很久才写好的,分享给大家。喜欢的点个赞。 # -*- coding: utf-8 -*- from xml.etree import ElementTree as ET import datetime import randomimport pymysql from selenium im…

常用排序算法(Java版本)

1 引言 常见的排序算法有八种:交换排序【冒泡排序、快速排序】、插入排序【直接插入排序、希尔排序】、选择排序【简单选择排序、堆排序】、归并排序、基数排序。 2 交换排序 所谓交换,就是序列中任意两个元素进行比较,根据比较结果来交换…

nginx slice模块的使用和源码分析

文章目录 1. 为什么需要ngx_http_slice_module2. 配置指令3. 加载模块4. 源码分析4.1 指令分析4.2 模块初始化4.3 slice模块的上下文4.2 $slice_range字段值获取4.3 http header过滤处理4.4 http body过滤处理5 测试和验证 1. 为什么需要ngx_http_slice_module 顾名思义&#…

程序员为什么不喜欢关电脑,这回答很霸道!

在大家的生活中,经常会发现这样一个现象:程序员经常不关电脑。 至于程序员不关电脑的原因,众说纷纭。 其中这样的一个程序员,他的回答很霸道: “因为我是程序员,我有权选择不关电脑。我需要在任何时候都能够…

C++一维数组

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 铁汁们大家好呀,我是PingdiGuo_guo,今天我们来学习一下数组(一维)。 文章目录 1.数组的概念与思想 2.为什么要使用数组 3.数组的特性 4.数组的操作 1.定义…

0 代码自动化测试:RF 框架实现企业级 UI 自动化测试

前言 现在大家去找工作,反馈回来的基本上自动化测试都是刚需!没有自动化测试技能,纯手工测试基本没有什么市场。 但是很多人怕代码,觉得自动化测试就需要代码!代码学习起来很难! 当然代码学习不难&#xf…

优思学院|精益生产-改变制造业的革命性理念

在今日这个变幻莫测、竞争如潮的市场环境中,企业如同海上的帆船,面临着狂风巨浪的考验。在这样的大背景之下,精益生产(Lean Production)这一理念,宛如一盏明灯,指引着无数企业穿越迷雾&#xff…

安科瑞消防设备电源监控系统在杭后旗医院项目的设计与应用

摘要:本文简述了消防设备电源的组成原理,分析了消防设备电源监控系统在应用中的设计依据和相关规范。通过安科瑞消防设备电源监控系统在杭后旗医院项目的实例介绍,阐述了消防设备电源功能的实现及其重要意义。 关键词:消防设备电…

OpenGL的着色器内存访问

着色器内存访问 Shader Memory Access 着色器在高度流水线化的系统中执行时,由于其读写操作的顺序在很大程度上未定义,可能会引发排序和同步问题。 着色器内存访问顺序: 对于顶点着色器和细分评估着色器,尽管对于应用程序指定的每…

【jenkins】主从机制及添加Slave节点操作

一、master-slave 日常构建Jenkins任务中,会经常出现下面的情况: 自动化测试需要消耗大量的 CPU 和内存资源,如果服务器上还有其他的服务,可能会造成卡顿或者宕机这样的情况; Jenkins 平台上除了这个项目&#xff0c…

【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】

前言 大家好吖,欢迎来到 YY 滴Linux 系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

单调队列优化DP,LeetCode1696. 跳跃游戏 VI

一、题目 1、题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i 1, min(n - 1, i k)] 包含 两个…

开源软件在技术革新和行业变革中的作用

引言: 在数字化浪潮推动下,开源软件以其独特的魅力重构了软件开发的生态系统,成为技术创新和行业变革的催化剂。它通过低成本、高协作性、极致透明度的特征,成为企业和个人的首选。本文将深度探讨开源软件的影响力,展…

【C++刷题】二叉树的深搜

二叉树的深搜 一、计算布尔二叉树的值1、题目描述2、代码3、解析 二、求根节点到叶节点数字之和1、题目描述2、代码3、解析 三、二叉树剪枝1、题目描述2、代码3、解析 四、验证二叉搜索树1、题目描述2、代码3、解析 五、二叉搜索树中第K小的元素1、题目描述2、代码3、解析 六、…

16.docker删除redis缓存数据、redis常用基本命令

1.进入redis容器内部 (1)筛选过滤出redis容器 docker ps | grep "redis"(2)进入redis容器 #说明:d24为redis容器iddocker exec -it d24 /bin/bash2.登陆redis (1) 进入redis命令行界面 redis-cli说明&a…