内容简介:系统重构、拆分、底层依赖变更,变更影响范围大,测试回归冗余而繁杂,测试如何进行高效率的回归测试?为了解决上述问题,我们结合了公司内部资源及一些优秀的开源工具,开发了kudiffy平台。首先,先来介绍一下两个开源工具。
背景介绍
系统重构、拆分、底层依赖变更,变更影响范围大,测试回归冗余而繁杂,测试如何进行高效率的回归测试?
为了解决上述问题,我们结合了公司内部资源及一些优秀的开源工具,开发了kudiffy平台。
首先,先来介绍一下两个开源工具。
1. Diffy
Twitter公司发布的自动化测试开源工具,可以将请求分发到不同版本的服务器上,通过对比运行结果来进行接口回归,不用再通过接口测试用例手动校验。详见: http://www.github.com/twitter/diffy
2. Goreplay
流量回放的开源工具,支持HTTP请求的录制和重放,详见: https://github.com/buger/goreplay/wiki。
使用这两种 工具 可以帮助我们提升一定的工作效率,但经过一段时间的使用,发现存在一些问题,如:
- 上手需要一定的时间成本,需要手动下载并安装
- 服务杂乱无章,可维护性差
基于上述问题,我们开发了kudiffy平台用于统一管理diffy和goreplay服务,并且不用手动安装下载,无接入成本。接下来,我将详细介绍强大的kudiffy平台!
kudiffy平台
一.系统介绍
diffy平台:
整体架构:
流程图
实现功能:
- diffy服务管理平台化,统一管理
- goreplay和diffy结合,实现实时流量回放并对比结果
- 打通公司内部devops,获取SOA、接口等信息
- 权限控制,接入sso及cmdb,获取用户权限信息
- 打通公司部署系统,每次部署完成自动重启diffy服务
- 对接接口自动化平台,自动校验不同服务版本返回值
二.使用方法
diffy服务创建:
1.接入零成本,对接公司内部服务权限,筛选登录用户可操作的服务器及ip
2.接入后平台状态展示,判断diffy服务存活状态,如果被kill,可手动重启
3.页面直接查看运行结果
4.将diffy与接口自动化框架结合,返回结果自动校验,无需手动编码对比
goreplay与diffy的结合
1.导流服务接入,支持特定接口筛选
2.接入页面展示
3.开始导流后,会将目标服务器上的流量录制,并发送到对应的diffy服务上,自动对比运行结果,无需手动发送请求
后续计划
目前kudiffy平台已经在多个业务组实践,很好的提高了大家的回归效率。但仍然还有可以优化的部分,例如:
1.mock功能,对于调用链路很长的请求,上下游服务的稳定性会影响diffy对比的结果,mock请求可支持diffy结果更稳定和准确;数据库mock功能,也可解决post接口回放数据污染问题
2.根据业务特性,支持定制化改造
3.流程优化,如推动研发利用工具自测,将diffy运行结果加入质量卡点等
共同参与开发者:肖邦,夏灵,三笠,惜寒,少安,思思
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 视觉回归测试—UI自动化的最后一公里
- 机器学习算法之岭回归、Lasso回归和ElasticNet回归
- [机器学习实战-Logistic回归]使用Logistic回归预测各种实例
- 线性回归背后的数学
- PyTorch 学习:线性回归
- 逻辑回归——详细概述
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python网络编程攻略
萨卡尔 (Dr.M.O.Faruque Sarker) / 安道 / 人民邮电出版社 / 2014-12-1 / 45.00元
开发TCP/IP网络客户端和服务器应用 管理本地设备的IPv4/IPv6网络接口 使用HTTP和HTTPS协议编写用途多、效率高的Web客户端 编写可使用常见电子邮件协议的电子邮件客户端 通过Telnet和SSH连接执行远程系统管理任务 使用Web服务与流行的网站交互 监控并分析重要的常见网络安全漏洞一起来看看 《Python网络编程攻略》 这本书的介绍吧!