Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2 KB

README.md

File metadata and controls

42 lines (31 loc) · 2 KB

testplat自动化测试平台

项目管理(已完成)

Django + mysql + BootStrap,实现了基础的项目相关增删改查

测试用例管理(已完成)

Django + mysql + BootStrap,实现了接口测试用例与项目的关联

测试用例执行(已完成)

Django调用pytest(便于生成测试报告)。封装yaml操作工具,将从前端得到的参数写入yaml中(便于生成测试报告)· 由于yaml所有case都需要调用,所以需要先写再清空,故原多线程并发执行case暂时改为顺序执行。

测试报告消费(50%)

集成allure生成可观测的测试用例文件,结合飞书机器人做到有失败执行群里通知(飞书机器人部分待开发)

专项测试 - 压力测试(初版)

调用tcpcopy功能,实现了在前端页面进行简易压测

专项测试 - 流量回放(初版)

0.1版

捕获每次调用流量,回放时用difflib观察差异 目前方式可靠性不足,且对代码有入侵,难以mock数据,考虑参考jvm-sandbox实现简易的AOP中间件。

0.11版

分为在线和离线两种状态:

离线

中间件单独收集每次流量,首先判断是否为重放流量,不是则收集并染色,是则忽略。 考虑写操作容易造成脏数据的问题,对于sql调用应直接返回response(未实现)

在线

tcpcopy设置1.0倍流量进行流量转发。

0.2版 (开发中)

构造hook组件,维护一个队列,每次调用函数的时候向队列中添加调用记录,返回的时候添加response记录() 优点:基本方案类似于jvm-sandbox-reporter,录制部分可以做到无侵入,回放部分如果单独构造组件理论上可以做到无侵入 缺点:增加了很多次函数调用,使用后系统性能劣化严重

专项测试 - 覆盖率统计(初版)

集成coverage.py,生成单元测试覆盖率统计报告

流水线发布(未实现)

调用Jenkins功能,每次发布触发接口自动化与流量回放