全网最完整,接口测试总结彻底打通接口自动化大门,看这篇就够了......

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试

前言

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

为什么要做接口测试?

相比系统测试,更早介入测试,提高效率;
可以发现前端测试不了的问题,提高版本质量;
接口标准化了,更容易实现自动化和持续集成,降低测试成本;
 

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

如何开展接口测试?

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

接口文档分析

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

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

 

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

1)接口地址url:
例注册接口地址:http://api.xxxxxx.com:1516/xxx

http-请求协议,api.xxxxxx.com-域名或ip,1516-端口号,/xxx-资源路径

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

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

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

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

接口用例设计

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

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

 

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

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

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

 

 

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

怎么判断是否是bug呢?
1)接口测试中响应结果错误,返回了错误的code码、msg信息:
判断请求:请求地址、方式、请求头、请求正文是否正确,如果不正确则修改对应请求信息再做发送;如果正确,则说明是服务器端问题
进一步查看服务器日志、数据库信息,并整理信息提交bug

2)接口测试中响应结果,code码、msg正确,但返回的data数据不正确:
查看数据库数据正确完整性,并结合服务器日志,整理信息提交bug

3)接口测试中响应结果正确,但若是增删改业务操作:
需进一步确认到数据库层面,数据增删改的正确性

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

接口测试报告

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

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

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

相关文章

【Spring Cloud系列】Hystrix应用详解

【Spring Cloud系列】Hystrix应用详解 文章目录 【Spring Cloud系列】Hystrix应用详解一、概述二、什么是Hystix三、Hystrix作用四、Hystrix设计原则五、Hystrix实现原理5.1 隔离5.2 熔断5.3 降级服务降级主要用于什么场景呢实现服务降级需要考虑几个问题降级分类 5.4 缓存请求…

呼吸灯——FPGA

文章目录 前言一、呼吸灯是什么?1、介绍2、占空比调节示意图 二、系统设计1、系统框图2、RTL视图 三、源码四、效果五、总结六、参考资料 前言 环境: 1、Quartus18.0 2、vscode 3、板子型号:EP4CE6F17C8 要求: 将四个LED灯实现循环…

RPC和HTTP区别是什么?

🏆今日学习目标: 🍀RPC和HTTP区别是什么? ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的…

latex3【排版】

多行公式排版:(gather、align、split、cases) \section{多行公式}%gather环境\begin{gather} abba \\ abcbaccbacab\end{gather}\begin{gather*} abba \\ abcbaccbacab\end{gather*}​\begin{gather} abba \\ 123 \notag …

第十五章——友元、异常

友元 类并非只能拥有友元函数,也可以将类作为友元。在这种情况下,友元类的所有方法都可以访问原始类的私有成员和保护成员。因此尽管友元被授予从外部访问类的私有部分的权限,但它们并不与面向对象的编程思想相悖,相反提高了共有…

【高效】极致简化vuex.js(仅需6行代码),让快速敏捷开发不是梦!

vuex.js import Vue from vue; import Vuex from vuex; Vue.use(Vuex); // 设置vuex所有变量 let state {_qiangGe: false,//需要添加全局变量就在此处回车添加一个即可,非常方便!!! }, getters {}, mutations {}, actions …

重塑未来的1课:组装式交付新引擎——华为云智能化低代码平台

HDC期间可参与Astro注册抽奖,活动详情见文末! 紧跟低代码技术飞速发展——华为云Astro智能工作流惊艳HDC.Cloud 2023! 企业对未来智能化组装式交付的期待已不是空想。智能化低代码即将重新定义传统交付模式,密切连接AI科技与创造…

万字解读 | 数据可视化平台--FineBI

什么是BI 学习目标 知道什么是BI 知道FineBI的优势 1. 商业智能: BI(Business Intelligence)是指通过收集、分析和解释企业内外部数据,为企业决策提供支持和指导的一种技术和工具。商业智能的目标是帮助企业管理者和决策者更好地理解企业…

4. Shuffle 5. 内存的管理

4. Shuffle (1) Shuffle 的原理和执行过程 在Scala中,Shuffle是指对集合或序列进行随机打乱或重新排列的操作。它可以用于打乱集合中元素的顺序,以便在后续的操作中获得更好的随机性或均匀性。 在Scala中,可以使用scala.util.Random类的shu…

【Java】基于云计算-智慧校园电子班牌系统源码带原生微信小程序端

一、前言 智慧校园系统是利用物联网和云计算,强调对教学、科研、校园生活和管理的数据采集、智能处理、为管理者和各个角色按需提供智能化的数据分析、教学、学习的智能化服务环境。它包含“智慧环境、智慧学习、智慧服务、智慧管理”等层面的内容。 智慧校园描绘的…

STM32 Proteus仿真ILI9341显示电桥电子秤重量测量差分放大电路 -0062

STM32 Proteus仿真ILI9341显示电桥电子秤重量测量差分放大电路 -0062 Proteus仿真小实验: STM32 Proteus仿真ILI9341显示电桥电子秤重量测量差分放大电路 -0062 功能: 硬件组成:STM32F103R6单片机 ILI9341TFT显示器4个电位器组成的电桥电…

emacs下vercial-border审美观记录

昨天一晚上时间都花在了emacs的vercial-border上。 一开始还不知道这个名词,以为是treemacs展示的效果,毕竟我是在打开treemacs的时候,才发现这个分割线太丑了,我的审美观在蠢蠢欲动了。 谁说程序员没有审美观的?只是前面有别的东…