案例一
訂購單的檢查。如果金額超過500元,又未過期,則發出批准單和提貨單;如果金額超過500元,但過期了,則不發批准單;如果金額不超過500元,則不論是否過期都發出批准單和提貨單,在過期的情況下還需要發出通知單。
案例二
我們申請一個項目,需先提交審批單據,再由部門經理審批,審覈通過後由總經理來最終審批,如果部門經理審覈不通過,就直接退回.
每個事件觸發時的情景便形成了場景。而同一事件不同的觸發順序和處理結果形成事件流。
場景法
通過運用場景來對系統的功能點或業務流程進行描述,從而提高測試效果的一種方法。場景法一般包含基本流和備用流,從一個流程開始,通過描述經過的路徑來確定的過程,經過遍歷所有的基本流和備用流來完成整個場景。
基本流
從系統某個初始態開始,經一系列狀態後到達終止狀態的過程中最主要的一個業務流程。
備選流
以基本流爲基礎,在經過的每個判定節點處滿足不同的觸發條件而導致的其他事件流。
對ATM機的取款用例,使用場景法設計用例
(1)描述提款用例的基本流和備選流
【例】 有一個處理單價爲5角錢的飲料的自動售貨機,相應規格說明如下。
① 若投入5角錢或1元錢的硬幣,按下【橙汁】或【啤酒】的按鈕,則相應的飲料就送出來。(每次只投入一個硬幣,只按下一種飲料的按鈕。)
② 如投入5角的硬幣,按下按鈕後,總有飲料送出。
③ 若售貨機沒有零錢找,則【零錢找完】的紅燈會亮,這時再投入1元硬幣並按下按鈕後,飲料不送出來而且1元硬幣也退出來。
④ 若有零錢找,則【零錢找完】的紅燈不會亮,若投入1元硬幣及按飲料按鈕,則送出飲料的同時找回5角硬幣
(1)分析基本流和備選流
基本流:投入5角錢,按下【橙汁】或【啤酒】的按鈕,則相應的飲料就送出來。
備選流:
① 備選流1:【零錢找完】的紅燈沒亮,若投入1元硬幣及按飲料按鈕,則送出飲料的同時找回5角硬幣。
② 備選流2:【零錢找完】的紅燈亮,這時投入1元硬幣並按下按鈕後,飲料不送出來且1元硬幣也退出來。
(2)分析場景
場景1:基本流
場景2:備選流1
場景3:備選流2
QQ安裝功能測試
Step1、如果需求是文字描述,將文字轉化爲圖形
Step2、需求中包含1個獨立功能 —— QQ安裝功能
Step3、針對打印功能開展需求分析
界面可見輸入參數:同意、安裝組件、安裝位置、
創建菜單文件夾、顯示說明書
界面不可見輸入參數:系統平臺兼容、安裝組件、安裝空間
Step4、分析界面可見輸入參數之間的關係及特點
選擇組件、顯示說明書不存在有效無效規則校驗 —X— 等價類、邊界值
同意、安裝位置、創建菜單文件夾存在有效無效,但是當前界面並不提示錯誤,所以不能用等價類、邊界值
參數之間不存在一個是什麼另外一個必須什麼的邏輯關係 —X— 判定表
參數存在無效,不全是有效的 —X— 正交試驗
一個功能的實現需要多個界面協同完成(跨界面)存在邏輯關係(對錯不能同時存在,同意/不同意、上一步/下一步)並且不同參數組合會輸出不同結果 —— 流程分析法
Step5、利用流程分析法設計測試用例
畫圖法:
① 將安裝嚮導界面的判定條件並列存放在一行
② 將許可協議加密的判定條件並列存放在下一行
③ 重複步驟②,直到所有界面都畫完
④ 先畫條件爲真的分支
⑤ 再畫條件爲假的分支
⑥ 一條分支爲一條測試用例
流程分析法的優缺點
優點:流程分析法既能覆蓋條件爲真的分支,也能覆蓋條件爲假的分支
缺點:流程分析法不能驗證每個界面的參數是否正確,驗證的是流程, 所以需要與開發進行溝通需求,需要在每個界面進行校驗,如果錯誤,直接在當前界面提示信息,所以需要多種方法組合使用。