一大早來公司老闆給小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最後總結一下: