前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03 测试框架之接口diff实现及运行

03 测试框架之接口diff实现及运行

作者头像
测试开发囤货
发布2021-08-11 15:19:31
1.6K1
发布2021-08-11 15:19:31
举报
文章被收录于专栏:测试开发囤货

前言

前两篇文章简要说明了接口diff的来龙去脉,如下

今天我们介绍一下接口diff的框架实现和项目中实际的运行效果!

框架思路

接口Diff测试和接口自动化用的就是同一套框架。区别在于,Diff测试需要同时向两套环境发相同的接口请求,拿到返回后进行比较(上图中的“主要函数:接口diff模块”就是实现比较功能的),最后以Alluer报告的形式展示结果。

实现细节

项目的目录结构

  • 结构图
代码语言:javascript
复制
common—基础类(Base)
config—文件路径配置信息
data–接口请求数据(接口返回数据存放 – 目前存放在json文件中)
logs--项目日志文件
testCase—pytest组织的接口CASE
report—测试报告存放
utils—工具、公用方法存放 

测试报告展示

测试用例组织

测试用例说明

  1. 建议每个场景页单独一个.py文件,这样根据特定场景方便维护代码
  2. 用例区分了小说前端和小说后端,所有的接口返回数据都存放在:
  • interfaceDiffTest\data\apiResonse.json(前端接口返回数据)
  • interfaceDiffTest\data\backgroundMsg.json(后端接口返回数据)

「后期全部迁移到本地mysql数据库中维护(方便查阅)」

  1. Diff测试有一项重要的工作就是两个接口返回值的比对,现在多数http接口数据格式都采用json。

项目经验

  • diff的关键问题,在于接口的覆盖度。因而应用diff进行测试时,最好由QA来控制接口的录入,减少接口遗漏的可能性。
  • diff与传统的接口测试方法(手工检查接口/专门写自动机脚本检查)相辅相成,补充了传统方法的不足。
  • diff测试对“读”接口可以很好的回归测试,但对“写”接口可能仍然需要传统的测试方法辅助。

持续集成

「当开发提测时,可以根据接口diff筛选出相关联自动化用例,与CI相结合,达到精简用例,减少执行时间,同时减少不必要的用例执行,进而提升CI稳定性,减少CI维护排查代价。」

1. 浏览器打开网址:http://xxxxx.com:8080/job/api_diff

  • 如果需要登录,账户名和密码都是 admin
  1. 点击立即构建:
  1. 跑完后,点击Alluer 查看最终报告

下集预告

  • 接口diff模块核心代码解析

关注「测试开发囤货」公众号回复「AI」,送你一套 Python机器学习 电子书。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 框架思路
  • 实现细节
    • 项目的目录结构
      • 测试报告展示
        • 测试用例组织
          • 测试用例说明
          • 项目经验
          • 持续集成
          • 下集预告
          相关产品与服务
          持续集成
          CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档