轻量级的接口自动化冒烟框架

作者:岳洋 &闫鑫权
一.背景描述
当前互联网项目分类多,项目发布周期短,内测补丁发布频率偏高,导致环境部署效率需要大幅度提升,但随着环境部署效率的提高会导致补丁质量成为难以衡量的漏洞,为了评估补丁的合格度,需引入轻量级冒烟自动化。
对于痛点方面,可能还存在以下几点:
(1)每日补丁数据较多,无法宏观衡量补丁的代码质量
(2)当前补丁的冒烟验证均是纯手工验证,费时费力
(3)补丁准入条件缺少补丁功能质量评估一项
二.相关技术工具
postman+newman+Jenkins+shell
postman:用例接口自动化脚本的编写
newman:用于测试报告的展示
jenkins:通过 shell 脚本编写,最终通过 jenkins 调用接口自动化脚本
三.框架流程介绍
1.简单流程介绍

(1)编写脚本的相关点

接口之间会互相调用,可共用的参数必须全局化
测试接口的输入采用 postman 自带的录制功能或者手工录入
每个接口均添加断言判断(断言判断需要结合业务逻辑区分)
(2)脚本的存放、版本部署调用的相关点
1)核心实现及内部调度简介
执行流程及调度

执行命令及环境区分
postman 用例集和环境配置导出后,分别上传至服务器各环境指定目录,shell 里参数化环境信息,然后根据参数区分执行;
linux 上 newman 冒烟执行命令:
测试报告输出
报告一:针对整体执行结果的简单报告,根据成功失败用例数量输出成功/失败的结果;

报告二:针对每一条执行用例输出详细的执行信息,如 url、响应时间、状态码等;

2)在 jenkins 上与环境部署的对接
jenkins 工程下创建是否执行冒烟测试的参数,根据每次部署需要,人员自行选择是否需要执行;


2.呈现效果
通过这个轻量级的冒烟框架,需要达到什么样的效果呢?如下梳理点。

版权声明: 本文为 InfoQ 作者【小小娃爱吃甜食】的原创文章。
原文链接:【http://xie.infoq.cn/article/d1bb76632a25f35c63c1ea03c】。文章转载请联系作者。
评论