一篇文章带你真正了解接口测试(附视频教程+面试真题)

news/2024/11/27 8:46:47/

目录

一、什么是接口测试?

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

三、如何开展接口测试?

四、接口测试常见面试题


一、什么是接口测试?

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

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

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

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

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

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

                 2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N2N8https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

三、如何开展接口测试?

接口测试的开展一般包含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大方法:等价类、边界值、场景法、因果图、判定表、正交试验法、状态迁移法、错误推测法。

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

                  2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N2N8https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

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. 项目中有测试过多少个接口?写过多少用例?

                 2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N2N8https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

 


http://www.ppmy.cn/news/34990.html

相关文章

计网之HTTP协议和Fiddler的使用

文章目录一. HTTP概述和fidder的使用1. 什么是HTTP2. 抓包工具fidder的使用2.1 注意事项2.2 fidder的使用二. HTTP协议格式1. HTTP请求格式1.1 基本格式1.2 认识URL1.3 方法2. 请求报头关键字段3. HTTP响应格式3.1 基本格式3.2 状态码一. HTTP概述和fidder的使用 1. 什么是HTT…

【C++初阶】五、内存管理

文章目录1. C/C内存分布2. C语言中动态内存管理3. C中动态内存管理方式new/delete操作内置类型new和delete操作自定义类型4.C和C在内存申请失败时处理方式的区别5. operator new与operator delete函数6. new和delete的实现原理内置类型自定义类型7. 定位new表达式(placement-ne…

刷题之最长公共/上升子序列问题

目录 一、最长公共子序列问题(LCS) 1、题目 2、题目解读 ​编辑 3、代码 四、多写一题 五、应用 二、最长上升子序列问题(LIS) 1、题目 2、题目解读 3、代码 四、多写一道 Ⅰ、题目解读 Ⅱ、代码 一、最长公共子序列问题&…

Hive数据仓库简介

文章目录Hive数据仓库简介一、数据仓库简介1. 什么是数据仓库2. 数据仓库的结构2.1 数据源2.2 数据存储与管理2.3 OLAP服务器2.4 前端工具3. 数据仓库的数据模型3.1 星状模型3.2 雪花模型二、Hive简介1. 什么是Hive2. Hive的发展历程3. Hive的本质4. Hive的优缺点4.1 优点4.2 缺…

一篇文章搞定js正则表达式

我们测试正则表达式是否正确的方法有很多,例如通过正则表达式找到拼配的字符串: 在vscode编辑器中点击搜索框中的第三个按钮就可以实现: 或者 在浏览器中的控制台也可以实现: 我们可以通过下面的在线网站来测试你写的正则是否正确…

你是否了解AR技术?AR技术就在我们身边

文章目录专栏导读1、前言2、AR技术原理3、游戏领域应用4、教育领域应用5、医疗领域应用6、零售领域应用专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》,本专栏…

怎么将模糊的照片变清晰

怎么将模糊的照片变清晰?珍贵的照片每个人都会有,而遇到珍贵的照片变模糊了,相信会让人很苦恼的。那么有没有办法可以解决呢?答案是有的,我们可以用工具让模糊的照片变得清晰。下面就来分享一些让模糊的照片变清晰的方法,有兴趣…

【Linux】-初识Linux

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Linux】 分享:逆着光行走,任风吹雨打。 ——《起风了》 主要内容:Linux的一些最基本指令,Linux的小程序,Linux关于连…