目錄
測試用例設計之正交試驗法
一、正交試驗法定義
正交實驗法:使用已經造好的正交表來安排試驗和分析數據的方式。該方法簡單易行且計算表格化,應用性較好。
二、正交試驗法設計步驟
- 提取功能說明中的所有因子及明確因子狀態
因子:每個能影響實驗結果的元素稱爲因子,該元素的取值稱爲因子的狀態。
- 對因子加權篩選,生成因素分析表
- 利用正交表構造測試數據集
三、實例演示
實例之web站點配置
假設有個WEB站點,該站點有大量的服務器和操作系統,並且有很多具有各種插件的瀏覽器瀏覽:
Web瀏覽器:netscape6.2、IE6.0、opera4.0
插件:無、RealPlayer、MediaPlayer
應用服務器:IIS、Apache、Netscape Enterprise
操作系統:Windows 2000、Windows NT、Linux
分析:
因子1:web瀏覽器
因子狀態:①netscape6.2②IE6.0③opera4.0
因子2:插件
因子狀態:①無②RealPlayer③MediaPlayer
因子3:應用服務器
因子狀態:①IIS②Apache③Netscape Enterprise
因子4:操作系統
因子狀態:①Windows 2000②Windows NT③Linux
以上4因子3狀態,要套用L9正交表,強度S=2
用例編號 | Web瀏覽器 | 插件 | 應用服務器 | 操作系統 |
---|---|---|---|---|
1 | ①netscape6.2 | ①無 | ①IIS | ①Windows 2000 |
2 | ①netscape6.2 | ②RealPlayer | ②Apache | ②Windows NT |
3 | ①netscape6.2 | ③MediaPlayer | ③Netscape Enterprise | ③Linux |
4 | ②IE6.0 | ①無 | ②Apache | ③Linux |
5 | ②IE6.0 | ②RealPlayer | ③Netscape Enterprise | ①Windows 2000 |
6 | ②IE6.0 | ③MediaPlayer | ①IIS | ②Windows NT |
7 | ③opera4.0 | ①無 | ③Netscape | Enterprise |
8 | ③opera4.0 | ②RealPlayer | ①IIS | ③Linux |
9 | ③opera4.0 | ③MediaPlayer | ②Apache | ①Windows 2000 |
注:因爲正交表網上可以找,然後把實例中的因子和因子狀態代入就行了。如果是混合型正交表,網上找不到,可以自己寫。
四、正交試驗法的優點和不足
- 生成的用例條數有限且可控,節約了測試工時(如上面例題中,如果用一般測試方法,將會生成3的4次方,也就是81條測試用例,達到全面覆蓋,而用正交試驗法,只生成了9條測試用例,具有代表性)
- 測試用例有一定的覆蓋率。
不足:實用性受限,在實際測試中出現的多因子多狀態很可能用到各種各樣的混合型正交表,而我們可能找不到這些正交表去套用(會寫的話可以自己寫)
注:怎麼寫正交表,會另外寫一章來總結。
測試用例設計之功能圖法
一、功能圖法的定義
功能圖適用於具有多種狀態,且各個狀態具有複雜轉換關係的測試目標。
功能圖模型由狀態遷移圖(描述狀態轉換的圖)和邏輯功能模型(描述狀態轉換的邏輯)構成。
規則:定義了順序、選擇、重複三種規則。
二、從功能圖生成測試用例的方法
(1)生成局部測試用例:在每個狀態中由因果圖生成局部測試用例,局部測試用例由輸入數據組合和輸出數據構成。
(2)生成測試路徑:利用上面的三種規則生成從初始狀態到最終狀態的測試路徑。
(3)生成測試用例:採用條件構造樹合成測試路徑和局部測試用例,形成從初始狀態到最終狀態以及每個狀態的輸入數據組合和輸出數據組合的最終用例。
三、狀態遷移圖的步驟
(1)畫出狀態遷移圖
(2)列出狀態-事件表
(3)得到狀態轉換樹
(4)推出測試路徑
(5)根據測試路徑編寫測試用例
四、實例之MP3播放功能
手機中的MP3播放功能如下描述:沒有選擇MP3曲目時不能按任何鍵;MP3播放在起點時不能按R鍵;MP3播放在終點時不能按P鍵和F鍵;MP3只有在暫停狀態下纔可以錄音。請用功能圖法設計測試用例。
R鍵倒退,P鍵播放,F鍵快進,RC鍵錄音,idle鍵暫停。
- 建立狀態轉換圖,如圖所示
- 建立狀態事件表,如圖所示
- 建立狀態轉換樹
- 每條路徑都對應一個測試用例,根據狀態樹編寫測試用例
用例編號 | 測試標題 | 重要級別 | 預置條件 | 操作步驟 | 預期輸出 |
---|---|---|---|---|---|
MOBILE_ST_MP3_PLAY_001 | 在暫停狀態時,先錄音後暫停 | 高 | 已選定MP3曲目且在暫停狀態 | 1.按RC鍵 2.按idle鍵 |
先正常錄音後暫停 |
MOBILE_ST_MP3_PLAY_002 | 在暫停狀態時,先播放後快進 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按P鍵 2.按F鍵 |
曲目先播放後快進 |
MOBILE_ST_MP3_PLAY_003 | 在暫停狀態時,先播放後倒退 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按P鍵 2.按R鍵 |
曲目先播放後倒退 |
MOBILE_ST_MP3_PLAY_004 | 在暫停狀態時,先播放後暫停 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按P鍵 2.按idle鍵 |
曲目先播放後暫停 |
MOBILE_ST_MP3_PLAY_005 | 在暫停狀態時,先快進後播放 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按F鍵 2.按P鍵 |
曲目先快進後播放 |
MOBILE_ST_MP3_PLAY_006 | 在暫停狀態時,先快進後倒退 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按F鍵 2.按R鍵 |
曲目先快進後倒退 |
MOBILE_ST_MP3_PLAY_007 | 在暫停狀態時,先快進後暫停 | 高 | 已選定MP3曲目且在暫停狀態不在終點 | 1.按F鍵 2.按idle鍵 |
曲目先快進後暫停 |
MOBILE_ST_MP3_PLAY_008 | 在暫停狀態時,先倒退後快進 | 高 | 已選定MP3曲目且在暫停狀態不在起點 | 1.按R鍵 2.按F鍵 |
曲目先倒退後快進 |
MOBILE_ST_MP3_PLAY_009 | 在暫停狀態時,先倒退後播放 | 高 | 已選定MP3曲目且在暫停狀態不在起點 | 1.按R鍵 2.按P鍵 |
曲目先倒退後播放 |
MOBILE_ST_MP3_PLAY_010 | 在暫停狀態時,先倒退後暫停 | 高 | 已選定MP3曲目且在暫停狀態不在起點 | 1.按R鍵 2.按idle鍵 |
曲目先倒退後暫停 |
測試用例設計之場景法
一、場景法的定義
場景法通過場景來對程序的功能和業務流程進行描述。通過遍歷所有的基本流和備選流來遍歷整個場景。
場景=基本流+備選流
場景:由一系列相關活動組成,且場景中的活動還能由一系列相關場景組成。
基本流:經過用例的最簡單的路徑,無任何差錯,程序直接從開始執行到結束。
備選流:從基本流或備選流開始,在特定情況下發生,中間走了其他可能性,然後重新回到基本流(如下圖中的備選流1和備選流3),或者直接結束用例。(如下圖中的備選流4)
二、從基本流和備選流圖生成用例
如圖所示:
場景1 | 基本流→結束用例 |
場景2 | 基本流→備選流1→結束用例 |
場景3 | 基本流→備選流1→備選流2→結束用例 |
場景4 | 基本流→備選流3→結束用例 |
場景5 | 基本流→備選流3→備選流1→結束用例 |
場景6 | 基本流→備選流3→備選流1→備選流2→結束用例 |
場景7 | 基本流→備選流3→備選流4→結束用例 |
場景8 | 基本流→備選流4→結束用例 |
三、場景法設計步驟
- 根據需求畫出基本流和備選流圖
- 根據基本流和備選流圖寫出所有場景
- 根據場景寫出用例
- 審覈用例,去掉冗餘項,並在用例中填上測試數據
四、實例之在線購物系統
實例:用戶進入一在線購物網站購物,選購商品後進行購買,這時需要使用賬號登錄,登錄成功後在線支付,生成訂單,完成整個購物流程。請用場景法設計測試用例。
基本流 | 選購商品,登錄成功,在線支付,生成訂單 |
備選流1 | 賬號不存在 |
備選流2 | 賬號密碼錯誤 |
備選流3 | 餘額不足 |
備選流4 | 賬戶金額爲0 |
場景1—成功購物 | 基本流 |
場景2—賬號不存在 | 基本流→備選流1 |
場景3—賬號密碼錯誤 | 基本流→備選流2 |
場景4—賬戶餘額不足 | 基本流→備選流3 |
場景5—賬戶金額爲0 | 基本流→備選流4 |
設計用例==(V:有效;I:無效;n/a:不適合該用例)==
用例ID | 場景 | 賬號 | 密碼 | 餘額 | 預期結果 |
---|---|---|---|---|---|
1 | 場景1—成功購物 | V | V | V | 成功購物 |
2 | 場景2—賬號不存在 | I | n/a | n/a | 提示賬號不存在 |
3 | 場景3—賬號密碼錯誤(賬號正確,密碼錯誤) | V | I | n/a | 提示賬號或密碼錯誤,重新登錄 |
4 | 場景3—賬號密碼錯誤(賬號錯誤,密碼正確) | I | V | n/a | 提示賬號或密碼錯誤,重新登錄 |
5 | 場景4—賬戶餘額不足 | V | V | I | 提示餘額不足,請充值 |
6 | 場景5—賬戶金額爲0 | V | V | I | 提示餘額不足,請充值 |
審覈用例,去掉冗餘,並填入測試數據(場景4和場景5進行了合併)
用例ID | 場景 | 賬號 | 密碼 | 餘額 | 預期結果 |
---|---|---|---|---|---|
1 | 場景1—成功購物 | Amy | 123456 | 2000 | 成功購物 |
2 | 場景2—賬號不存在 | Jone | n/a | n/a | 提示賬號不存在 |
3 | 場景3—賬號密碼錯誤(賬號正確,密碼錯誤) | Amy | 111111 | n/a | 提示賬號或密碼錯誤,重新登錄 |
4 | 場景3—賬號密碼錯誤(賬號錯誤,密碼正確) | Amys | 123456 | n/a | 提示賬號或密碼錯誤,重新登錄 |
5 | 場景4—賬戶餘額不足 | Amy | 123456 | 0 | 提示餘額不足,請充值 |
五、場景法適用場景
場景法適用用於解決業務流程清晰的系統或功能。