接口测试总结

2023-11-19


第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?

  第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。

第一部分:

首先,在做接口测试的过程中,经常有后端开发会问:

  1. 后端接口都测试什么?怎么测的?

  2. 后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

      于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。

然后,我们试着回答上面的问题:

问题1.1、后端接口都测试什么?

  --回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:

问题1.2、我们怎么做接口测试?

  --由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的 发送与接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、 robotframework+httplibrary等。

问题2、后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

  --回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:


   从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析:

1、基本功能测试:

  由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。

2、边界分析测试:

  在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。

 3、性能测试:

  这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。 而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

综论:

      1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

  2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

第二部分:

1、什么是接口测试?

      接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

 

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

  a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

  b)  接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

  c)   现在很多系统前后端架构是分离的,从安全层面来说:

        1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

        2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

 

3、接口测试持续集成:

      对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

  a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

  b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等

  c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

  d) 结果校验:加强自动化校验能力,如数据库信息校验。

  e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

  f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

 

4、接口测试质量评估标准:

  a) 业务功能覆盖是否完整

  b) 业务规则覆盖是否完整

  c) 参数验证是否达到要求(边界、业务规则)

  d) 接口异常场景覆盖是否完整

  e) 接口覆盖率是否达到要求

  f)  代码覆盖率是否达到要求

  g) 性能指标是否满足要求

  h) 安全指标是否满足要求




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口测试总结 的相关文章

  • 接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。

    并发接口性能设计思路与代码编写 1 引言 2 并发测试定义 3 并发测试分类 4 设计思路整理 5 测试方案设计 6 指标分析 7 代码实战 8 总结 1 引言 这篇是我3月份在公司内部做的技术分享内容 由于我在公司内部分享的内容较多 以及
  • 常用电子元器件简介

    一 电阻器 电阻器 一般情况下也称电阻 是一种阻碍电流在电路中流动的线性元件 也是组成电子电路的主要元件之一 1 电阻器的作用及电路图形符号 1 电阻器的作用 电阻器主要用于控制电路中的电压和电流 除了具有降压 分压 限流和分流作用外 还具
  • python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告

    前言 1 环境准备 python3 6 requests xlrd openpyxl HTMLTestRunner api 2 目前实现的功能 封装requests请求方法 在excel填写接口请求参数 运行完后 重新生成一个excel报告
  • 接口测试总结

    第一部分 主要从问题出发 引入接口测试的相关内容并与前端测试进行简单对比 总结两者之前的区别与联系 但该部分只交代了怎么做和如何做 并没有解释为什么要做 第二部分 主要介绍为什么要做接口测试 并简单总结接口持续集成和接口质量评估相关内容 第
  • Jenkins+RobotFramework 失败用例重执行方案

    背景 接口测试用例运行在Jenkins节点上 在某些情况下 比如网络波动等原因 会导致用例运行失败 此时会触发邮件和钉钉预警 通知给到责任人 按照现有策略 当本次构建失败时 会立马触发第二次构建活动 若第二次构建仍然失败 则会再次触发预警信
  • ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记

    课程链接 http video jessetalk cn course explore 良心课程 大家一起来学习哈 任务40 介绍 任务41 Individual authentication 模板 dotnet new mvc help
  • 超全汇总,性能测试常用指标大全(重要)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • Selenium2+python自动化10-登录案例

    前言 前面几篇都是讲一些基础的定位方法 没具体的案例 小伙伴看起来比较枯燥 有不少小伙伴给小编提建议以后多出一些具体的案例 本篇就是拿部落论坛作为测试项目 写一个简单的登录测试脚本 在写登录脚本的时候呢 先要保证流程能跑起来 然后才是去想办
  • java抽象类与接口的区别(谈谈自己的理解)

    抽象类 什么是抽象类 从名字上来讲 我觉得就是对类的一个抽象 把类 事物 抽象出来 当做模板 也就是说在有很多类的时候 我们把一些相似的类的某些方法 某些成员变量抽象出来作为一个模板 让这些类更方便的去继承 所以 在抽象类中 有抽象方法也有
  • PO模式+数据驱动(TPshop网站的登录模块进行单元测试以及区分正向逆向用例)

    一 区分正向逆向用例 思路 在测试数据中添加一一个标识正向用例或逆向用例的标记 如 True False 步骤 调用登录方法 此登录方法中 只有输入用户名 输入密码 输入验证码 点击登录按钮 判断用例标记 判断安全退出是否存在 点击安全退出
  • 使用Minitab解决Excel的限制问题

    前两天 当我在做数据转置以期获得更好分析图形的时候 我碰到了传说中excel的限制 如图 在解决这个问题的过程中 我发现了用来做数据分析 比excel更好的工具Minitab 打开minitab 把纪录数据的Excel表以File gt O
  • 基于 LoadRunner 实现企业级服务器端性能测试的实践

    后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本 然后根据性能测试场景设计的要求 通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本 并且在测试执行过程中 通过系统监控器收集各种性能指标以及系统资源占用率
  • 软件测试 app自动化02 Appium常用的元素定位工具 元素的属性 元素定位方法

    文章目录 1 Appium常用的元素定位工具 1 1 uiautomatorviewer 1 2 Appium Inspector 1 3 Weditor 2 元素的属性 3 元素定位方法 小结 1 Appium常用的元素定位工具 1 1
  • 网管员牢记 10种较为常见的服务器管理错误

    网管员牢记 10种较为常见的服务器管理错误 网络管理阶层的工作就是保证网络的正常工作 从而使得职工们的工作不被打断 可问题在于事物并非总是按照理想状况发展 事实上经常会出现平地起风波的状况 其间有许多原因 这里我们只讨论10种较为常见的网管
  • 利用接口请求获取文件

    1 背景 测试阶段文件上传服务器为测试文件服务器 预览时根据id获取的测试服务器文件 但发到线上后发现文件上传到了测试服务器 读取文件时又是从线上的文件服务器读取的 因此导致了文件显示异常 2 数据恢复分析 先从测试环境获取到文件 这些文件
  • Python自动化测试之登录脚本的实现

    环境准备 前提已经安装好python pycharm 配置了对应的环境变量 1 安装selenium模块 文件 gt 设置 gt 项目 script gt python解释器 gt selenium 2 安装浏览器驱动器 以谷歌浏览器为例
  • 高薪程序员也躲不过35岁这一关..当能力与年龄脱节,我们该如何自救

    在测试行业 甚至是整个互联网行业 存在这样一个神奇又隐秘的传说 过了 35 岁 你就找不到好工作了 没有哪一个企业出来声明 没有企业敢 也没有哪个超过 35 岁的员工出来反驳 似乎这已经是这个行业的通识 35岁已经成为一条冷酷的分界线 也是
  • pytest测试框架+allure超详细教程

    1 测试识别和运行 文件识别 在给定的目录中 搜索所有test py或者 test py文件 用例识别 Test 类包含的所有test 的方法 测试类不能有 init 方法 不在类中的所有test 方法 pytest也能执行unit tes
  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • ASTM D6147测定压缩情况下硫化橡胶和热塑弹性体作用力衰减 (应力松弛) 的标准试验方法

    标准名称 ASTM D6147 Standard Test Method for Vulcanized Rubber and Thermoplastic Elastomer Determination of Force Decay Stre

随机推荐

  • 软考-操作系统

    考点梳理 进程管理 考点1 进程的状态 考法分析 本考点主要考查形式主要是根据图示判断相关状态位置或状态变迁条件 要点分析 操作系统三态模型如下图所示 操作系统五态模型 备考点拨 掌握操作系统三态模型 五态模型的状态位置及其状态变迁条件 考
  • arcgis 10.8 for win10安装教程

    本文主要记录arcgis安装步骤 遇到的问题等 文章目录 一 前提 二 下载与安装 1 下载 2 安装 参考资料 一 前提 下载前需要确定 1 ArcGIS对系统的要求 安装之前系统需安装 net framework 4 5 以上版本 我的
  • 【翻译】 WireGuard 何去何从?

    请考虑订阅 LWN订阅是 LWN net 的生命线 如果您喜欢这些内容并希望看到更多 您的订阅将有助于确保 LWN 继续蓬勃发展 请访问此页面加入我们 让 LWN 继续在网络上传播 作者 Jonathan Corbet 2019年3月25日
  • Angular2 之 单元测试

    单元测试需要掌握的知识点 karma conf js的配置 具体了解到每一项的意义 这样才能真正的了解这个配置是如何配置的 甚至才可以做到自己的配置 组件的测试 单独的service测试 Angular的测试工具 Angular的测试工具类
  • 飞机大战(C语言版)

    大一下要交课程设计 于是就用C语言写了一个飞机大战小游戏 没有用到第三方库 飞机和子弹的移动使用的光标移动函数 所以没有卡顿 其中w s a d分别表示上下左右 包括大写 空格发射子弹 游戏结束后可选择是否储存游戏数据 该程序复制后可直接使
  • git push错误: failed to push some refs to

    原因 当你在git上对它进行了在线修改 但是没有对本地库进行同步 这个时候你再次commit 想把本地库提交到远程git库中 就会出现push失败问题 简单来说 就是远程与本地存在不一致的commit情形 解决方法 确保远程代码没问题的情况
  • 【Java SE】抽象类和接口

    点进来你就是我的人了博主主页 戳一戳 欢迎大佬指点 欢迎志同道合的朋友一起加油喔 目录 前言 一 抽象类 1 抽象类的概述 2 抽象类特点 3 抽象关键字abstract和哪些不可以共存 4 抽象类的细节 5 抽象类的作用 二 接口 1 什
  • 统计学习方法论概念

    1 统计学习包含监督学习 非监督学习 半监督学习和强化学习 2 监督学习 监督学习的任务是学习一个模型 使模型能够根据任意给定的输入 对模型的输出做出一个好的预测 监督学习分为学习和预测两个过程 由学习系统和预测系统组成 3 损失函数和风险
  • 【C++】迭代器 && vector中迭代器失效

    文章目录 1 什么是迭代器 2 迭代器与指针 3 迭代器的分类 3 1具体分类 3 2为什么要对迭代器分类 3 3迭代器的使用建议 4 vector迭代器失效 4 1迭代器失效及其危害 4 2哪些操作会导致迭代器失效 如何解决 1 什么是迭
  • 视觉SLAM十四讲笔记-6-3

    视觉SLAM十四讲笔记 6 3 文章目录 视觉SLAM十四讲笔记 6 3 6 3 实践 曲线拟合问题 6 3 1 手写高斯牛顿法 6 3 2 使用Ceres进行曲线拟合 Ceres 简介 安装Ceres 使用Ceres拟合曲线 6 3 3
  • JAVA往map添加元素_java list map在初始化的时候添加元素

    List list new ArrayList add First Object add Second Object add Third Object Map map new HashMap put First Key First Valu
  • 初始OAuth2.0

    1 什么是OAuth2 0 OAuth2 0 是目前使用非常广泛的授权机制 用于授权第三方应用获取用户的数据 举例说明 用户可以通过选择其他登录方式来使用gitee 这里就使用到了第三方认证 OAuth 引入了一个授权层 用来分离两种不同的
  • vue 修改标题名字

    1 直接修改 在main js中添加 document title 大屏控制 2 根据路由动态改变 https www cnblogs com CinderellaStory p 10858035 html
  • iPhone苹果15手机怎么看是国行还是美版或港版的苹果iPhone15手机?

    iPhone苹果手机15机型区域版本识别代码 CH代码为国行 LL代码为美版 ZP代码为港版 iPhone苹果15手机怎么看是国行还是美版或港版的苹果iPhone15手机 1 打开苹果iPhone15手机桌面上的 设置 2 在iPhone苹
  • OWASP ZAP安装遇到Error.A JNI error has occurred ,please check your installation and try again

    问题描述 我当时下载的是兼容版本 下载完成后双击zap bat发现运行一下就闪退 然后运行jar文件就报错 过程 最开始以为是java环境的问题 后面用java version去运行了一下 发现java环境是正常的 但又一直提示java的问
  • 4大技术亮点支撑应用优势 全新一代旗舰型行业无人机千巡翼X4发布

    随着无人机与数字成像技术的发展 无人机航测成为了重要的地理信息采集手段 也越来越受重视 据相关研报数据统计 预计2025年我国实景三维在自然资源领域的 以数据采集 处理为主的直接市场规模预计将达40亿元 推测2025年关联市场规模将达400
  • MFC设置控件文本字体、大小、颜色、背景

    1 修改字体 大小 声明一个CFont类型的类成员变量 CFont m editFont 然后在类的初始化函数OnInitDialog 中添加以下两行代码 设置静态文本字体大小 m editFont CreatePointFont 180
  • MFC编程实验(三):组件(列表框元素的增删)

    一 实验要求 创建一个对话框应用程序 实现如下布局 完成如下功能 1 初始状态 列表中有4个元素 2 可以在编辑框中输入新朋友的名字 点击 添加 按钮添加到列表框 同时清空编辑框中的名字 3 选中列表框中的一个名字 点击 删除 按钮可以删除
  • GDB 简略手册

    杂项 命令 用法 说明 h elp help 显示可用帮助文档 h CMD 显示关于指定命令的帮助 apr opos apr REGEXP 使用正则表达式搜索命令 i nfo info 显示可展示的信息 ENTER 无命令回车 重复执行上一
  • 接口测试总结

    第一部分 主要从问题出发 引入接口测试的相关内容并与前端测试进行简单对比 总结两者之前的区别与联系 但该部分只交代了怎么做和如何做 并没有解释为什么要做 第二部分 主要介绍为什么要做接口测试 并简单总结接口持续集成和接口质量评估相关内容 第