古詩詞大全網 - 古詩大全 - siber 集成測試平臺

siber 集成測試平臺

siber 是來也科技研發團隊自主研發,面向接口的集成測試平臺。覆蓋 http、grpc、graphQL 三種常見類型接口測試。

siber 於2019年末在來也科技內部上線 V1.0 版本。當前已覆蓋接口 600 余個,占總接口數量的 85% 以上;配置 case 3300 余個,case 執行次數達 230w 余次。

自 siber 上線以後,多次幫助產品、業務線發現不易察覺的問題,有效的規避了線上故障,極大的減輕了測試同學、私有部署同學回歸測試的壓力。

在向妳宣傳 siber 之前,想請大家先思考幾個問題:

對於上述問題,在來也科技內部,統壹都使用集成測試平臺(siber)來解決。接下來從產品層面向大家介紹下,siber 有哪些亮點:

所有接口測試需要的測試案例(case)、測試場景(flow)、測試計劃(plan),都在 siber 上統壹創建、維護、查看。避免出現 “妳的腳本妳知道,我的流程妳不懂”等不友好交互的情況。

用戶之間可以***享 case、flow、plan。格式統壹,全部使用 json 格式進行交互和校驗,避免了 “ grpc 協議我不會調”,“前人用 go 寫的測試腳本,但我更喜歡 python ” 等問題。

使用 siber 可以降低接口測試難度,提高測試案例的復用性。

復用:同壹個 case 可以出現在多個 flow 中,復用特指復用自己或他人之前配置過的 case。不建議對他人的 case 隨意修改。

復制:點擊“復制 case”,siber 會為您自動復制該 case 下的全部內容,包括但不限於壹個或多個版本的request header 、 request body、checker、injector、sleeper。

如果您想對他人的 case 做出不確定後果的修改,我們建議您使用“復制 case” 功能,這樣,不必影響到使用原先的 case 的執行計劃。

在 siber 上執行的測試計劃,可以清晰的展示出 plan、flow、case 整體的狀態和運行詳情。

清晰的記錄了請求和返回的詳細內容,每個檢查項、註入項是否符合預期等結果。

執行結果永久保存,方便測試和開發者之間同步現場、復現、復盤問題。

避免出現:“我這兒沒有啊!”,“妳是不是參數填錯了?”,“無法復現”等許多理不清問題

敏捷開發模式下,產品叠代快。部分接口可能每次叠代都有改動,部分接口卻可能兩年都沒有變化。

那如何直觀清晰的維護,同壹個接口在不同版本下的 case 呢?

siber 支持對同壹個 case 配置不同版本的輸入、輸出及檢查。可單獨對有更新的接口對應的 case 增添版本,對於沒變化的接口,無需額外處理。

當執行 plan 時,會自動執行不高於 plan 指定版本的最高版本 case。

詳見: case 版本說明

在來也科技內部,許多項目配置了 grpc-gateway ,使得定義壹個 method(method 是延用了 grpcurl 中的定義),可以有gRPC 和 http 兩種訪問形式。

通常而言對內使用 gRPC 協議,對外使用需鑒權的 http 協議。

對於這樣的 method,僅需要配置壹個 case,便可支持 gRPC 和 http 兩種協議的測試。

parameter 用於渲染不確定的輸入。比如:

針對於上述問題,我們將 parameter 抽象出三個子項:

支持生成隨機的字符串、數字;當前時間戳;base64 等。

全部內容和配置方法,詳見: 預定義的 FUNCTION

支持將同壹 flow 中 case 的輸入、輸出、響應時間、狀態碼等信息保存在 variable 中,供後續case 使用

使用 SiberAuth 可以支持對接口進行鑒權。當前已內置通用鑒權算法,可以自己在 siber 上添加自定義的鑒權算法。

除手動觸發外,siber 還支持 CI 觸發和 crontab 觸發兩種觸發模式:

siber 已與來也科技內部 CI 工作流打通。當前支持兩種 CI 觸發模式:

自動執行:

項目在測試環境發布後,會自動觸發 siber 在測試環境運行相關plan(plan與服務的關系是自動綁定的)。

如有報錯會發送到企業微信群中提示用戶。

強制執行:

在應用上線前會自動檢查 siber 上配置了強制執行的 plan 是否通過,如果未通過,不予上線。

有些問題偶發,比如每天淩晨可能會有零星報錯。siber 提供定制執行的功能,可以按照 crontab 的方式觸發 plan,對於偶發問題提供了可觀測的現場。

siber 自上線以來,將許多問題扼殺在了上線前,包括但不限於:

後端開發:劉桐烔,季琛,董夢囡

前端開發:徐麗婧,鄔丹琳,楊子傑