接口自動化測試
測試前期工作
1)項目概要:接入工作首要了解項目背景,主要包含:項目時間計划、研發同學、產品同學、項目主負責人、項目開發主負責人、產品上層服務、產品下層服務、項目是做什么的、測試范圍。
2)時間:詳細化了解項目的時間節點安排,有條件的情況下了解開發周期,具體測試主要需要了解,也是必要了解項,測試時間預期多少、驗收時間和上線時間。
3)人員:詳細化了解到研發主負責人是誰,有效提高接入項目效率,部分負責人並非開發者本人,需要分清開發產品的同學對應是誰。
4)文檔:獲取項目相關的文檔;產品概述和設計可以很快的了解到項目的業務設計和業務對接。接口文檔,拿到接口文檔檢查完整性、真實性進行接口文檔梳理。
5)項目里程碑:了解測試任務和缺陷管理地址等。
測試方案
利用Xmind等思維導圖編寫測試方案,方案主要包含:接口、用例設計、時間節點、優先級划分、環境。
編寫方案注意事項:
1)確認測試接口有多少個?
2)當前文檔是否可靠?
3)文檔是否會更新,如果是同步會更新接口文檔,要先確認好,避免浪費時間用錯誤的文檔編寫無效的用例。
4)除了正常場景的用例編寫以外,結合整理的對項目的了解,異常場景或異常參數設計接口用例
5)與負責人確定好重點接口和一般接口,優先級。
6)標注是否有壓力測試的接口,若有,后續進一步跟進相關需求參數。
7)根據設計的接口方案整理出預估合理測試時間。
8)以上信息確認,可進一步進行開測試方案評審會,需要研發和負責人確認當前設計的測試方案是否通過,是否有補充。
接口用例設計
按照已有的文檔覆蓋需求:
1、必須參數是否真的全部必須組合。
2、必須參數缺少部分組合。
3、必須參數一個不帶組合。
4、非必須參數一個不帶組合(為空)。
5、非必須參數缺少部分組合。
6、非必須參數和必須參數組合。
7、開啟全部非必須參數組合。
文檔未提及的異常場景:
1、考慮特殊參數請求
2、考慮從數據庫拿多條數據同時發生請求
3、多條數據同時寫入
4、寫出或者讀取數據字符限制是否生效
5、權限過濾。
6、研發自定義返回碼是否達標。
7、異常返回碼處理是否達標
執行測試
根據測試方案整理出來的接口測試用例,用接口測試工具一一錄入,錄入用例需要進一步考慮是否有用例設計的盲區。
主要考慮幾點:
1)請求方式:post/get
2)必須參數組合、非必須參數組合、非必須參數、異常數據
3)接口協議是否合法。
4)下斷言,確定監聽的內容。(正確的斷言會使接口測試更有效,不做無謂的接口測試。協議層也會同步。)
5)前置腳本處理,部分參數設計是組合加密處理,例如獲取當前時間進行組合MD5后作為一個參數傳入請求,類似情況使用前置腳本處理參數化,還可以觀察是否是全局參數進行設置全局的前置腳本處理。
6)接口回歸可復用性,使用的參數以及下的斷言要考慮該用例的復用性,可回歸性。
接口測試質量評估標准:
a) 業務功能覆蓋是否完整
b) 業務規則覆蓋是否完整
c) 參數驗證是否達到要求(邊界、業務規則)
d) 接口異常場景覆蓋是否完整
e) 接口覆蓋率是否達到要求
f) 代碼覆蓋率是否達到要求
g) 性能指標是否滿足要求
h) 安全指標是否滿足要求
測試總結
測試結束接口相關測試以后,需要總結測試問題,是否遺留問題為解決,回歸情況。盡可能用一目了然的數據報表說明報告。
需要輸出:測試用例執行情況、bug產生數量、bug回歸情況、以及測試結論和測試建議。
個人也可以根據做的相關項目進行個人總結。
貫穿全程都需要及時的溝通,正確的梳理問題,提問,歸納,提高溝通的質量。