錯誤推測法 (Error Guessing Method)

一、定義

根據以往經驗、直覺與知識來推測待測軟體中可能存在的各種錯誤,從而設計測試案例。

二、介紹

列舉出待測軟體可能出現的錯誤和容易發生錯誤的特殊情況,再根據這些情況來設計測試案例。例:在測試輸入數據時,要求輸入數字,卻輸入字元 ,這就是可能發生錯誤的情況 ; 或是根據以往產品測試出來有錯誤的地方,基於「某處發現了問題,則可能會隱藏更多問題」,來設計測試案例,這就是經驗的累積。

能夠想出這些額外的測試案例,除了要熟悉待測軟體的業務、需求外,還要對待測軟體之前的錯誤進行系統性的分析,這些相關資訊都可以透過諮詢 RD、PM、客服人員等來獲得。

三、案例說明

案例一:豬血糕蛋餅

小芳每天都會去阿基蛋餅鋪買豬血糕蛋餅,但小芳前三次買回家後都發現阿基忘記幫她附上醬油膏,所以都只能吃沒有醬油膏的豬血糕蛋餅,或是回到阿基蛋餅鋪找阿基拿被遺忘的醬油膏。

於是在第四次小芳光臨阿基蛋餅鋪買豬血糕蛋餅,拿到蛋餅的第一個當下就是先確認是否阿基有附上醬油膏。果然此次阿基又忘記附上醬油膏了,於是小芳這次成功攔截錯誤,提早提醒阿基附上醬油膏,就可以吃到美味且有附醬油膏的蛋餅。

此案例即為用經驗法則(前三次的經驗)來找出問題所在。

註:以上內容純屬虛構,如有雷同純屬巧合。

案例二:測試計算機

在測試計算機的時候,會根據經驗列出可能會發生錯誤的地方:

1. 按下數字 0,螢幕應該要顯示 0,不應該顯示非 0 的數值

2. 按下 1+1,螢幕上顯示的答案應該是 2,不應該顯示非 2 的數值

3. 輸入一些數字,按下功能鍵 C,螢幕上應該要將原本有的數字清空變成 0

假設第二項測出來是錯誤的,就會基於「某處發現了問題,則可能會隱藏更多問題」,就會列出更多類似的情況來驗證。

例:若輸入「1+1」,螢幕上顯示的答案卻不是「2」,代表加法有錯,那減法也有可能會錯。

→ 輸入「2-1」,確認螢幕上顯示的答案應該要是「1」

根據學習過的數學規則經驗,某些運算是屬於無意義或是會有極限值的表現,所以在這樣些地方可能會發生錯誤。例:

1. a 除以 b,若除數 b = 0,結果有可能是無意義,或是無限大。

→ 輸入「8/0」確認結果應該顯示為 <非數字> 或者「∞」

2. 正數 0,往上的位數顯示不需補 0,例如沒有 0000000,0 只需要顯示一個 0。

→ 將內容歸零後,連續按好幾次 0 ,確認結果應該只會顯示一個 0。

四、優缺點

優點:錯誤推測法是基於測試人員的經驗與直覺,還有對待測軟體的熟悉度,因此透過這樣的方法,可以根據個人的經驗,促進思考進而設計出特殊情況的測試案例。

缺點:由於錯誤推測法是基於測試人員的經驗與直覺,所以有時候當是比較新的測試人員的話,可能比較不容易思考出較為特殊的測試案例,此外,錯誤推測法的覆蓋率也難以保證。因此,可以將錯誤推測法做為補充其他測試案例的方法之一。

五、結論

等價類劃分與邊界值都是選擇有代表性的數值來做測試案例,但實際上因為不同的軟體類型,不同特點的軟體通常都有一些特殊容易出錯的情況,因此,透過錯誤推測法,我們可以再補充一些額外的測試案例,讓測試案例更加完善。

參考文章:

1. 錯誤推測法

2. 產生測試案例

3. 測試用例的設計方法之錯誤推測方法和因果圖方法

4. 功能測試用例設計積累(二):錯誤推測法分析與實踐

廣告

One thought on “錯誤推測法 (Error Guessing Method)

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s