测试用例设计方法 - 场景分析法
現在的軟件幾乎都是用事件觸發來控制流程的。象GUI軟件、游戲等。事件觸發時的情景并形成了場景,而同一事件不同的觸發順序和處理結果就形成了事件流。這種在軟件設計方面的思想可以引入到軟件測試中,可以生動地?描繪出事件觸發時的情景,有利于設計測試用例,同時使測試用例更容易理解和執行。?
???在測試一個軟件的時候,在場景法中,測試流程是軟件功能按照正確的事件流實現的一條正確流程,那么我們把這個成為該軟件的基本流;而凡是出現故障或缺陷的過程,就用備選流加以標注,這樣的話,備選流就可以是從基本流來的,或是由備選流中引出的。所以在進行圖示的時候,就會發現每個事件流的顏色是不同的。?
基本流和備選流:如下圖所示,圖中經過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經過用例的最簡單的路徑。備選流用不同的色彩表示,一個備選流可能從基本流開始,在某個特定條件下執行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)。?
????????在這個圖中,有一個基本流和四個備選流。? ?
????????每個經過用例的可能路徑,可以確定不同的用例場景。從基本流開始,再將基本流和備選流結合起來,可以確定以下用例場景:?
場景 1 基本流
場景 2 基本流 備選流 1
場景 3 基本流 備選流 1 備選流 2
場景 4 基本流 備選流 3
場景 5 基本流 備選流 3 備選流 1
場景 6 基本流 備選流 3 備選流 1 備選流 2
場景 7 基本流 備選流 4
場景 8 基本流 備選流 3 備選流 4
?
下面是場景法的基本設計步驟:
- 根據說明,描述出程序的基本流及各項備選流
- 根據基本流和各項備選流生成不同的場景
- 對每一個場景生成相應的測試用例
- 對生成的所有測試用例重新復審,去掉多余的測試用例,測試用例確定后,對每一個測試用例確定測試數據值
(二)場景法例子?
1、在線購物系統?
???????我們都在當當網或china-pub華章網上書店都訂購過書籍,整個訂購過程為:用戶登錄到網站后,進行書籍的選擇,當選好自己心儀的書籍后進行訂購,這時把所需圖書放進購物車,等進行結帳的時候,用戶需要登錄自己注冊的帳號,登錄成功后,進行結帳并生成訂單,整個購物過程結束。
????????那么我們通過以上的描述,從中確定哪是基本流,哪些是備選流:??
| 基本流 | 用戶登錄到網站,書籍的選擇,進行訂購,把所需圖書放進購物車,等進行結帳的時候,登錄自己的帳號,登錄成功后,生成訂單 |
| 備選流1 | 帳號不存在 |
| 備選流2 | 帳號錯誤 |
| 備選流3 | 密碼錯誤 |
| 備選流4 | 無選購書籍 |
| 備選流x | 退出系統 |
?
????根據基本流和備選流來確定場景:
?
| 場景1-購物成功 | 基本流 | ? |
| 場景2-帳號不存在 | 基本流 | 備選流1 |
| 場景3-帳號錯誤 | 基本流 | 備選流2 |
| 場景4-密碼錯誤 | 基本流 | 備選流3 |
| 場景5-無選購書籍 | 基本流 | 備選流4 |
?
????
????????我們來設計用例
????對于每一個場景都需要確定測試用例。可以采用矩陣或決策表來確定和管理測試用例。? ?
????下面顯示了一種通用格式,其中各行代表各個測試用例,而各列則代表測試用例的信息。
本例中,對于每個測試用例,存在一個測試用例ID、條件(或說明)、測試用例中涉及的所有數據元素(作為輸入或已經存在于數據庫中)以及預期結果。?
????通過從確定執行用例場景所需的數據元素入手構建矩陣。然后,對于每個場景,至少要確定包含執行場景所需的適當條件的測試用例。例如,在下面的矩陣中,V(有效)用于表明這個條件必須是?VALID(有效的)才可執行基本流,而?I(無效)用于表明這種條件下將激活所需備選流。下表中使用的“n/a”(不適用)表明這個條件不適用于測試用例。
| 測試用例ID | 場景/條件 | 帳號 | 密碼 | 選購書籍 | 預期結果 |
| 1 | 場景1:購物成功 | V | V | V | 成功購物 |
| 2 | 場景2:帳號不存在 | I | n/a | n/a | 提示帳號不存在 |
| 3 | 場景3:帳號錯誤 | I | V | n/a | 提示帳號錯誤,返回基本流步驟2 |
| 4 | 場景4:密碼錯誤 | V | I | n/a | 提示密碼錯誤,返回基本流步驟3 |
| 5 | 場景5:無選購書籍 | V | V | I | 提示選購書籍,返回基本流步驟5 |
?
???我們看到以上表中,是把每個場景成立的條件進行了分析,基本上已經明確了測試用例的數量,現在只要把真實數據填充上,那么整個測試用例就完成了。
?
| 測試用例ID | 場景/條件 | 帳號 | 密碼 | 選購書籍 | 預期結果 |
| 1 | 場景1:購物成功 | xu | 123456 | 《軟件測試藝術》與 《軟件測試自動化》 | 成功購物 |
| 2 | 場景2:帳號不存在 | zhang | n/a | n/a | 提示帳號不存在 |
| 3 | 場景3:帳號錯誤 | zhou | 123456 | n/a | 提示帳號錯誤,返回基本流步驟2 |
| 4 | 場景4:密碼錯誤 | xu | 123$%^ | n/a | 提示密碼錯誤,返回基本流步驟3 |
| 5 | 場景5:無選購書籍 | xu | 123456 | 空 | 提示選購書籍,返回基本流步驟5 |
轉載于:https://www.cnblogs.com/52Test/p/7478197.html
總結
以上是生活随笔為你收集整理的测试用例设计方法 - 场景分析法的全部內容,希望文章能夠幫你解決所遇到的問題。