使用示例學習決策表測試
決策表
決策表是一個表格,它顯示了輸入與規則、用例和測試條件之間的關係。它是一個非常有用的工具,可用於複雜的軟體測試和需求管理。決策表允許測試人員檢查所有可能的測試需求組合,並立即發現任何被忽略的情況。使用真 (T) 和假 (F) 值來表示條件。
什麼是決策表測試?
決策表測試是一種軟體測試,它檢查系統如何響應各種輸入組合。這是一種系統的方法,其中各種輸入組合及其伴隨的系統行為(輸出)被製成表格。因此,它也被稱為因果表,因為它捕獲了原因和結果,以提高測試覆蓋率。
讓我們從一個簡單的例子開始。
示例 1 - 如何建立登入螢幕決策基本表
讓我們使用決策表建立一個登入螢幕。一個帶有電子郵件和密碼輸入框的登入螢幕。
條件很簡單 - 如果使用者輸入正確的使用者名稱和密碼,則將使用者路由到主頁。如果任何輸入不正確,則會顯示錯誤警告。
條件 | 規則 1 | 規則 2 | 規則 3 | 規則 4 |
---|---|---|---|---|
使用者名稱 (T/F) | F | T | F | T |
密碼 (T/F) | F | F | T | T |
輸出 (E/H) | E | E | E | H |
圖例
T - 確保您的登入名和密碼正確。
F - 登入名或密碼錯誤
E - 顯示錯誤訊息。
H - 顯示主頁。
解釋
案例 1 - 使用者名稱和密碼均不正確。向用戶顯示錯誤訊息。
案例 2 - 使用者名稱和密碼均正確,但密碼錯誤。向用戶顯示錯誤訊息。
案例 3 - 雖然使用者名稱不正確,但密碼正確。向用戶顯示錯誤訊息。
案例 4 - 使用者的使用者名稱和密碼均正確,使用者轉到主頁。
在將其轉換為測試用例時,我們可以生成兩種情況。
輸入正確的使用者名稱和密碼並點選登入;預期結果是使用者將被髮送到主頁。
以及以下情況之一。
如果使用者輸入錯誤的使用者名稱和密碼,然後點選登入,則使用者應收到錯誤訊息。
當您提供正確的使用者名稱和錯誤的密碼並點選登入時,使用者應看到錯誤訊息。
如果使用者輸入錯誤的使用者名稱和密碼,然後點選登入,則使用者應收到錯誤訊息。
因為它們都在有效地測試相同的規則。
示例 2 - 如何製作上傳螢幕決策表
考慮一個對話方塊,提示使用者在特定情況下提交照片,例如 -
您只能上傳“.jpg”格式的影像。
大小小於 32 千位元組的檔案
解析度為 137*177 畫素。
如果任何條件不滿足,系統將顯示一個描述問題的錯誤通知,如果所有條件都滿足,則照片將正確更新。
讓我們為這種情況建立一個決策表。
條件 | 案例 1 | 案例 2 | 案例 3 | 案例 4 | 案例 5 | 案例 6 | 案例 7 | 案例 8 |
格式 | .jpg | .jpg | .jpg | .jpg | 非.jpg | 非.jpg | 非.jpg | 非.jpg |
大小 | 小於 32 kb | 小於 32 kb | >=32 kb | >=32 kb | 小於 32 kb | 小於 32 kb | >=32 kb | >=32 kb |
解析度 | 137* 177 | 非 137*177 | 137* 177 | 非 137*177 | 137*1 77 | 非 137*177 | 137*17 7 | 非 137*177 |
輸出 | 照片已上傳 | 錯誤訊息解析度不匹配 | 錯誤訊息大小不匹配 | 錯誤訊息大小和解析度不匹配 | 格式不匹配的錯誤訊息 | 錯誤訊息格式和解析度不匹配 | 格式和大小不匹配的錯誤訊息 | 格式、大小、解析度不匹配的錯誤訊息 |
根據給定的資料,我們可以開發 8 個獨立的測試用例,以確保對此條件的全面覆蓋。
點選上傳新增型別為“.jpg”、檔案大小小於 32kb 且解析度為 137*177 畫素的照片。預期結果是照片將成功上傳。
點選上傳新增格式為“.jpg”、檔案大小小於 32kb 且解析度小於 137*177 畫素的照片。預期結果是應顯示錯誤訊息中的解析度不匹配。
點選上傳新增格式為“.jpg”、檔案大小大於 32kb 且解析度為 137*177 畫素的照片。預期結果是應顯示錯誤訊息的大小。
點選上傳新增型別為“.jpg”、檔案大小大於 32kb 且解析度小於 137*177 畫素的照片。預期結果是應顯示錯誤訊息中大小和解析度的差異。
點選上傳並選擇格式不是“.jpg”、檔案大小小於 32kb 且解析度為 137*177 畫素的照片。預期結果是如果格式不匹配,則應顯示錯誤訊息。
點選上傳並選擇格式不是“.jpg”、檔案大小小於 32kb 且解析度小於 137*177 畫素的照片。預期結果是應顯示錯誤訊息格式和解析度不匹配。
點選上傳新增格式不是“.jpg”、檔案大小大於 32kb 且解析度為 137*177 畫素的照片。預期結果是應顯示格式和大小不匹配的錯誤通知。
點選上傳並選擇格式不是“.jpg”、檔案大小大於 32kb 且解析度小於 137*177 畫素的照片。預期結果是如果格式、大小或解析度不匹配,則應顯示錯誤訊息。
決策表測試的重要性
決策表測試很重要,因為它允許您測試多種條件組合,並確保對複雜的業務邏輯進行徹底測試。決策表測試提供了高覆蓋率,並且表示簡單,易於閱讀和應用於評估大量輸入的行為,其中系統行為隨每組輸入而變化。
邊界值和類似分割槽是軟體工程中使用的另外兩種相關策略,以提供更大的覆蓋率。當系統的行為在大量輸入上保持一致時,會使用它們。但是,在每個輸入值集的系統行為不同的系統中,邊界值和等價劃分技術在保證適當的測試覆蓋率方面效率低下。
在這種情況下,決策表測試是一個有用的替代方案。此方法確保充分的覆蓋率,並且表示簡單,易於理解和應用。
由於此表易於理解並涵蓋所有可能的組合,因此可將其用作需求和功能開發的參考。
隨著輸入數量的增加,此策略的相關性變得顯而易見。2n(其中 n 是輸入的數量)等於潛在組合的數量。對於 n = 10(在具有大型輸入表單的基於 Web 的測試中非常常見),組合數為 1024。顯然,您無法測試所有可能的組合,但您可以使用基於決策的測試方法選擇其中很大一部分。
決策表測試的優點
當系統行為根據輸入而變化並且在一系列輸入上不一致時,等價劃分或邊界值分析都無濟於事,但決策表可以。
表示足夠簡單,易於理解,可用於開發和業務。
此表將有助於建立成功的組合,並可以提高測試覆蓋率。
任何複雜的業務情況都可以輕鬆地轉換為決策表。
當我們追求 100% 覆蓋率時,此策略可以提供覆蓋率,這通常是在輸入選項數量較少時的情況。
決策表測試的缺點
最大的缺點是,隨著輸入數量的增加,表格變得越來越複雜。
決策表測試的範圍
當資料複雜且必須檢查每種可能的組合時,決策表可能會迅速變得龐大。您可以明智地減少每個選項中的選項數量,只選擇那些有趣且重要的選項。這種方法稱為摺疊決策表測試。
在此過程中,消除了與結果無關的冗餘條件,並建立了各種輸出。為了讓測試人員執行更有效的測試,在測試設計中添加了額外的分析層。
決策表是一種可靠的基於規範的測試工具,可用於各種環境中。表格和圖形表示對於所有利益相關者和非技術人員來說都非常容易理解。
透過說明性示例和現實生活場景,專案團隊成員可以快速深入瞭解手頭的話題。
透過進入下一級可摺疊決策表,可以實現這種測試方法的實用性和效率。