自动化测试平台开发(五):接口测试 - 背景、设计
一、背景
早期写过一些接口测试框架并在测试团队中推广使用,实现方式一般为xmind/excel/json/yaml等文件编辑设计测试用例,框架负责读取解析用例、执行用例、校验结果,实现数据驱动测试。
框架图如下:
这样的框架也是多数小公司采用的方案,优点在于:
- 简单灵活
- 使用成本低
- 用例设计评审方便,如xmind思维导图,例设计的效率高,方便测试用例评审
缺点也很明显:
- 接口数量太大时(1w+),管理不方便
- 接口变更频繁,文档保存的用例维护困难
- 接口、用例无明确关联关系
- 接口覆盖率统计不方便
- 用例执行情况难以统计
于是,有了把接口测试整合到自动化平台的需求。
二、需求
基于前面分析,接口测试平台需要实现的核心功能如下
- 数据库管理接口、用例、环境数据、测试结果
- 前端交互:项目、接口、用例设计、报告
- 工作台
- 快速测试(自由条件查询测试)
- 环境测试 -- 关联全局配置中的测试环境,执行后关联最新结果报告,实现环境监控
-
- 业务巡检
- 冒烟测试
- 环境可用性验证
- 全局配置管理:
- 全局环境配置
- 环境数据管理
- mock数据管理
- 全局变量管理
- 全局校验规则配置:校验状态码、校验数据
- 标签管理:灵活配置可选标签,标签分组
- 项目管理:管理项目(服务),项目分属不同部门,每个项目下包含大量接口
- 接口管理:
- 部门->项目->接口分组 下, 用例管理在:部门->用例集 下,每个用例设计多个步骤,每个步骤为接口请求或调用其他测试用例。
- 保存接口基本信息、请求响应数据设计、用例请求模板
- 接收YAPI web hook消息,自动同步yapi接口变更,并标记接口状态:待处理、待验证、已处理
- 接口手动新增、编辑、删除、禁用等
- 接口->用例模板数据 推送到关联的测试步骤
- 接口统计分析:
- 接口覆盖率:有、无用例的接口列表
- 更新分析:待处理、待验证、已处理的接口分类统计、列表
- 用例管理
- 用例为一个场景,包含多个步骤。
- 用例步骤关联接口,可复用接口用例模板数据作为步骤请求响应数据
- 步骤复制
- 步骤分2种场景:
- 接口请求
- 调用已有其他用例
- 用例执行分析:通过率、未被执行到的用例、测试步骤被执行频率
- 历史报告:保留测试执行报告,每次执行结果概览
- 任务管理:定时任务、任务队列
- 数据管理:导入导出、数据全量备份
- 统计分析:
- 用例、步骤、接口 分类统计:总数、未覆盖接口数、待处理接口数、待验证接口数
- 接口、用例、用例步骤、覆盖率趋势统计:
- 按日、按周、按月、按年统计
- 时间范围筛选
- 统计方式:
- 累计:统计当日/周/月/年 节点的累计数据
- 新增:统计当日/周/月/年 节点的新增数据
- 接口、用例分析:如按部门、按项目统计待覆盖接口、待处理接口,展示哪些部门、项目遗留最多待处理
- 进度分析:按当前周/月的覆盖率推进进度(用例、接口同时新增),估算覆盖率达到指定目标需要多长时间
- 数据日报:统计每日/周接口新增数、测试用例新增数、覆盖率推进程度、测试执行发现接口bug数,并推送到各部门
- 工作分析:分析全组成员对接口测试推进工作贡献度
- 性能分析:统计分析接口性能,推送告警性能差的接口
- 其他
三、接口自动化平台设计图
平台框架初步设计如下:
-------- THE END --------