用例狀態分為成功、失敗、處理中、超時四種狀態,分別通過配置相應SQL查詢條件去映射,成功和失敗是終態,處理中則是需要定時任務繼續查詢,超時,是我們內部設定的一個狀態,目前是超過一個小時未返回終態設為超時,此API用例失效并報警,需要人工參與查看。所有這些規則都是在用例建立和編輯的時候添加的,如下圖,一條用例包括了響應校驗(值校驗、key校驗)和數據庫校驗,通過這種比較靈活的設計,基本能夠滿足復雜API測試場景。需要指出一點是,很多應用不允許外部測試平臺直接訪問數據庫,我們的解決辦法是寫一個數據查詢服務部署在系統環境中,只提供查詢功能,并且有加密驗證保證通訊雙方(測試平臺和數據查詢服務之間)可信。
通常來說,測試平臺或框架可以從某種層面上理解為工具鏈的串聯,開發此平臺的過程中,我們使用的技術棧有springmvc+herbinate做邏輯控制、amazingUI做用例管理、echart做結果展示,還使用Jenkins做任務調度等,用戶就是各業務線測試人員,他們不需要了解具體代碼的實現,但是需要對系統結構以及用例規則有很好的理解,這樣才能設計出符合測試場景的用例。
任何測試平臺的設計還是要基于業務的,后續我們對API平臺的推進策略是,繼續增加場景化功能以支持更多業務類型的測試,比如清結算系統中日終、日間的跑批任務,對賬文件的數據檢驗等,增加大并發能力并和性能測試工具相結合。
原文轉自:https://juejin.im/post/5c2c2f576fb9a049d05dd6e6