里P7告诉你,接口测试真的很简单,有手就行

news2024/12/25 13:22:52

 

一、什么是接口测试?

所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。

二、为什么要做接口测试?

1、相比系统测试,更早介入测试,提高效率

2、可以发现前端测试不了的问题,提高版本质量

3、接口标准化了,更容易实现自动化和持续集成,降低测试成本

因此在软件测试招聘岗位的要求中,无论是功能测试、自动化测试、性能测试亦或测试开发岗位,接口测试都是必须掌握的!

 

三、如何开展接口测试?

接口测试的开展一般包含5个部分:接口文档分析、接口用例设计、执行接口用例、定位bug提交并跟踪、输出接口测试报告。

1、接口文档分析

接口文档一般是由后端开发提供,可以是在线的swagger也可以是word。

 

若开发未提供接口文档,则可通过抓包工具fiddler或charles去抓取接口信息进行分析,进行接口测试。

 

获取到接口文档后,我们需要理清楚每个接口包含的请求、响应信息,概括为 接口信息五要素:

1)接口地址url:

http-请求协议,api.lemonban.com-域名或ip,8765-端口号,/futureloan/member/register-资源路径

2)请求方法:

看开发定义的请求方法是什么,测试就对应用什么方法。restful风格中常见的请求方法为post、get、put、patch、delete等

3)请求头:

发送请求到服务器,包含的头部信息。常见的content-type。

4)请求体:

发送请求到服务器,具体传递的数据。例如要完成注册接口的调用,请求体包含手机号mobile_phone、密码pwd、用户名reg_name、验证码verification_code。

5)响应内容:

接口文档中描述的响应内容,与接口测试的实际结果做比较,可以判断当前接口是否通过。响应内容包含:响应码-http状态码、响应头、响应体。

2、接口用例设计

接口用例设计跟功能测试思维相通,需要:1)清楚项目业务 2)运用用例设计8大方法:等价类、边界值、场景法、因果图、判定表、正交试验法、状态迁移法、错误推测法。

以下是接口用例模板参考:

 

3、执行接口用例,进行接口测试

接口测试原理: 模拟客户端发送请求到服务器,服务器接收请求并处理,返回响应到客户端, 客户端接收响应这样的一个过程。

通过接口测试原理可知,进行接口测试需要借助工具或代码。主流的接口测试工具Jmeter、postman。使用工具编写脚本,需要结合接口项目具体应用场景来设计,运用关联、参数化、断言等技术。

 

 

4、发现bug、定位、提交并跟踪

怎么判断是否是bug呢?

1)接口测试中响应结果错误,返回了错误的code码、msg信息:

  • 判断请求:请求地址、方式、请求头、请求正文是否正确,如果不正确则修改对应请求信息再做发送;如果正确,则说明是服务器端问题

  • 进一步查看服务器日志、数据库信息,并整理信息提交bug

2)接口测试中响应结果,code码、msg正确,但返回的data数据不正确:

  • 查看数据库数据正确完整性,并结合服务器日志,整理信息提交bug

3)接口测试中响应结果正确,但若是增删改业务操作:

  • 需进一步确认到数据库层面,数据增删改的正确性

4)考虑安全性:一般接口对请求会做出一些限制,比如请求次数、请求频率限制;涉及敏感信息是否加密

5、接口测试报告

接口测试报告的整理这个看公司要求。有些公司是在整个项目测试结束后,整理一份统一的测试报告。有些公司会要求输出阶段性的测试报告。

 

 

四、接口测试常见面试题

  1. 什么是接口?

  2. 如果模块请求http 改为了https,测试方案应该如何制定,修改?

  3. 用HTTP 协议调试代理工具有什么?详细说明抓取 HTTPS 协议的设置过程?

  4. 接口产生的垃圾数据如何清理?

  5. 下个接口请求参数依赖上个接口的返回数据?

  6. 接口测试的步骤有哪些?

  7. 接口测试中依赖登录状态的接口如何测试?

  8. 依赖于第三方数据的接口如何进行测试?

  9. 文件上传的接口如何处理?

  10. 解释什么是SOAP?

  11. 解释什么是REST API?

  12. API测试发现的Bug类型是什么?

  13. 我们测试的接口属于哪一类?

  14. 说下你接口测试问题如何定位?

  15. Cookie 保存在哪里?

  16. HTTP有哪些请求方法?

  17. 接口自动化测试的流程?

  18. 接口测试用例的编写要点有哪些?

  19. 提到UI级别测试和API测试之间的关键区别?

  20. HTTPS的工作原理?

  21. HTTPS和HTTP的区别?

  22. POST和GET有什么区别?

  23. Session与Cookie有什么区别?

  24. TCP和UDP有什么区别?

  25. 在API测试中测试的常用协议是什么?

  26. Jmeter、postman工具的区别?

  27. 说下接口工具如何去操作数据库?

  28. 传参数据格式除了json格式还有哪些?

  29. 接口测试数据过多时如何进行测试?

  30. 你们请求参数加密怎么处理的?

  31. 接口测试中有哪些印象深刻的bug?

  32. 项目中有测试过多少个接口?写过多少用例?

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

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

相关文章

windows bat批处理文件,实现某个软件的重启

bat批处理实现软件重启功能windows环境需要明确的概念按照启动文件xxx.exe去定位某个程序的Pid根据pid杀死某个进程根据exe文件启动某个软件bat示例,杀死软件进程并重启windows环境 我这里用的是win10企业版,在基础功能上和家庭版区别不大 需要明确的概…

19uec++多人游戏【基础AI导航】

首先把这一期的资源导入一下 创建一个球体类,继承于pawn类 为其添加静态组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "Components")class UStaticMeshComponent * MeshComponent; #include "Components/StaticMeshComponent.h&qu…

具备统一门户功能的内网即时通讯软件才是发展趋势

作为企业领导,我们最害怕的就是下属工作效率不高,没办法为企业带来价值,有时候并不一定是员工自身存在问题,“工欲善其事,必先利其器“正好说明了,如果我们有能力在线的员工加上强大的办公软件辅助&#xf…

如何线上登记版权?

问题一:为什么要登记版权? 告诉你一个行业秘密,其实可以不用登记版权,为什么?因为作品自完成就自动拥有版权,作者可以自己选择登记与否,不登记对版权也没有影响。这里可能有人要问了&#xff0…

xss-labs/level12

这一关首先尝试以下 <script>alert(xss)</script> 不废话 直接看源代码 很明显发现第一个输出点被转义了 根本无法通过script标签来完成弹窗 然后依然是四个隐藏表单 我们可以先试一试在不用抓包工具的前提下 我们能不能将某个隐藏表单给显示出来 构造如下 &l…

Docker的常用基础命令(详细讲解)

首选需要大家搭建好Docker环境&#xff0c;没有环境的可以查看前面的详细讲解安装Docker引擎的文章&#xff08;在CentOS上安装Docker引擎_征服bug的博客-CSDN博客&#xff09; 首先是安装好Docker 引擎 一&#xff0c;如何启动与停止引擎服务 #启动docker systemctl start do…

JAVA-GUI工具的编写-----请求篇

上节我们说到&#xff0c;我们制作了样子货的GUI&#xff0c;但是没有嵌入任何的按钮事件&#xff0c;并且上一次忘记加进去命令执行的确定按钮&#xff0c;让我们简单的回顾一下子吧 import javafx.application.Application; import javafx.collections.FXCollections; impor…

R在GIS中用ggmap地理空间数据分析

概要 做过O2O&#xff08;Online To Offline,在线离线/线上到线下&#xff09;的小伙伴知道&#xff0c;GIS数据需要具体到精准的位置(即经纬度)&#xff1b;对于连锁门店&#xff0c;使用GIS和其它的数据密集型服务遵循一个简单的逻辑&#xff1a;数据有助于企业节省开支&…

Vilatile底层逻辑总结

#### 增加volatile 使用JIT优化的时候 禁止出现语句重排 #### volatile是Java虚拟机提供的轻量级同步机制。 - 保证可见性 - 不保证原子性&#xff08;整体流程成功 整体流程失败&#xff09;如果要保证原子性-加 synchronized 或者直接使用 Automic 原子类 - 禁止指令重排&am…

VBA Regex 正则表达式应用介绍

. VBA正则表达式介绍 正则表达式或 RegEx 用于在字符串中查找特定的字符。 本文将展示一个 VBA RegEx 示例,并演示为什么在 VBA 中使用正则表达式如此强大。 正则表达式是一个比较大的话题,关于这方面的书很多。 同时也是一个让许多人感到害怕的话题,因为它的语法比较神秘和…

【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION

【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION ABSTRACT 【主要工作】用一个单一的、有目标条件的策略来解决许多机器人操作任务&#xff0c;包括对之前未见过的物体的操作。 【主要方法】对于目标发现过程采用非对称自我博弈方法…

Java 输入输出流简介和应用 (Java实现序列化工具类)

目录 简介 常用模板 实现序列化工具类 简介 应用场景 代码 简介 Java 流相关的类都封装在 java.io 包中&#xff0c;而且每个数据流都是一个对象。所有输入流类都是 InputStream 抽象类&#xff08;字节输入流&#xff09;和 Reader 抽象类&#xff08;字符输入流&#…

ISP Tuning

ISP Tuning1. 简介2. 常用算法2.1 BLC2.2 AWB (处理色温引起的偏色问题)2.2.1 色温&#xff08;Color Temperature:温度越低色温越高&#xff09;2.2.2 为什么需要AWB &#xff08;消除光源颜色的影响&#xff09;2.2.3 AWB的目标2.2.4 如何实现自动白平衡 (先确定色温然后找对…

汽配erp管理系统目前有哪些公司提供了解决方案?

之前的一个朋友提问&#xff1a;我们是一个有200人左右的汽车配件供应商&#xff0c;为了迎合整车厂家的需要&#xff0c;提高自身管理运作的效率&#xff0c;准备上erp管理软件来规范企业的运作。现阶段我们内部管理的信息化程度比较低&#xff0c;从库房到现场作业都是靠纸质…

【Labivew】G语言

&#x1f6a9;write in front&#x1f6a9; &#x1f50e;大家好&#xff0c;我是謓泽&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f3c5;2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

第七章 贝叶斯分类器(上)

7.1 贝叶斯决策论 贝叶斯决策论是概率框架下实施决策的基本方法。 假设有N种可能的类别标记&#xff0c;即y{c1,c2,…,cn}&#xff0c;λij是将一个真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci | x)可获得将样本x分类为ci所产生的期望损失&#xff0c;即在样…

C++多态总结

多态的概念 多态的基本概念 多态支持不同对象完成不同的行为。 定义“人”为一种对象&#xff0c;那么不同的人对于一件事会有不同的行为。 比如&#xff1a;普通人买票时&#xff0c;票价为全价。 学生买票时&#xff0c;是半价买票。 军人买票时则可优先买票。同属于人这一大…

java项目-第165期ssm咨询交流论坛_ssm毕业设计_计算机毕业设计

java项目-第165期ssm咨询交流论坛_ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm咨询交流论坛》 该项目分为2个角色&#xff0c;管理员和用户。 用户可以浏览前台,包含功能有&#xff1a; 首页、学校风采、师资力量、投稿信息 、论坛交流、系统公…

认识vue3以及语法运用简介

Vue3支持2的大多数特性 性能提升: 打包大小减少41%, 初次渲染快55%,更新快133%, 内存使用减少54% 推出一系列组合型API ref与reactive watch与computed 新的声明周期函数。 一、组合API------reactive、ref 与 toRefs 在Vue2.x中&#xff0c;定义数据都是在data中&#xff0c;但…

LeetCode——Weekly Contest 320(附动态规划解题思路)

LeetCode周赛第320场记录 质量还不错的一场周赛&#xff0c;也可以学到不少知识。 2475. 数组中不等三元组的数目(排序荷兰国旗问题) 这道题非常简单&#xff0c;就是从头向后一一找出不含重复数字的三元组。我在比赛时直接写了一个三重循环暴力来解&#xff0c;这道题的数据…