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

news2024/9/25 21:29:26

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完成测试频率高的接口自动化,如果有更成熟接口测试框架就更好了。一次编写,可多次使用。


绵薄之力【资源分享】

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

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享~

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

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

相关文章

开学季电容笔怎么选?学生党高性价比电容笔推荐

或许许多人会认为苹果Pencil是无可取代的,但是我认为这压感取决于我们的预算和需求。要是我们对于绘画没有过高的要求的话,其实可以选择使用平替电容笔,而没必要入手apple pencil。为了让你对电容笔有更多的认识,我接下来推荐几款…

Flutter第三方插件objectbox的使用

Flutter基础 demo地址 参考地址 文章目录Flutter基础前言一、demo效果图二、objectbox是什么?三、objectbox的使用1.在pubspec.yaml文件中添加2.执行flutter pub get命令3.创建数据库模型4.执行flutter pub run build_runner build 命令5.如果报错则执行flutter pu…

Renderdoc中一个daraw的API调用以及其作用

分析renderdoc中一个draw调用的api接口,如下是一个draw调用的渲染api的过程,下面来分析一下这几个函数的作用。 PSSetShaderResources、VSSetShader、PSSetShader这三个方法在renderdoc调用过程使用的方法,这三个方法的做法分别如下&#xff…

【华为OD机试模拟题】用 C++ 实现 - 日志采集系统(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

NMS详解

(类别,坐标1,坐标2,坐标3,坐标4,类别分数) step1:对最后一列分数进行排序 ,可以看到类别就被打乱了 step2: 弹出得到selected_bboxes作为基准,减少bbox_list。其实就是准…

寻路库recastnavigation改造

本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。 Git仓库: https://github.com/jiangguilong2000/recastnavigation 首先,我们要做一些前置操作 SDL: 开放源代码的跨平台多媒体开发库 Premake:量跨平台构建系统 环境: VS 2019…

国内知名插画培训机构有哪些,学习插画怎么选培训班

国内知名插画培训机构有哪些?给大家梳理了国内5家专业的插画师培训班,最新无大插画班排行榜,各有优势和特色! 一:国内知名插画培训机构排名 1、轻微课(五颗星) 主打课程有日系插画、游戏原画…

Linux 计划任务讲解

目录 计划任务 一次性计划任务 长期性计划任务 计划任务 管理员可以编辑自己的和普通用户的计划任务 普通用户只可以编辑自己的计划任务 计划任务根据执行方式分为一次性计划任务、长期性计划任务 一次性计划任务 此计划只执行一次,执行后或就不会再执行了 通…

项目管理之三点估算(正态分布)

三点估算法主要来自于项目的计划评审技术 PERT,能评估时间与概率的关系。 三点估算法不仅可以用于定量风险分析,也可用于进度管理中活动历时估算。先记住几个概念:最乐观时间TO:完成该工作最少需要的时间;最悲观时间TP…

R统计绘图-PCA详解1(princomp/principal/prcomp/rda等)

此文为《精通机器学习:基于R》的学习笔记,书中第九章详细介绍了无监督学习-主成分分析(PCA)的分析过程和结果解读。 PCA可以对相关变量进行归类,从而降低数据维度,提高对数据的理解。分析的主要目的一般是:1)识别数据…

CVPR2022 | ABINet+: 似人阅读: 场景文本识别的自主、双向和迭代语言建模

论文标题:ABINet:Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition代码:https://github.com/FangShancheng/ABINet链接:https://arxiv.org/abs/2103.06495一、AbstractH…

Linux 安装php环境

1.下载php wget http://am1.php.net/distributions/php-7.3.2.tar.gz 2.解压 tar -zxvf php-7.3.2.tar.gz 3.安装扩展 接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线…

C++回顾(一)——从C到C++

前言 在学习了C语言的基础上&#xff0c;C到底和C有什么区别呢&#xff1f; 1.1 第一个C程序 #include <iostream>// 使用名为std的命名空间 using namespace std;int main() {// printf ("hello world\n");// cout 标准输出 往屏幕打印内容 相当于C语言的…

ELK日志分析--Kibana

Kibana 概述 部署安装浏览页面并使用 1.Kibana 概述 Kibana-是进入Elastic的窗口使用Kibana&#xff0c;可以 1 搜索&#xff0c;观察和保护。 从发现文档到分析日志再到发现安全漏洞&#xff0c;Kibana是您访问这些功能及其他功能的门户。 2 可视化和分析您的数据。 搜索隐藏的…

github ssh密钥配置,克隆远程仓库

GitHub的SSH配置 在往github上push项目的时候&#xff0c;如果走https的方式&#xff0c;每次都需要输入账号密码&#xff0c;非常麻烦。而采用ssh的方式&#xff0c;就不再需要输入&#xff0c;只需要在github自己账号下配置一个ssh key即可&#xff01; 很多朋友在用github管…

kkfileview在预览word文档中文乱码

因为liunx服务器没有相关中文字体 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 2.上传服务器至目录/usr/share/fonts 解压 unzip fonts.zip 3.执行命令 mkfontscale mkfontdir fc-cache 如果报错命令没有找到&#xff0c;则安装对应命令&#xff0c;例如 yum in…

Mikrotik Ros安全加固

基本概述 Mikrotik系列路由器也成RouterOS软路由&#xff0c;RouterOS是基于Linux内核的网络操作系统&#xff0c;其预装在MikroTik生产的路由器、无线设备以及RouterBOARD上。同时&#xff0c;它也可以安装在x86平台的个人电脑上&#xff0c;用于将电脑转化为路由器&#xff…

【01】从零开始学Python—数据分析与挖掘概述

马云曾说“中国正迎来从IT时代到DT时代的变革”&#xff0c;DT就是大数据时代。数据已成为企业的核心资产和宝贵资源&#xff0c;企业愈加重视和善加利用数据分析与挖掘技术。 1.1什么是数据分析与挖掘 数据分析和挖掘都是基于搜集来的数据&#xff0c;应用数学、统计、计算机…

6个思维矩阵,90%的项目经理都收藏了

早上好&#xff0c;我是老原。我们都是知道&#xff0c;项目经理的管理能力如何&#xff0c;往往也决定项目的走向如何&#xff1f;今天老原给大家分享这6个管理矩阵&#xff0c;是每一位项目经理需要修炼的能力。01、项目领导力矩阵项目领导力矩阵还是蛮有意思的&#xff0c;四…

记忆化搜索

一.记忆化搜索概述 1.概念 搜索是一种简单有效但是效率又很低下的算法结构&#xff0c;其低效的原因主要在于存在很多重叠子问题。而记忆化搜索则是在搜索的基础上&#xff0c;利用数组来记录已经计算出来的重叠子问题状态&#xff0c;进行合理化的剪枝&#xff0c;从而降低时…