如何在智能告警平台CA触发测试告警
672
2022-11-14
为什么需要全链路测试?
起源,上一家公司所做的系统虽然不是电商。但是一次数据的流转也需要经过很多系统,很符合全链路的定义。
数据流程主要如下:Agent 采集数据->接入系统->分发系统->一次分析系统->二次分析系统->工单系统
可以看到数据从 agent 采集到最终发工单给用户要经过很多系统。由于我们做的系统与安全有关,对数据的完整性要求很高,所以必须要保证整个链路上不能丢失数据。为了保证整个链路的可靠性,需要对链路的可用性进行测试。由于对于线上质量测试的不重视,部门对链路采用最简单的拨测方式进行测试。
流程如下:
定时在测试机上用脚本构造有效的工单数据,一般在早中晚定时用脚本跑一次或者几次。
链路上涉及到的系统上报自己的日志到存储系统,方便后续定位。同时继续扭转数据到下一个系统。
查看最终是否能正确发出工单,如果没有测试工单转(4),否则结束此次拨测。
人工去日志存储系统进行日志查询,找到有问题的系统,再深入系统定位问题。
以上方法简单粗暴但存在很多弊端,比如:
各种数据只能靠人工写不同的脚本在 agent 上构造数据,导致测试数据种类和数量非常有限。
出了问题需要人工一步步的查看链路中哪个系统没有上报日志,再去系统定位导致排查效率低。
每天只定时跑几次拨测存在一定的随机性,如果次数太多脚本又不好管理。
真实数据和测试数据混在一起,只能通过白名单进行最后的工单过滤。
但即便如此,拨测也提供了全链路测试的一种手段。如果没有拨测,全链路功能的可用性更无法预知。只能说拨测是全链路测试的一个雏形,离真正的全链路测试系统还有一定的距离。全链路测试需要一个系统化的平台,只要链路中的各个系统都接入平台,即可对系统内和系统间的链路进行测试。一个理想的全链路压测平台应该为开发和测试提供从数据构造、用例管理、全链路场景组织、协助测试结果分析等一站式服务。
发表评论
暂时没有评论,来抢沙发吧~