接口测试很难?1分钟带你入门接口自动化测试

news2024/11/19 0:28:10

1、什么是接口?

接口是连接前台和后台的桥梁,前台通过接口调用后端已完成的功能,而无需关注内部的实现细节。借助于接口,可以实现前后台分离,各自完成开发工作后,进行联调,提高工作效率

2、接口的分类?

GET,POST,PUT,DELETE

3、接口的区别?

GET与POST的区别

答:GET的请求数据是在URL上,POST的请求数据是通过FROM表单。安全性:POST接口的比GET接口更安全。

PUT和DELETE的区别

答:PUT用于更新和创建资源;DELETE用于删除资源。

4、接口测试流程?

答:需求沟通》》制定测试方案》》设计测试用例》》准备测试环境》》执行测试用例》》缺陷跟踪与回归测试》》上线

5、为什么要设计测试用例?

答:理清测试思路,避免漏测;

提高测试效率;

跟进测试进度;

告诉领导这件事情你做过(也可以避免出了问题后扯皮);

6、如何设计接口测试用例?

答:主要从功能,业务逻辑,安全,异常,接口文档等方面入手。

6.1、功能

接口的功能是否实现,比如调用创建集群接口能正常创建集群。

接口的实现是否与接口文档一致。比如接口的参数与文档中描述的完全一致。

6.2、业务逻辑

接口的调用是否符合业务逻辑。比如支付的时候,需要上游提供订单号;创建集群快照的时候,要校验集群的状态是否可用。

6.3、异常场景

主要分为参数异常和数据异常

下面以一个简单的登录接口为例,正常的请求如下

关键字异常:

a.请求URL或body中包含Python JAVA等语言的关键字。

b.参数为空,比如下图中的参数usernam为空:

c.多参数或少参数:

多参数,请求body中多了参数loginmode

请求居然处理成功了,可见服务端并没有做校验。可以给开发同学提单了。

少参数,删除username参数:

​后台返回错误信息,这种情况是正常的。

d.参数不正确

比如我们把username改成userName

后台给出了错误的提示信息,正常。

数据异常:

a.数据长度

​这种情况,后台需要校验长度,而不是直接进行查询。

b.数据为空

c.数据不正确

6.3、安全

主要是header,cookie,唯一识别码等。

比如我想创建一个集群,那我是不是要先登录呢。在接口测试的时候可以使用错误的token,或已过期的Token下发创建集群的请求并观察服务端的响应。

创建集群,是不是只要登录了就能创建呢?答案显然不是的,有的用户只能查看的权限但无创建权限。那我们就可以使用只有查看权限的用户获取Token后再去下发创建集群的请求,看看结果如何。

关于登录,用户的密码必须要加密后才能传输,否则也是不安全的。可以使用抓包工具进行查看。

还有如果因密码错误导致的登录失败,后台的返回的错误信息是:密码不正确。这会降低暴力破解的难度,不安全。正确的提示信息应该是:用户名或者密码不正确。

6.4、接口文档

接口的实现要和接口文档完全保持一致,方便前台或其他子系统调用。比如接口调用的使用的关键字是username,文档中写的确实usernmae,这是肯定不行的。

接口的返回信息要清晰明确。

7、接口测试工具的选择

postman:是谷歌浏览器的一款插件,非常强大好用。

Fiddler:可以抓取接口信息,也可以进行接口测试,自动回复,mock等,很强大。

假如在接口文档还未完成的情况让测试人员去做接口测试,这种情况下就可以使用Fiddler工具抓取接口信息再进行测试。无需等接口文档完成后。

8、如何提供接口测试的效率?

假如领导让你测试100个接口,你加班加点测试完成后,终于松了一口气。过几天,项目上线了,领导告诉你再去把接口回归测试一遍,这个时候你可能就比较头大了。有没有好的解决方案呢?答案就是API自动化

推荐使用Python+unittest+requests完成测试频率高的接口自动化,如果有更成熟接口测试框架就更好了。一次编写,可多次使用。

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

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

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

相关文章

navicate16 2059 plugin http could not be loaded

plugin http could not be loaded 乱码 library path http.dll 今天新装一台机子的navicate遇到这个问题。 查了半天都是说 caching_sha2_password’的解决办法。 然后是咋解决的呢,真是丢脸 由于我是直接从浏览器复制下来的ip,所以虽然我只复制了ip地…

MacOS M芯片 安装MySQL5.7教程

目录 1. 安装Homebrew1.1 快速安装1.2 检查是否安装成功 2. 通过Homebrew安装MySQL2.1 搜索 MySQL 版本2.2 安装MySQL 5.72.3 位置说明2.4 启动MySQL服务2.5 检查服务状态2.6 设置环境变量2.7 重置密码 3. 测试安装 1. 安装Homebrew 1.1 快速安装 /bin/bash -c "$(curl …

YOLOv8改进有效涨点 | 2023 | SPD-Conv空间深度转换卷积(高效空间编码技术)

一、本文介绍 本文给大家带来的改进内容是SPD-Conv(空间深度转换卷积)技术。SPD-Conv是一种创新的空间编码技术,它通过更有效地处理图像数据来改善深度学习模型的表现。SPD-Conv的基本概念:它是一种将图像空间信息转换为深度信息…

qiankun: 关于ElementUI字体图标加载不出来的问题

问题描述: 子应用使用的是vueelementUI,在项目main.js中需要引入elementUI的样式文件。elementUI的样式文件中有字体文件的引用,是以相对路径的形式写在css文件中的, 本来独立部署项目访问是没问题的,问题出现在以qi…

d3dx9_43.dll如何修复?d3dx9_43.dll文件缺失的多种解决方法指南

d3dx9_43.dll如何修复?d3dx9_43.dll文件丢失是一种常见的计算机问题,它会导致运行某些软件时出现错误。本文将详尽地介绍如何修复这一问题,并对比各种方法的优缺点,以及深入解析该DLL文件的由来及其重要性。 一.多种d3dx9_43.dll修…

MAVLink 协议概述

MAVLink 是一种二进制遥测协议,专为资源受限的系统和带宽受限的链路而设计。MAVLink部署有两个主要版本:v1.0和v2.0,v2.0向后兼容(v2.0实现可以解析和发送v1.0数据包)。遥测数据流以多播设计发送,而改变系统…

Java中线程池相关的七个参数

在Java中,线程池的七个参数是指线程池的相关配置参数,用来控制线程池的行为和性能。这些参数包括: 1. 核心线程数(corePoolSize):线程池中保持的最小线程数,即使线程处于空闲状态,也…

vue3 + TS 项目中使用pinia-plugin-persistedstate持久化缓存

Vue 3和Pinia是一对非常好的组合,可以帮助你构建现代化的Vue应用程序。而pinia-plugin-persistedstate是一个用于在Pinia存储中实现状态持久化的插件。下面我将详细介绍如何在Vue 3应用程序中使用Pinia和pinia-plugin-persistedstate模块。 首先,确保你…

JavaWeb-XML

1.常见的配置文件 1.1 properties 数据库的连接就使用properties文件作为配置文件,properties文件中的配置信息是以键值对的形式存储的。 beiluo.jdbc.urljdbc:mysql://localhost:3306/beiluo beiluo.jdbc.drivercom.mysql.cj.jdbc.Driver beiluo.jdbc.usernamer…

AutoHotKey-study

目录 使用编辑器脚本注意函数解释信息调试方法键盘获取方法脚本练习 最近发现常用键盘的上下左右箭头去操作输入输出问题感觉很不是滋味,不像Linux那样,有vim的使用,就想着有没有什么方法更快捷,更方便的去使用电脑键盘&#xff0…

【开源】基于Vue和SpringBoot的社区买菜系统

项目编号: S 011 ,文末获取源码。 \color{red}{项目编号:S011,文末获取源码。} 项目编号:S011,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1…

浅谈抄表环境对抄表质量的影响

众所周知,抄表环境对抄表质量影响是不言而喻的。不仅影响着营销“三率”,还影响着企业的社会形象。尽管,随着水表出户、物联网技术的发展,抄表环境得到很大改善,但受资金、政策、技术的制约,抄表环境问题仍…

深入了解Java Period类,对时间段的精确控制

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2900多字,预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

二阶变系数线性微分方程

1、变量替换法 欧拉方程 是常数&#xff0c;是已知的函数。 二阶欧拉方程 (1) 当时&#xff0c;令,则 代入&#xff08;1&#xff09;中&#xff0c; .这样就把欧拉方程&#xff0c;化成了二阶常系数非齐次微分方程 当x<0时&#xff0c;令, 例题 解:令,则 代入上面的推…

VPS服务器”性价比之王”系列:RackNerd

2023 黑五&#xff01;&#xff01;&#xff01;新 Ryzen 系列 洛杉矶dc02机房重新补货&#xff01; 支付方式&#xff1a;支付宝、PayPal、信用卡、数字货币 2023 黑五促销活动&#xff08;限量&#xff09; CPU内存硬盘(SSD)流量带宽价格(续费同价)购买链接1核768 MB15GB…

GSLB是什么?谈谈对该技术的一点理解

GSLB是什么&#xff1f;它又称为全局负载均衡&#xff0c;是主流的负载均衡类型之一。众所周知&#xff0c;负载均衡位于服务器的前面&#xff0c;负责将客户端请求路由到所有能够满足这些请求的服务器&#xff0c;同时最大限度地提高速度和资源利用率&#xff0c;并确保无任何…

acwing-Linux学习笔记

acwing-Linux课上的笔记 acwing-Linux网址 文章目录 1.1常用文件管理命令homework作业测评命令 2.1 简单的介绍tmux与vimvimhomeworktmux教程vim教程homework中的一些操作 3 shell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]逻辑运算…

【Virtual Box】显示界面后无反应

本文记录本人在使用Virtual Box中遇到的问题 1.Virtual Box启动后无反应点击菜单栏是可用的&#xff0c;但界面里的无法操作 【解决方法】&#xff1a;以管理员身份启动virtual Box

Linux:dockerfile编写搭建tomcat练习(9)

我使用的httpyum仓库 本地使用了5个文件&#xff0c;tomcat使用的官网解压直接用的包】 Dockerfile 主配置文件 基于centos基础镜像 jdk1.8.0_91 java环境 run.sh 启动脚本 centos.repo 仓库文件 tomcat 源码包 vim Dockerfile写入FROM centos MAINTAINER ta…

Java 设计模式——备忘录模式

目录 1.概述2.结构3.案例实现3.1.“白箱”备忘录模式3.2.”黑箱”备忘录模式 4.优缺点5.使用场景 1.概述 &#xff08;1&#xff09;备忘录模式 (Memento Pattern) 又称为快照模式&#xff0c;是一种行为型设计模式&#xff0c;它提供了一种保存和恢复对象状态的机制。备忘录模…