1 場景法概述
2 場景設計
3 場景法的設計步驟
4 案例
為什么引入用例場景
現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。
這種在軟件設計方面的思想也可引入到軟件測試中,可以比較生動地描繪出事件觸發時的情景,有利於測試設計者設計測試用例,同時使測試用例更容易理解和執行。
場景法就是通過用例場景描述用例執行的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。
提出這種測試思想的是Rational公司。
場景法就是模擬用戶操作軟件時的場景,主要用於測試系統的業務流程。
當拿到一個測試任務時,我們並不是先關注某個控件的邊界值、等價類是否滿足要求,而是先要關注它的主要功能和業務流程是否正確實現,這就需要使用場景法來完成測試。當業務流程測試沒有問題,也就是該軟件的主要功能沒有問題時,我們再重點從邊界值、等價類等方面對控件進行測試。
在冒煙測試時也主要采用場景法進行測試。
事件流的結構如下:
用例場景的定義
用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。
基本流
按照正確的業務流程來實現的一條操作路徑(模擬正確的操作流程)。
僅有一個基本流
備選流
導致程序出現錯誤的操作流程(模擬錯誤的操作流程)。
可以有多個
場景是事件流的一個實例,由基本流或基本流和備選流中的步驟組成,表明了用戶執行系統的操作序列。
場景1:基本流;
場景2:基本流,備選流1;
場景3:基本流,備選流1,備選流2;
場景4:基本流,備選流1,備選流4;
場景5:基本流,備選流3;
場景6:基本流,備選流3,備選流1;
場景7:基本流,備選流3,備選流1,備選流2;
場景8:基本流,備選流4;
場景9:基本流,備選流3,備選流4。
圖中經過用例的每條路徑都用基本流和備選流來表示。
直黑線表示基本流,是經過用例的最簡單的路徑。
備選流用不同的彩色表示,一個備選流可能從基本流開始,在某個特定條件下執行,然后重新加入基本流中(如1和3);也可能起源於另一個備選流(如2),或者終止用例而不再重新加入到某個流(如2和4)。
測試思想
根據需求規格說明書中的用例所包含的事件流信息構造場景並設計相應的測試用例使每個場景至少發生一次
步驟
1)根據說明,描述出程序的基本流及各項備選流。
2)根據基本流和各項備選流生成不同的場景。
3)對每一個場景生成相應的測試用例。
4)對生成的所有測試用例重新審查,去掉多余的測試用例,確定測試用例后,為每一個測試用例確定測試數據值。
一、在測試QQ登錄功能時,使用場景法進行主要功能的測試:
1、 輸入正確的賬號和密碼后點擊“登錄”按鈕,程序能正常登錄 。
2、不輸入賬號和密碼,直接點擊“登錄”按鈕,程序應給出錯誤提示。
3、輸入正確的賬號,錯誤的密碼后點擊“登錄”按鈕,程序應給出錯誤提示。
4、輸入正確的賬號,不輸入密碼,點擊“登錄”按鈕,程序應給出錯誤提示。
5、不輸入賬號,輸入正確的密碼,點擊“登錄”按鈕,程序應給出錯誤提示。
6、輸入錯誤的賬號,正確的密碼,點擊“登錄”按鈕,程序應給出錯誤提示。
二、使用銀行卡取款:
步驟一:根據說明,描述出程序的基本流及各項備選流
1、基本流
(1)插入銀行卡:客戶將銀行卡插入ATM機的讀卡器
(2)驗證銀行卡:ATM機從銀行卡的磁條中讀取賬戶代碼,並檢查它是否屬於可以接受的銀行卡
(3)輸入密碼:ATM機要求客戶輸入密碼
(4)驗證密碼:確定該密碼是否正確
(5)進入ATM主界面:ATM顯示在本機中可用的各種選項
(6)取款並選擇金額:客戶選擇“取款”,並選擇取款金額
(7)ATM機驗證:ATM機進行驗證賬戶余額是否滿足以及總取款金額是否滿足要求,驗證ATM機內現金是否夠用
(8)更新賬戶余額、出鈔:驗證成功,更新賬戶余額,輸出現金,提示用戶收取現金
(9)返回主界面
2、備選流
(1)銀行卡無效:提示錯誤並退卡
(2)密碼錯誤:提示錯誤,並判斷是否3次錯誤
(3)密碼3次錯誤:吞卡
(4)賬戶余額不足:提示錯誤並退卡
(5)總取款金額超出當日可取限額:提示錯誤並退卡
(6)ATM機余額不足:提示錯誤並退卡
步驟二:根據基本流和各項備選流生成不同的場景
步驟三:對每一個場景生成相應的測試用例