今天聽了茹炳晟老師軟件測52講,也瀏覽了專欄下面的留言,看到一個用戶登錄功能設計了那么多場景的測試用例,很多是基於經驗,因此想找出一些規則,減少測試場景的遺漏,下面是我總結的用例設計步驟及方法,以用戶登錄功能為例,講述其應用方法。
一、用例設計步驟及方法
1. 確定功能點的測試需求
確定功能點的測試需求,是指通過產品功能描述及功能特點,確定此功能點的測試類型,即針對此功能,是僅僅進行功能測試,還是需要進行功能測試、安全測試、兼容性測試等。
2. 功能點建模
對功能點進一步建模,若測試人員能夠在需求階段接入到產品開發,在需求階段,就可以對軟件產品進行建模,但在需求階段建立的模型可能無法細化到某個功能點,因此需要對功能點進行建模。可以從以下5個方面進行建模,也可以從其他方面入手,建議多進行狀態分析和狀態間轉換。
1. 輸入參數范圍 或 關聯輸入狀態;
2. 功能點關聯操作;
3. 功能點操作失敗后的后續操作;
4. 功能點操作失敗的原因;
5. 與功能點相關的軟件內部操作等。
3. 輸出功能的測試點
根據測試需求和建立的模型,輸出此功能測試點。
4. 編寫測試用例
根據測試點,運用等價類划分、邊界值、錯誤推測和場景分析等方法,編寫測試用例。在用例編寫過程中,注意一個測試用例可以包含2-3個測試點,且根據測試用例邏輯,規划測試用例執行順序。
二、應用
以用戶登錄功能為例,在系統測試階段,介紹應用方法。
1. 確定登錄功能測試需求
用戶登錄測試類型,首先想到的是功能測試;由於用戶可能采用不同的設備進行登錄,因此需要有兼容性測試;同樣用戶登錄屬於和用戶直接交互的功能,應包含易用性和性能測試;最后用戶登錄涉及用戶賬戶和密碼,因此應包含安全測試。此處功能測試是指業務測試,性能測試可以進一步細化為負載測試、壓力測試和容量測試。總結測試需求如下:
2. 功能點建模
2.1 簡單模型
2.2 狀態轉換圖
用戶名狀態轉換圖:
登錄狀態轉換圖:
3. 生成測試點
根據建立的功能點簡單模型和狀態轉換圖,通過組合及細化,生成測試點。
3.1功能測試測試點
3.2兼容性測試點
兼容性測試與功能測試相比,測試點相對少,兼容性一般從軟件運行環境考慮,目地是使得軟件在不同的運行環境下都能正確顯示或運行,而軟件運行環境可以划分為軟件環境和硬件環境兩部分。軟件環境一般指操作系統類型版本、瀏覽器類型版本等;而硬件環境一般指終端設備類型、顯示設備大小及分辨率等。
3.3安全測試點
本人接觸的項目中,沒有進行安全測試,可以從 顯示安全、存儲安全、傳輸安全等方面考慮安全性測試,還可以參考專門的安全測試方法。
3.4 性能測試點
性能在當前可以從時間和空間兩個維度考慮,時間緯度主要是考察系統的響應速度,空間維度主要考察軟件運行過程中的資源占有情況。
4. 編寫測試用例
根據3中的測試點,補充測試數據,生成測試用例。注意可以將多個測試點合並為一個測試用例,如功能測試的測試點1和安全測試點1,可以合並為一個測試用例。
三、小結
測試用例的設計方法有多種,且由於各種原因,測試人員無法做到窮盡測試,但為了避免測試場景過於單一,在設計測試用例時還是需要多考慮功能關聯狀態、輸入、操作等,多進行分析和溝通,設計出有的放矢的測試用例。