iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0

前言

「過得還不錯的一年:我的快樂生活提案」是一本讓自己提案如何讓生活快樂的一本書,裡面的第二月的主旨就是「老婆快樂,人生就快樂。」所以,今天我們來設計一個有趣的測試題目,主題是「老婆是否總是愛生氣」的情境,來判斷這個「功能」是否能夠通過測試。這個題目不僅貼近日常生活,還充滿挑戰性,因為涉及了情感和互動。我們會用 因果圖 來分析老婆生氣的各種可能原因,並設計出應對策略,看看能不能有效解決問題,讓生活更加和諧。


因果圖(Cause-and-Effect Diagram)是什麼?

因果圖(Cause-and-Effect Diagram),又稱「魚骨圖」,是一種專門用來處理多個輸入條件和結果之間的關係的測試工具。透過它,我們可以清楚分析每個輸入條件的組合,並根據這些組合來設計對應的測試案例。這個方法特別適合處理複雜的邏輯和多輸入情境。

使用因果圖的簡單步驟:

  1. 分析規格說明書:找出「原因」(輸入條件)和「結果」(輸出條件)。例如,輸入條件可以是忘記某些重要日子或忽略老婆的感受,結果則是老婆生氣。

  2. 定義原因與結果:將每個「原因」與「結果」賦予一個符號,並用圖形表示它們之間的關係。

  3. 表明約束條件:例如,忘記早安問候與忘記晚餐問候不應該同時為真,因為它們是不同時間點的互動。

  4. 轉換為判斷表:將因果圖的結果轉化為表格形式,列出所有條件組合與相對應的動作。

  5. 設計測試案例:根據每個組合,設計具體的測試案例,判斷老婆是否會生氣。


挑戰目標

使用因果圖 (Cause-and-Effect Diagram) 設計測試案例,用來判斷這個老婆是否愛生氣。

原因(輸入條件):

我們將條件具體化,避免模糊的情境,並根據不同互動設定具體的測試條件:

  • 忘記早上 9 點前問候早安(True/False)

  • 忘記在晚餐前問候是否吃得好(True/False)

  • 回應訊息超過 30 分鐘未回應(True/False)

  • 忘記老婆生日或結婚紀念日(True/False)

  • 是否準備補救驚喜(True/False)

約束條件:

一些情境是互斥的,例如「忘記早安問候」和「忘記晚餐問候」這兩個條件不應該同時為 True,因為它們屬於不同時間點的互動。因此,我們設置這些條件為互斥,避免同時發生。


結果(輸出條件):

結果將細化為多個層級,來更準確反映情境下的不同反應:

  • 老婆不生氣(Fail)

  • 老婆輕微生氣(Mild Pass)

  • 老婆非常生氣(Strong Pass)

如果老婆生氣,則測試通過(Pass);如果不生氣,則測試失敗(Fail)。


因果圖示範

根據具體條件設計因果圖並列出以下情境:

  • 範例 1:忘記早安問候且無補救,老婆非常生氣,測試通過(Strong Pass)。

  • 範例 2:忘記早安問候,但後來準備驚喜補救,老婆輕微生氣,測試通過(Mild Pass)。

  • 範例 3:回應訊息不即時且無解釋,老婆非常生氣,測試通過(Strong Pass)。

  • 範例 4:忘記生日但準備驚喜補救,老婆不生氣,測試失敗(Fail)。


判斷表設計

我們將條件和結果進一步細化成判斷表,並針對約束條件做調整,讓組合更符合實際情境。

條件 忘記早安問候 忘記晚餐問候 回應訊息超過 30 分鐘未回應 忘記生日 是否準備補救驚喜 結果:老婆生氣
忘記早安問候且無補救 True False True False False Strong Pass
忘記晚餐問候但即時補救 False True False False True Mild Pass
回應訊息不即時且無解釋 False False True False False Strong Pass
忘記生日但準備驚喜補救 False False False True True Fail
即時回應訊息並表達關心 False False False False N/A Fail

測試案例分析

測試案例 1:忘記早安問候且無補救

  • 忘記在早上 9 點前問候老婆早安,且沒有補救行動,老婆非常生氣,測試通過(Strong Pass)。

測試案例 2:回應訊息不即時且無解釋

  • 當老婆傳訊息時,沒有在 30 分鐘內回應,且無解釋,老婆非常生氣,測試通過(Strong Pass)。

測試案例 3:忘記生日但準備驚喜補救

  • 忘記老婆生日,但後來準備了一個驚喜來補救,老婆不生氣,測試失敗(Fail)。

測試案例 4:即時回應訊息並表達關心

  • 當老婆訊息發送後,即時回應並表達關心,老婆不生氣,測試失敗(Fail)。

結論

因果圖 測試非常適合處理多輸入條件與結果的組合,能針對複雜邏輯進行全面分析,並通過減少不必要的重複測試來提升效率。不過,女生的心情可不是像程式一樣有固定的邏輯可以測試的,更多時候是充滿變數的情感世界!如果真的要測試,還是不要有這個念頭吧。😆

最後,雖然我們可以用這些「邏輯」來嘗試理解和應對,但真正應對女生的「測試」還是要靠用心與體貼。測試老婆心情可能只是個好玩的比喻,但在生活中,最終還是要記得:用心經營才是關鍵!❤️


上一篇
Day 16:測試美食外送平台,你的訂閱服務功能測試好了嗎?
下一篇
Day 18:情緒左右球技?用狀態機解析隊友情緒波動的測試案例!
系列文
測試工程師的上線時間:從分析到實戰的刻意練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言