1. 程式人生 > >測試 -介面測試-測試用例編寫

測試 -介面測試-測試用例編寫

一、.介面功能測試的測試方案規格建議可以有如下幾點:

1、需求所涉及的介面的背景描述

2、介面跟頁面功能互動的關聯關係

3、介面邏輯的流程圖

4、介面文件定義

5、介面所涉及的快取,以及快取對應的key值,失效時間定義

6、介面所涉及的SQL,以及資料庫表字段定義

7、介面歷史功能驗證(新增介面測試不需要)

8、介面涉及話單,簡訊,推送訊息等描述

9、介面涉及的配置引數和開關等描述

10、介面設計的基本流程描述

11、介面涉及的正常用例測試點設計

12、介面涉及的異常用例測試點設計

二、頁面測試用例設計

頁面功能測試主要是由3大塊的組成:

1.頁面功能展示:

頁面功能展示主要是校驗一些頁面的靜態圖片、字型、間距、排版等等之類的內容顯示是否規範,具體的校驗可以通過需求中的原型圖比例標註進行校驗。

2.頁面跳轉展示:

需要校驗頁面上所有可以點選的連結按鈕是否都可以跳轉到指定的頁面,跳轉過程中頁面載入loading動畫是否正確,具體的標準可以跟PD確認

3.頁面邏輯校驗:

頁面展示的資料也是有邏輯的。(前端展示的狀態需要跟後端配置的資料一致)

4.其他:

我們在做頁面功能測試的時候也需要考慮一些異常的場景測試,暫時總結出來的主要包括幾種:

  • 數字,字母,符號,表情等輸入校驗
  • 超長字元,最小字元長度驗證
  • APP端和PC端同步操作時資料同步校驗
  • 網路連線中斷後重新連線測試

三、頁面測試用例編寫

主要可以通過三個基礎的步驟來完成:

  1. 測試用例分級目錄:可以根據測試方案中羅列的大的測試點來進行分級,根據個人習慣來進行,儘量將同一個功能點的用例都放到同一級目錄中.
  2. 測試用例標題描述:測試用例標題描述為這條用例功能點校驗的簡述,儘量用一句話來描述,不要太長.

四、介面測試用例設介面測試時涉及到的功能主要包括四大類:

  1. 介面本身的邏輯、引數校驗
  2. 介面涉及的伺服器的定時任務和引數配置校驗
  3. 介面涉及的快取資訊、快取載入方式、失效時間校驗
  4. 資料庫的job任務、儲存過程、執行SQL驗證

五、介面本身的邏輯、引數校驗:

  • 介面的邏輯校驗,可以參照介面流程圖來進行設計,一個分支需要作為一個場景去進行測試,需要覆蓋到流程圖裡面所有的邏輯分支
  • 介面的引數校驗,可以參照介面文件中的引數定義去進行驗證,需要覆蓋到所有引數對應的列舉值以及錯誤碼等資訊

六、介面涉及的伺服器的定時任務和引數配置校驗:

  • 伺服器的定時任務配置,一般都是以Crontab方式和Crontrigger兩種方式去進行配置的,測試時將任務配置到對應的時間後,檢視任務是否可以正常執行即可
  • 伺服器的引數配置主要都是配置在伺服器的配置檔案中,配置檔案一般都是以:XXX.properties檔案命名,不同的配置可能會存在於不同的檔案中,這個需要具體問題具體看待,測試時需要按照不同的場景去修改不同的配置引數進行驗證

七、介面涉及的快取資訊、快取載入方式、失效時間校驗:

  • 快取資訊主要是校驗key-value值是否是按照需求文件中設計的要求即可
  • 快取載入方式:需要區分同步載入和非同步載入的方式去進行測試,由於redis快取預設配置是同步載入,如果不是特殊場景可以不需要考慮非同步載入操作
  • 失效時間驗證:驗證快取在配置的時間內是否可以自動失效,redis快取在失效後會自動清除,驗證清空即可

八、資料庫的job任務、儲存過程、執行SQL驗證

  • 資料庫的job任務一般都是呼叫某個儲存過程去進行操作的,可以將job任務配置到某一個時間去執行即可
  • 儲存過程驗證,可以在儲存過程操作的指定的表中去插入資料,然後再去檢視儲存過程執行完成後目標表資訊是否插入正確即可
  • 執行SQL驗證,檢視SQL的執行計劃是否符合要求即可

其他:

一個系統越大,系統中所涉及的介面也會越來越多,所以為了保證介面的穩定性以及業務的流暢性,避免一些介面修改引入的問題,介面測試時,最好是配合效能和自動化工具一起測試

九、介面測試用例編寫

介面測試用例編寫,主要可以通過三個基礎的步驟來完成:

  • 測試用例分級目錄:根據介面流程圖中的主分支來進行分級,後續的副分支再進行細化即可
  • 測試用例標題描述:校驗當前介面需要驗證的場景,儘量用一句話來描述,不要太長
  • 測試用例詳細描述:用例的詳細描述中也可以分為三個步驟,包括:預置條件,操作步驟,預期結果
  1. 預置條件:預置介面對應表的原始資料,預置介面對應的使用者資訊
  2. 操作步驟:調XXX介面,請求中傳入XXX報文
  3. 預期結果:介面返回XXX資料,且資料庫的XXX表中更新某條記錄,快取中更新某條記錄,伺服器中需要記錄某些日誌資訊等