一、背景
早期寫過一些接口測試框架並在測試團隊中推廣使用,實現方式一般為xmind/excel/json/yaml等文件編輯設計測試用例,框架負責讀取解析用例、執行用例、校驗結果,實現數據驅動測試。
框架圖如下:

這樣的框架也是多數小公司采用的方案,優點在於:
- 簡單靈活
- 使用成本低
- 用例設計評審方便,如xmind思維導圖,例設計的效率高,方便測試用例評審
缺點也很明顯:
- 接口數量太大時(1w+),管理不方便
- 接口變更頻繁,文檔保存的用例維護困難
- 接口、用例無明確關聯關系
- 接口覆蓋率統計不方便
- 用例執行情況難以統計
於是,有了把接口測試整合到自動化平台的需求。
二、需求
基於前面分析,接口測試平台需要實現的核心功能如下
- 數據庫管理接口、用例、環境數據、測試結果
- 前端交互:項目、接口、用例設計、報告
- 工作台
- 快速測試(自由條件查詢測試)
- 環境測試 -- 關聯全局配置中的測試環境,執行后關聯最新結果報告,實現環境監控
-
- 業務巡檢
- 冒煙測試
- 環境可用性驗證
- 全局配置管理:
- 全局環境配置
- 環境數據管理
- mock數據管理
- 全局變量管理
- 全局校驗規則配置:校驗狀態碼、校驗數據
- 標簽管理:靈活配置可選標簽,標簽分組
- 項目管理:管理項目(服務),項目分屬不同部門,每個項目下包含大量接口
- 接口管理:
- 部門->項目->接口分組 下, 用例管理在:部門->用例集 下,每個用例設計多個步驟,每個步驟為接口請求或調用其他測試用例。
- 保存接口基本信息、請求響應數據設計、用例請求模板
- 接收YAPI web hook消息,自動同步yapi接口變更,並標記接口狀態:待處理、待驗證、已處理
- 接口手動新增、編輯、刪除、禁用等
- 接口->用例模板數據 推送到關聯的測試步驟
- 接口統計分析:
- 接口覆蓋率:有、無用例的接口列表
- 更新分析:待處理、待驗證、已處理的接口分類統計、列表
- 用例管理
- 用例為一個場景,包含多個步驟。
- 用例步驟關聯接口,可復用接口用例模板數據作為步驟請求響應數據
- 步驟復制
- 步驟分2種場景:
- 接口請求
- 調用已有其他用例
- 用例執行分析:通過率、未被執行到的用例、測試步驟被執行頻率
- 歷史報告:保留測試執行報告,每次執行結果概覽
- 任務管理:定時任務、任務隊列
- 數據管理:導入導出、數據全量備份
- 統計分析:
- 用例、步驟、接口 分類統計:總數、未覆蓋接口數、待處理接口數、待驗證接口數
- 接口、用例、用例步驟、覆蓋率趨勢統計:
- 按日、按周、按月、按年統計
- 時間范圍篩選
- 統計方式:
- 累計:統計當日/周/月/年 節點的累計數據
- 新增:統計當日/周/月/年 節點的新增數據
- 接口、用例分析:如按部門、按項目統計待覆蓋接口、待處理接口,展示哪些部門、項目遺留最多待處理
- 進度分析:按當前周/月的覆蓋率推進進度(用例、接口同時新增),估算覆蓋率達到指定目標需要多長時間
- 數據日報:統計每日/周接口新增數、測試用例新增數、覆蓋率推進程度、測試執行發現接口bug數,並推送到各部門
- 工作分析:分析全組成員對接口測試推進工作貢獻度
- 性能分析:統計分析接口性能,推送告警性能差的接口
- 其他
三、接口自動化平台設計圖
平台框架初步設計如下:

-------- THE END --------
