一、接口測試的測試方案規格建議可以有如下幾點:
1、需求所涉及的接口的背景描述
2、接口跟頁面功能交互的關聯關係
3、接口邏輯的流程圖
4、接口文檔定義
5、接口所涉及的緩存,以及緩存對應的key值,失效時間定義
6、接口所涉及的SQL,以及數據庫表字段定義
7、接口歷史功能驗證(新增接口測試不需要)
8、接口涉及話單,短信,推送消息等描述
9、接口涉及的配置參數和開關等描述
10、接口設計的基本流程描述
11、接口涉及的正常用例測試點設計
12、接口涉及的異常用例測試點設計
二、頁面測試用例設計
頁面功能測試主要是由3大塊的組成:
1.頁面功能展示:
頁面功能展示主要是校驗一些頁面的靜態圖片、字體、間距、排版等等之類的內容顯示是否規範,具體的校驗可以通過需求中的原型圖比例標註進行校驗。
2.頁面跳轉展示:
需要校驗頁面上所有可以點擊的鏈接按鈕是否都可以跳轉到指定的頁面,跳轉過程中頁面加載loading動畫是否正確,具體的標準可以跟PD確認
3.頁面邏輯校驗:
頁面展示的數據也是有邏輯的。(前端展示的狀態需要跟後端配置的數據一致)
4.其他:
我們在做頁面功能測試的時候也需要考慮一些異常的場景測試,暫時總結出來的主要包括幾種:
- 數字,字母,符號,表情等輸入校驗
- 超長字符,最小字符長度驗證
- APP端和PC端同步操作時數據同步校驗
- 網絡連接中斷後重新連接測試
三、頁面測試用例編寫
主要可以通過三個基礎的步驟來完成:
- 測試用例分級目錄:可以根據測試方案中羅列的大的測試點來進行分級,根據個人習慣來進行,儘量將同一個功能點的用例都放到同一級目錄中.
- 測試用例標題描述:測試用例標題描述爲這條用例功能點校驗的簡述,儘量用一句話來描述,不要太長.
四、接口測試用例設接口測試時涉及到的功能主要包括四大類:
- 接口本身的邏輯、參數校驗
- 接口涉及的服務器的定時任務和參數配置校驗
- 接口涉及的緩存信息、緩存加載方式、失效時間校驗
- 數據庫的job(定時)任務、存儲過程、執行SQL驗證
五、接口本身的邏輯、參數校驗:
- 接口的邏輯校驗,可以參照接口流程圖來進行設計,一個分支需要作爲一個場景去進行測試,需要覆蓋到流程圖裏面所有的邏輯分支
- 接口的參數校驗,可以參照接口文檔中的參數定義去進行驗證,需要覆蓋到所有參數對應的枚舉值以及錯誤碼等信息
六、接口涉及的服務器的定時任務和參數配置校驗:
- 服務器的定時任務配置,一般都是以Crontab方式和Crontrigger兩種方式去進行配置的,測試時將任務配置到對應的時間後,查看任務是否可以正常執行即可
- 服務器的參數配置主要都是配置在服務器的配置文件中,配置文件一般都是以:XXX.properties文件命名,不同的配置可能會存在於不同的文件中,這個需要具體問題具體看待,測試時需要按照不同的場景去修改不同的配置參數進行驗證
七、接口涉及的緩存信息、緩存加載方式、失效時間校驗:
- 緩存信息主要是校驗key-value值是否是按照需求文檔中設計的要求即可
- 緩存加載方式:需要區分同步加載和異步加載的方式去進行測試,由於redis緩存默認配置是同步加載,如果不是特殊場景可以不需要考慮異步加載操作
- 失效時間驗證:驗證緩存在配置的時間內是否可以自動失效,redis緩存在失效後會自動清除,驗證清空即可
八、數據庫的job任務、存儲過程、執行SQL驗證
- 數據庫的job任務一般都是調用某個存儲過程去進行操作的,可以將job任務配置到某一個時間去執行即可
- 存儲過程驗證,可以在存儲過程操作的指定的表中去插入數據,然後再去查看存儲過程執行完成後目標表信息是否插入正確即可
- 執行SQL驗證,查看SQL的執行計劃是否符合要求即可
其他:
一個系統越大,系統中所涉及的接口也會越來越多,所以爲了保證接口的穩定性以及業務的流暢性,避免一些接口修改引入的問題,接口測試時,最好是配合性能和自動化工具一起測試
九、接口測試用例編寫
接口測試用例編寫,主要可以通過三個基礎的步驟來完成:
- 測試用例分級目錄:根據接口流程圖中的主分支來進行分級,後續的副分支再進行細化即可
- 測試用例標題描述:校驗當前接口需要驗證的場景,儘量用一句話來描述,不要太長
- 測試用例詳細描述:用例的詳細描述中也可以分爲三個步驟,包括:預置條件,操作步驟,預期結果
- 預置條件:預置接口對應表的原始數據,預置接口對應的用戶信息
- 操作步驟:調XXX接口,請求中傳入XXX報文
- 預期結果:接口返回XXX數據,且數據庫的XXX表中更新某條記錄,緩存中更新某條記錄,服務器中需要記錄某些日誌信息等