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

news2024/11/17 5:32:38

目录:导读

    • 前言
    • 一、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.coloradmin.cn/o/757119.html

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

相关文章

高数笔记4(第一章函数 极限 连续-极限的计算2)

目录 概述(5)利用夹逼准则求极限(后面几个方法一般用来求数列极限)例66例68(结论,需要记住)例69(上题的运用,需要数形结合,找出各个区间最大的)例…

栈和队列详解

目录 一,栈的概念及其结构 二,栈的方法及其实现 2.1 栈 2.2 push(int val) - 进栈 2.3 pop() - 出栈 2.4 peek() - 得到栈顶元素 2.5 size() - 栈的大小 2.6 empty() 2.7 isFull() 三,队列的概念及其结构 四,队列的方法及…

面试题之MySQL事物的特性和锁

在关系性数据库管理系统配置,一个逻辑工作要成为事物,必须要满足4个特性,即所谓的ACID:原子性(Atomicity),一致性(Consistency)、隔离性(lsolation)和持久性(Durability)。 原子性: 原子性:事物作为一个整体被执行,包含在其中对…

Maven安装步骤

Maven官网下载安装包: https://maven.apache.org/download.cgi Maven下载官网 解压安装包 在环境变量中配置 MAVEN_HOME 和 Path 打开cmd,输入mvn -v查看安装成功

用Inno Setup6.2.1对Pyinstaller打包的python可执行文件exe做代码签名,签名工具用微软件SignTool

说明:使用本博文的前提条件是,你已经将代码打包成可执行文件exe,现在是用Inno Setup6.2.1做安装包,以及给exe、及安装包exe、卸载exe做代码签名 一、准备工具 1、下载 下载 https://visualstudio.microsoft.com/zh-hans/visual-…

简单扫码登录原理分析与本地测试

前言 参考:https://www.cnblogs.com/johnlearning/p/16205875.html 前言:简单分析扫码登录流程。 场景:以网页版微信为例,我们在 PC 端点击二维码登录后,浏览器页面会弹出二维码图片,此时打开手机微信扫…

本地存储之indexedDB的操作api -- localforage的使用

文章目录 概述增删改查操作工具类封装前端api前端关键接口调用(以年度举例,其他维度类似)列表获取添加内容修改内容 概述 本地存储有好几种,每种的优缺点本文就不赘述了,一搜一大堆。 本文只介绍indexedDB的使用。 能…

Redis实现分页+多条件模糊查询组合方案

导言 Redis是一个高效的内存数据库,它支持包括String、List、Set、SortedSet和Hash等数据类型的存储,在Redis中通常根据数据的key查询其value值,Redis没有模糊条件查询,在面对一些需要分页、排序以及条件查询的场景时(如评论&…

spring boot 集成dubbo

本demo使用spring boot 2.4.1版本集成 dubbo 2.7.15 1.创建maven项目及其子模块 父工程pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.ap…

个人微信开发API,微信机器人开发

安卓微信的api&#xff0c;个人微信开发API协议&#xff0c;微信 ipad &#xff0c;微信ipad协议&#xff0c;微信web版接口api&#xff0c;微信网页版接口&#xff0c;微信开发sdk&#xff0c;微信开发API&#xff0c;微信协议&#xff0c;微信接口文档&#xff0c;网页个人微…

不清晰的照片怎么变清晰?这几个方法轻松处理!

大家都会碰到老旧照片放大后变得模糊不清的情况&#xff0c;可惜我们无法在网上下载原图&#xff0c;这是我们自己的照片。那有没有简便的方法修复模糊照片呢&#xff1f;很多人会提到使用PS&#xff0c;但操作复杂需要基本技能。除了PS&#xff0c;还有其他方法修复模糊照片。…

图片速览 Deep k-Means: Jointly clustering with k-Means and learning representations

本文探讨了联合聚类与学习的问题 交涉。正如之前的几项研究表明&#xff0c;学习 既忠实于要聚类和调整的数据的表示形式 到聚类算法可以导致更好的聚类性能&#xff0c;所有的 更重要的是&#xff0c;这两项任务是联合执行的。我们在这里提出这样一个 方法的k-基于连续重新参数…

每天一道C语言编程练习(5):尼科彻斯定理

题目描述 验证尼科彻斯定理&#xff0c;即&#xff1a;任何一个整数m的立方都可以写成m个连续奇数之和。 输入格式 任一正整数 输出格式 该数的立方分解为一串连续奇数的和 样例输入 13 样例输出 13*13*132197157159161163165167169171173175177179181 代码如下&#…

【前端知识】React 基础巩固(二十七)——Fragment

React 基础巩固(二十七)——Fragment Fragment Fragment 允许将子列表分组&#xff0c;而无需向 DOM 添加额外节点可以采用语法糖<></>来替代 Fragment&#xff0c;但在需要添加 key 的场景下不能使用此短语 import React, { PureComponent, Fragment } from &q…

VUE之基本部署及VScode常用插件

参考资料&#xff1a; 参考视频 VScode常用插件清单 node.js官网 node.js官网中文版 VUE官方文档 VScode常用插件&#xff1a; VScode常用插件详解见上述连接&#xff0c;插件列表如下&#xff1a; VScode的注释/取消注释快捷键为&#xff1a;Ctrl/ VUE的基本安装部署--…

shardingsphere mybatisplus properties和yml配置实现、分页配置

shardingsphere mybatisplus properties和yml配置实现 目录结构 model package com.oujiong.entity;import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format…

【JAVA】——环境配置安装

一.Java简介 1.1 Java的特点 Java是一种跨平台、面向对象的程序设计语言&#xff0c;用它编写的程序可以在任何计算机操作系统和支持Java的硬件设备上运行。Java是一种通过解释方式来执行的语言&#xff0c;那么什么是解释方式呢&#xff1f; 程序员编写的代码一般都是用高级语…

程序员的自我修养(2)

目标文件的学习 1.什么是目标文件以及格式 目标文件为编译器编译后生成的文件&#xff0c;就是window下的.obj&#xff0c;linux下的.o文件。与可执行文件格式几乎一样&#xff0c;因为只是缺少链接过程。所以可执行文件&#xff0c;动态链接库&#xff0c;静态链接库&#xf…

B070-项目实战-用户模块--手机注册

目录 用户模块需求分析静态网站部署与调试两种前端项目的部署两种前端项目的调试(热部署)创建静态web项目 注册分析与设计分析需求设计 界面设计&#xff08;ui&#xff09;设计表&#xff08;后台&#xff09; 流程设计&#xff08;后台&#xff09;三范式表设计流程设计 相关…

英语动词-分类及应用

文章目录 1.实义动词系动词情态动词 1.实义动词 实义动词是表示具体动词的词。 常见的分类&#xff1a;及物动词和不及物动词。 1.及物动词&#xff1a;transitive verb后面直接加宾语&#xff0c;并且必须加宾语。比如&#xff1a;I love you.I buy a book. 2.不及物动词&…