從用例得到測試用例

發表于:2015-07-03來源:uml.org.cn作者:不詳點擊數: 標簽:測試用例
用例和測試用例有不同的起源,并服務于盡管相關但卻不同的目的,所以從用例到測試用例并不簡單,但還是有合理的步驟,首先我們定義一下場景的概念:

  從用例得到測試用例

  用例和測試用例有不同的起源,并服務于盡管相關但卻不同的目的,所以從用例到測試用例并不簡單,但還是有合理的步驟,首先我們定義一下場景的概念:場景:或用例的一個實例,是一個用例的執行,其中特定用例以特定方式執行該用例。場景可能有多個,如下圖所示,用戶可能走主事件流,也可能走備選事件流 1 和 2,然后異常退出。每個路徑都可以是被執行和測試的場景或實例。

  既然我們已經定義了用例場景的概念,就可以提出一個四步的過程來完成這個目標。1)第一步:確定用例場景因為用例和場景之間是一對多關系,我們可以把基本流域備選流之間的關系用一個矩陣表達出來,假定已經有上面的用例,可以寫出場景矩陣。

  注意到我們描述的用例還不是太復雜,就產生了相當數量的場景。在很多情況下,測試人員需要設計一個既認識到測試所有的場景不現實,同時又有足夠測試的測試策略。在烤爐策略的時候,首先列出所有的場景是必要的。另外,測試人員也要認識到,并不是所有的場景在原來的用例中都有描述,場景發現的過程要與開發團隊交互地進行,這樣做有兩個原因:A 用例開發是用于實現的,沒有百分之百窮盡,其詳細程度對測試來說可能不夠。B 測試團隊的審查過程將通過執行用例創建新的發現場景,有的甚至在設計的時候都沒有考慮到,所以就會發生修改設計。這也是我們在生命周期方法中選擇迭代模型的原因之一,因為它允許我們有效的計劃和管理這個過程。測試團隊審查用例并發現漏洞,或者附加備選流程將可能產生更好的系統。2)第第二步:確定測試用例公司的測試過程千差萬別,但測試用例都應該包括要實施的測試參數,包含測試的條件和預期的結果。下面的表就是一個公共的格式,使用一個矩陣,表達場景、條件、數據、預期和實際值。

  注意,上面的表中一個場景可能產生多個測試用例(見用例 2,3),這是因為一個場景可能會有多種邏輯成分。假定有一個關于自定義照明策略的用例: 戶主為一周的每天輸入最多 7 種照明序列,系統用一個蜂鳴聲確認每個輸入。這個簡單步驟將產生兩個測試用例,如下表所示。

  此外,這個過程中我們還發現了一個歧義性必須解決:“如果戶主想輸入多于 7 個,系統將怎樣解決?”于是,測試團隊和開發團隊一起來討論這件事情,這就是我們迭代發現過程的本質。3)第三步:確定測試條件下一步是在測試用例中確定引發執行這個測試用例的特定條件。也就是考慮一下,什么條件引起用戶在一個用例中執行特定事件的序列呢?在這個過程中,測試人員要搜索用戶步驟,發現引發特定測試用例的特定數據條件、分支等。每發現一個條件,測試人員都在矩陣中輸入一個新的列表示這樣的條件。在這個過程中,只要簡單的創建一個列,表明對于這個條件將發生哪些狀態(有效、無效、不可用)就足夠了。A有效(V):為執行基本流,這個條件必須為真。B 無效(I):這個條件將激活備選流,引發特定場景。C不可用(N/A):所確定的條件無法應用于測試用例。我們來看一個簡單的“控制燈”的用例,這里有三個改變系統行為的條件要考慮:D按下按鈕少于 1秒。E下按鈕超過 1秒。 F下按鈕超過 1秒后松開。

  它們將分別觸發場景 1,2,3。下面列出這個用例描述。

  4)第四步:增加數據值完成測試用例我們已經有了很好的進展,現在來確定完全的測試一個用例所需要的所有條件。用例只是對條件、場景、路徑的描述,并沒有具體的值,所以還需要到補充規范去找到一些有效的數據范圍、接口協議等等信息。這恰恰也是利用測試用例解決當初的用例定義的需求的時候了,這也包括把最大/最小性能、最大/最小數據范圍、最大/最小負載的定義和自行期間的數據量結合起來。 一旦確定了數據范圍,就可以把它填入測試用例的矩陣,如下表所示。

原文轉自:http://www.uml.org.cn/Test/200911126.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97