接口自动化测试实战之接口概念、项目简介及测试流程问答!
一、前言
这篇文章呢主要是想讲实战方面的内容,本文主要会讲解接口测试中的一些接口概念,流程等方面的问答,同时还会介绍一下即将要进行测试的项目,这里呢我就不多说废话了,直接进入主题吧。
二、接口概念
接口测试:接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。 – 百度百科
接口原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做判断并将最终结果返回至客户端,客户端再次接收返回结果并应答的过程。
检查重点:测试的重点是检查接口参数传递、接口功能实现、输出结果的正确性,以及对各类异常情况容错处理的完整性与合理性。
接口类型:内部接口及外部接口,内部接口为程序开发的接口,方法之间或模块之间的调用,外部接口为外部接入调用接口,例如王者荣耀的微信登录、支付宝的支付功能等,均是外部接口。
接口分类:webservice接口及http api接口,webService接口使用soap协议传输,通过http进行传输,是HTTP POST专用版本之一,遵循一种特殊的xml消息格式(请求及返回均为xml),http api接口使用http协议,通过路径来区分调用的方法,通过key-value请求,返回报文通常为json。
接口本质:接口的本质上是一个公开的函数类,进行数据传输的发送与接收,可以理解成一条通道,在发送get或post请求方式时,实际上就是从通道进行发送、在由服务器从通道返回数据。
测试范围:接口功能、接口性能、接口稳定性以及接口安全性等。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
三、项目简介
该项目是一个Web管理后台,有基础信息、用户操作、邮件管理、订单管理等多个模块,在项目实战中,尽可能以最简单、最高效的方式讲解到最深层次的内容,让大家能够充分理解该项目,以及如何使用实战所讲解的内容应用到自己公司或是私人项目当中。
该项目拥有一份详细的接口文档,文档中包括对应的请求头、请求体、请求方式、请求参数、成功示例反馈等内容,包括全后台的所有模块,均拥有对应详细的接口信息,在实践过程中,笔者会根据具体情况截图、梳理、汇总,如下只展示其中一个接口作为示例
四、自动化测试流程讲解
4.1 全自动化测试流程
我们搭建框架很显然是为了进行自动化测试的,包括但不限于接口自动化、Web自动化、App自动化,UI自动化测试等等方式,有一部分和功能测试会比较相似,各个公司上可能也会存在差异,但大体不变,现在来介绍下自动化测试的流程:
"""第一步:需求评审 -- 自动化测试同功能测试,第一步都需要进行需求评审,评审期间熟悉需求,找到需求缺陷,以此为需求分析做好铺垫
第二步:需求分析 -- 需求分析阶段主要是自动化测试人员单独对需求进行分析,进行需求拆解,详细理解需求,为测试用例的设计做好铺垫
第三步:接口文档 -- 熟悉需求后知道大概要负责的内容,在接口自动化测试阶段就需要了解接口文档,有哪些参数,请求头、请求体、请求方式、请求参数等如果公司没有接口文档,通常去找开发询问,让开发给一份文档,如果还是无果,需要自己通过抓包的方式获取接口并梳理成文档
第四步:测试计划 -- 大致梳理你个人的测试计划,用例设计需要的时间,什么时候设计,预计什么时候能够测试通过,哪个环节是否采用自动化技术考虑测试的优先级等,如果你是对应的测试负责,还需要考虑任务的人力分配等问题
第五步:计划评审 -- 当你梳理出一个计划后,还要与小组成员进行确认讨论,查看计划是否存在文档,是否有可改进的地方,关于小组成员是否对此有一些疑问
第六步:测试用例 -- 熟悉需求和接口文档后且拥有了测试计划,那么就到了测试用例的设计环节,设计接口自动化的测试用例
第七步:用例评审 -- 接口测试用例设计完成后进入用例评审阶段,确认测试用例中是否有遗漏,是否不规范,是否便于自动化的读取、使用等
第八步:用例执行 -- 通过接口自动化测试用例来进行代码的编写及梳理,在此期间可以搭建测试框架或在此之前已经拥有了一个框架执行即可
第九步:测试报告 -- 当执行完成测试用例后,即可输出对应的测试报告结论,同业务,包括质量情况、问题分布,
第十步:集成部署 -- 当测试框架搭建完成后并且能够顺利的执行测试用例,产出对应的测试报告时,考虑进行集成部署,通过定时任务,按周或按月冒烟执行"""
4.2 测试金字塔
测试金字塔主要分为三个阶段,最底层是单元测试/组件测试,也就是代码相关的检查测试,但因国内敏捷开发以及测试能力的限制,故此在大多数的公司测试并不会进行单元测试,往往在此阶段是由开发进行自测完成。
金字塔的中间层是API方面的测试,也就是接口相关的测试,接口测试没有单元测试更加专业,但可以发现手工测试中无法发现的异常和问题。
最上层是用户界面上的测试,也可以理解为手工测试,手工测试仅能发现一些表层次问题,但大多数的需求仅通过表层的功能测试也能够防止绝大多数问题的产生,也是非常重要的一环,越靠近上层的测试,越能够接近业务层面的内容,也能够明显的反映出真实的需求。
不仅如此,越靠近金字塔的底端测试方式效率更高、缺陷更容易被定位、测试成本更低,而越靠近金字塔的顶端,则修复效率越慢,成本更高且缺陷更不容易被定位,这也是为什么测试需要尽早介入的原因。
4.3 什么样的项目适合进行自动化测试?
我们知道自动化测试能够提升工作效率,虽说如此,但什么情况下都适合做自动化吗?显然并不是的,只有符合下列条件的情况下,笔者认为更适合做自动化测试:
"""
符合下列条件,更适合做自动化测试工作:
1、需求文档,不会频繁变更需求 -- 在不变更需求的情况下,功能模块相对稳定,脚本编写后无需花费大量的时间修改及维护
2、研发和测试周期长,需要频繁进行回归测试、冒烟测试 -- 例如每周的模块进行冒烟测试,频繁的出现某一个运营活动
3、需要在多种平台上重复运行多个测试场景
4、某些测试项目的测试内容通过功能测试无法实现,或功能测试非常耗时
5、被测系统的开发较为规范,能够保证系统的可行性
"""
4.4 自动化测试工程师还要做功能测试吗?
有部分同学在面试自动化测试工程师之后负责人还会让他继续做功能测试,他也很奇怪,表示迷茫?自动化测试工程师还需要做功能测试吗?
答案很明显是需要的,一个自动化的测试人员在进行自动化测试前必定是需要熟悉业务的,而熟悉业务的最佳方式就是先做一些功能测试或体验测试的内容,快速帮助自动化测试人员来熟悉业务,以便更好的测试。
五、总结
今天的这篇文章就到这里了,喜欢的小伙伴可以点赞收藏加关注哟,希望这篇文章能够帮助到大家哟。
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
相关文章:

接口自动化测试实战之接口概念、项目简介及测试流程问答!
一、前言 这篇文章呢主要是想讲实战方面的内容,本文主要会讲解接口测试中的一些接口概念,流程等方面的问答,同时还会介绍一下即将要进行测试的项目,这里呢我就不多说废话了,直接进入主题吧。 二、接口概念 接口测试&…...

浏览器工作原理与实践--跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性
通过上篇文章的介绍,我们知道了同源策略可以隔离各个站点之间的DOM交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三…...

Ubuntu配置VScode的C++环境
在Ubuntu系统下配置C环境,并运行helloworld 1. 下载VScode 我这里使用的是星火应用商店,在商店里面可以直接下载安装 http://spark-app.store/ 2.创建文件夹 3.启动VScode并打开该文件夹 4.安装以下几个扩展 PS:Clang这个插件别安装&…...

使用Code开发Django_模版和CSS
转到定义 和 查看定义 在使用Django或任何其他库的过程中,我们可能需要检查这些库中的代码。VS Code提供了两个方便的命令,可以直接导航到任何代码中的类和其他对象的定义: 转到定义 在Python开发环境中,我们可以轻松地对函数、类或者其他导入模块中的成员使用“Go to Def…...

Llama 3下月正式发布,继续开源!
4月10日,Techcrunch消息,Meta在本周伦敦举办的一场活动中确定,下个月将正式发布Llama 3并且继续开源。 Meta全球事务总裁Nick Clegg表示,我们希望在下个月,甚至更短的时间内,正式推出新一代基础模型Llama …...

有图片转成PDF文件格式的方法吗?分享图片转成PDF文件的方法
将图片转换为PDF文件是一个相对简单的过程,但也需要一定的步骤和注意事项。下面,我将详细介绍如何将图片转换为PDF文件,包括所需的工具、步骤以及可能遇到的问题和解决方案。 首先,我们需要一个能够将图片转换为PDF文件的工具。市…...

数据结构---绪论
一、绪论: 1.什么是数据? 数据是信息的载体,是描述客观事物属性的数,字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素--描述一个个体 数据元素,数据项&am…...

matlab 安装 mingw64(6.3.0),OPENEXR
matlab安装openexr 1. matlab版本与对应的mingw版本选择2. mingw(6.3.0)下载地址:3. matlab2020a配置mingw(6.3.0)流程“4. matlab 安装openexr方法一:更新matlab版本方法二:其他博文方法方法三…...

最新彩虹知识付费商城源码 V3.4
最新彩虹知识付费商城源码 V3.4,支持二级分类,多级分销,秒杀,砍价,团购,首页继续浏览,分站个人虚拟余额自定义,最新批量对接,批量下载图片,批量替换标题&…...

Redis实现延迟任务的几种方案
🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1.前言 2.Redis如何实现延迟任务? 3.代码实现 3.1. 过期键通知事…...
一种springboot请求参数校验的实现方案
一、前提引入 很多时候,springboot提供的Restful-api需要根据业务需要进行参数校验,相应的,基于各位码友的习惯,各有各的实现方式,可谓是八仙过海各显神通。 二、常见方案 2.1 一种最原始的方法 通过if语句,对特定参数进行校验 if(null == name){return "name …...

盒子模型+响应式布局 + 原型链与继承
盒子模型 是什么 css布局基础,规定了元素在页面上如何呈现,以及元素之间的空间关系 由content paddingbordermargin四部分组成 为什么 盒子模型分为 标准盒子模型: 元素的宽度与高度 只包括content IE盒子模型: 元素的宽度与高度 包括content,padding,border 在实际操作中…...
面试准备 集合 List
ArrayList 底层实现 使用Object[] 动态数组进行存储 特性 支持存储null值非线程安全支持快速访问 初始化方法 无参–返回一个空的列表(DEFAULTCAPACITY_EMPTY_ELEMENTDATA)指定初始容量: new ArrayList(20);指定集合 new ArrayList(col…...

Java快速入门系列-7(测试与调试)
第七章:测试与调试 第7章:测试与调试7.1 单元测试(JUnit)7.1.1 为什么要进行单元测试7.1.2 JUnit基础7.1.3 断言7.1.4 测试套件7.2 集成测试与系统测试7.2.1 集成测试7.2.2 系统测试7.3 调试技巧与工具7.3.1 断点7.3.2 单步执行7.3.3 变量检查7.3.4 条件断点7.3.5 日志记录…...

算法:双指针
算法:双指针 双指针快慢指针对撞指针总结 双指针 LeetCode 283.移动零 以上题目要求我们把所有0移动到数组的末尾,也就是说,我们要把数组转化为以下状态: [ 非0区域 ] [ 0区域 ] 像这种把一个数组划分为多个区域的题型࿰…...

MySQL一些特殊功能的索引(6/16)
特殊功能性索引 B-Tree索引: InnoDB的默认索引类型,适用于多种查询操作。 可以用于等值查询、范围查询和索引列的组合查询。 创建B-Tree索引的示例: CREATE INDEX index_name ON table_name (column1, column2);全文索引(FULLTEX…...

ES11-12
1-ES11-Promise.allSettled Promise.allSettled0)方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。 简单来说不管成功失败都会调用.then(),然后处理成功和失败的结果 const promises [ …...

【学习笔记】Vue3源码解析:第三部分-获取computed的值;实现computed
课程地址:【已完结】全网最详细Vue3源码解析!(一行行带你手写Vue3源码) 第三部分-获取computed的值;实现computed:(对应课程的第18-21节) 第22节:《获取computed的值》 …...

顺序表(C语言版)
前言:本篇文章我们来详细的讲解一下顺序的有关知识,这篇文章中博主会以C语言的方式实现顺序表。以及用顺序表去实现通讯录的代码操作。 目录 一.顺序表的概念 二.顺序表的分类 1.静态顺序表 三.动态顺序表的实现 1.顺序表的初始化 2.顺序表的尾插…...

Python高质量函数编写指南
The Ultimate Guide to Writing Functions 1.视频 https://www.youtube.com/watch?vyatgY4NpZXE 2.代码 https://github.com/ArjanCodes/2022-funcguide Python高质量函数编写指南 1. 一次做好一件事 from dataclasses import dataclass from datetime import datetimedatacl…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...