逆天啦!一键执行混沌测试,服务会挂的,需要跑路吗?在线等!
一大早来公司老板给小T安排做一个系统的业务场景稳定性测试,我一脸蒙呀,老板解释到:就是让我一顿乱整,看看系统会不会挂掉,天下还有这等好事儿?哈哈,我和老板说,我有办法了,搞死系统可别怪我呀,老板发话了:测试环境搞死也没事,主要是要测试出系统的健壮性!
话是说出了口,但实际真的很容易吗?急得小T是左右为男(难)又满头大汉(汗),没办法找到了Chatgpt一顿操作猛如虎,哈哈,Chatgpt 提供了一个接口混沌测试,大概思路是以撞库的形式来进行测试接口,原理如下:
配置好混沌规则 ,然后以 “撞库” 的形式排列组合,替换掉正向接口用例中的参数值去执行撞库,瞬间完成接口健壮性测试 “撞库时” 先单独一个一个去换, 然后再排例组合。
好了,现在关键问题来了,小T不会写这种代码耶(哈哈哈哈)!!!不过还有一个很牛的办法,手动操作穷举走起,不过看了一下接口数量:10几个,每个参数也不算少,不穷举,排列组合下来也很多了,小T想了一下大约需要50来个小时而已,OK,系统没挂掉小T先挂了!
同时小T测试的不是单一接口是一个包含一系列接口的业务场景,这不上周一个讲过的:《研发管理你痛过吗?》的推文中提到过接口编排。
最后还是小C给小T支了招,了解一下Codes的对应功能,小T赶紧进了Codes的技术支持群,技术支持告诉小T,这个小case呀 ,接口场景编排加接口混沌测试可以一步到位 ,真是爽得不要不要的,真担心系统会不会一搞就挂了,先拿告诉我的方案POC一下,之前真是发愁呀,小T就一个小白,按官方给的DEMO POC下来几分钟完事,不信你看看POC过程。
step1:定义好接口场景中的每个接口
听说是可以进行录制可惜小T还不会用,先手动增加登录接口以及POC的场景中其它相关接口。
step2:设置登录接口断言
小T觉得拖拽式的方式设置断言蛮爽的,当然高级玩家们也可以自己编码实现哦。
step3:编排业务场景
拖拽式编排接口为业务场景,说实在的不要太爽啦!(小T已晕)
step4:设置业务场景流转条件
真的就像是工作流一样,双击接口间的连线可以设置流转条件,会把前一个接口的响应结果解析为一个树状结构,拖动树状结构上的节点,如下图所示:
step5:设置好所有流转逻辑
step6:下面是最哇塞的功能,自动推导接口间依赖拓扑
step7:配置混沌规则并在场景中应用
Codes可以配置任意多的混沌规则,小T假定场景中某个接口的参数为M,配置了N个混沌规则,执行场景中每个接口的次数 M+C ab * P aa (M和N哪个大哪个是a 另一个是B),假定场景中有X个接口那么总执行次数就是希格码 M+C ab * P aa
step8:运行场景查看调用链
step9:查看调用情况及混沌日志
查看某次正常执行情况。
(还好系统在这里居然没挂,30多秒里运行了1800多次)
小T最后总结一下:
![图片](https://res.wx.qq.com/t/wx_fed/we-emoji/res/v1.3.10/assets/Expression/Expression_21@2x.png)