线上出图失败监控全程自动化——杰利

自动报bug?自动验证?这是不是大家的理想?

听上去是不是就像这张图一样魔幻?

我们实现了!一部分...

背景介绍:

我们是 BIM 施工图测试团队,线上故障是我们需要关注的重点之一,施工图产品的常见线上故障就是线上方案出图失败,所以我们需要通过监控和自动化手段,及时发现线上出图失败,并对其进行修复,以降低出图失败率,提高用户满意度。这个工作我们一直在做,但是之前一直是人肉在做这个有点繁琐的工作。

那么如果人肉做这件事,到底有多繁琐?需要的步骤如下...

  • 查询Tetris监控异常,整理异常信息(异常去重,异常出现率...)
  • 获取出图失败的方案信息,构造出图 post 请求 body
  • 在beta环境出图验证(因为beta环境可能已经修复了一些问题)
  • 查询Tetris监控,确认是否还存在异常
  • 如果异常还存在,在JIRA提交bug
  • bug修复后,进行出图验证,又要查询监控异常...

总结一下,痛点是:方案多、异常类型冗余、检验修复麻烦、流程机械重复

把整个流程,拆分为以下步骤(如图),然后把全流程自动化起来,提高效能,解放劳动力!

下面是工具的界面,只需要输入 Jira Id,然后 泡杯茶,静静等待 忙点其他事情,等结果出来。前端先发一个POST请求,出图,然后get请求轮询测试结果。

返回的结果中,有三部分,

第一部分 Overview 中,有 pass 数量,fail 数量,error(自动化过程中的异常)数量, Pass Rate(通过率);

第二部分 Exception 信息 中,是去重后的Exception信息;

第三部分 详细异常信息 中,是去重后的详细异常信息,有时间,call stack 等详细信息;

实现这个工具,需要下面这些原料:

  • 使用Sprint Boot框架,定时触发
  • Tetris接口
  • 正则匹配,对比去重
  • Rest-Assured 发送请求
  • JIRA接口
  • 业务逻辑

效果

导致线上出图失败率降低,百分之一 到 万分之五 (而且施工图的出图量比起年初翻了四倍);

更直观的感受,故障台小姐姐的反馈少了~ 2019上半年有4个出图失败相关的线上故障,2019下半年到目前为止,出图失败相关的线上故障数为:零 !

即将来...

我们希望能实现全流程的自动化,我们正在为此努力。

谢谢!欢迎提出建议和需求~

关注我们

酷家乐质量效能团队热衷于技术的成长和分享,几乎每个月都会举办技术分享活动(海星日),每半年举办一次技术专题竞赛分享(火星日),并将优秀内容写成技术文章。

我们尽可能保障分享到社区的内容,是我们用心编写、精心挑选的优质文章。如果您想更全面地阅读我们的文章,请您关注我们的微信公众号"酷家乐技术质量"。