用例的通用格式是:
簡要描述
事件流
基本流程
可選流程 1
可選流程 2
特殊需求
前提條件
后置條件
擴展點
環境圖
活動圖
基本流程包括最通常的一系列行為,此步驟發生在每件事正確運轉的時候??蛇x流程表現了流程的變更,包括不很普遍的情況和錯誤條件。環境圖是用例圖的一部分,向參與者和其它用例顯示了特殊用例之間的關聯?;顒訄D是一個解釋用例的流程圖。環境圖和活動圖不是必須的,但是可以幫助你可視化用例和它在項目中的位置。
在我們的在線書店項目中,用例的基本流程的安置順序也許像這樣:
B1 用戶在瀏覽器輸入網站的地址
系統顯示登陸界面。
B2 用戶輸入電子郵件地址和密碼。
系統確認正確的登陸,顯示主頁,并且提示輸入搜索字符串
B3 用戶輸入搜索字符串—書名的一部分。
系統返回與搜索標準匹配的全部書籍。
B4 用戶選擇一本書。
系統顯示這本書的詳細信息。
B5 用戶把這本書放在購物車中。
購物車中的貨物顯示給用戶
B6 用戶選擇"進入到結帳" 選項。
系統索要送貨地址。
B7 用戶確認送貨地址。
系統顯示送貨選項。
B8 用戶選擇送貨選項。
系統詢問使用哪種信用卡。
B9 用戶確認儲存在系統中的信用卡。
系統請求最終確認此次訂購。
B10 用戶訂購。
系統返回確認數量。
除了基本流程以外,還有許多可選流程。例如,第一個可選流程描述了當用戶是一個新的用戶時所發生的事情(不是在線書店的已注冊用戶)。在基本流程中,用戶經常擁有一個用戶ID和密碼。相反,可選流程 1 描述了當第一次用用戶需要注冊并提供顧客數據時的情況??蛇x流程的另一個例子是無效的密碼。用戶輸入了錯誤的密碼,系統顯示錯誤信息。
表 1 顯示了"安置順序"用例中的可選流程:
下列約定用于為事件流命名:
基本流程:B
可選流程:A1,A2, A3,...
在基本流程中的步驟:B1,B2, B3, ...
在可選流程1中的步驟:A1.1, A1.2, A1.3, ...
在可選流程2中的步驟: A2.1, A2.2, A2.3, ...
為得到可選流程,使用活動圖 5。圖 5顯示了描述用例的活動圖。
圖5. 活動圖
基本流程是一條向下的直線,然而可選流程可以是向前或向后的循環線。
如何從用例創建測試用例
在創建一個測試用例之前,你需要為所給用例確定全部的場景。一個場景是用例的一個實例。它描述了一個貫穿事件流的特殊路徑。圖 6是一個假設的圖表,它描繪了一個擁有基本流程B和可選流程A1, A2, A3, A4的用例。為了找到全部的場景,我們需要畫出貫穿于此圖的所有場景。
圖6. 在用例中找到場景
每一個可選流程都有一個場景,并且每個結合的可選流程都有一個場景。顯然,這里場景多于可選流程,因為一個場景用于A1,另一個場景用于A2,還有一個場景用于這兩個的結合。
描述場景最簡單的方法是提供一系列的可選流程,例如,做兩遍流程A2,然后做一遍流程A6:
SC16:A2,A2,A6。
另一種描述場景的方法是列出它的所有步驟,但是這種方法既困難又未必詳細。
如果你陷了無限循環(向后循環),這時該怎么辦?理論上它將產生無限的場景。圖 7顯示了一個無限循環。
圖7. 無限循環。
最合理的方法是做一遍基本流程,一遍循環流程,然后再做一遍循環流程。如果程序能為這兩個循環都工作的話,你能假設它能為所有的循環工作。
原文轉自:http://www.uml.org.cn/Test/200607073.htm