搞定 BDD 測試案例!利用「少樣本提示」與「思維鏈」讓 AI 變身資深商業分析師

在推行 BDD(行為驅動開發)時,團隊常遇到一個痛點:寫出來的測試範例(Examples)太淺、漏掉邊界條件,或是 Gherkin 語法寫得不倫不類。

其實,只要在與 AI(如 ChatGPT 或 Gemini)溝通時,導入「少樣本提示 (Few-Shot Prompting)」與「思維鏈 (Chain of Thought, CoT)」這兩大技術指標,AI 產出的品質會瞬間從「實習生」躍升為「資深 BA」。

今天我們就以台灣人最熟悉的「高鐵早鳥票訂票系統」為例,示範如何精準調教 AI。


一、 核心概念:為什麼你的 Prompt 需要進化?

在進入實戰前,我們先釐清這兩個關鍵詞:

  1. 少樣本提示 (Few-Shot Prompting): 與其叫 AI「寫一個 BDD」,不如先給它 1-2 個符合你團隊規範的「正確範本」。這能定義語氣、格式,以及對 Given-When-Then 的嚴謹要求。
  2. 思維鏈 (Chain of Thought, CoT): 強迫 AI 在寫出最終測試案例前,先進行「邏輯推理」。這就像請工程師先畫流程圖再寫程式,能大幅減少 AI 胡說八道(幻覺)的機率。



二、 實戰 Prompt:如何開口要高品質結果?

將以下這段 Prompt 複製到你的 AI 工具中,你會發現產出的內容深度完全不同:

Prompt 範例:

你是一位專精於交通票務系統的資深商業分析師。請為「高鐵早鳥票」功能撰寫 BDD 測試案例。

請務必遵守以下思考流程(CoT):

  1. 業務規則拆解:分析早鳥票的天數(28天前至5天前)、折扣階梯(65/80/90折)與配額遞補邏輯。
  2. 極端案例分析:思考剛好跨過午夜、配額剛好剩 1 張、以及一次訂多人時的邊界情況。
  3. 結構化產出:使用 Gherkin 語法,並優先使用 Scenario Outline 以提高覆蓋率。

參考風格(Few-Shot Example):

Gherkin

Scenario: 系統逾時自動釋出座位
Given 使用者已選位但未付款
And 鎖位保留時間已過 10 分鐘
When 系統執行排程檢查
Then 該座位應恢復為「可預訂」狀態

現在,請開始針對「早鳥票自動判定」撰寫 BDD 範例。


三、 AI 的深度回饋:高鐵早鳥票 BDD 範例

當 AI 接收到上述指令後,它不再只是隨便寫寫,而是會先進行「思考」再產出:

1. 邏輯鏈分析(AI 的內心戲)

  • 關鍵衝突點:如果 65 折只剩 1 張,但使用者訂 2 張,系統該「分開計價」還是「統一升級」?(實務上通常是整筆訂單統一折扣)。
  • 時間邊界:乘車日前 5 天是最後期限,那「第 5 天的 23:59」跟「第 4 天的 00:01」就是測試重點。

2. 最終 BDD 規範產出

Gherkin

Feature: 高鐵早鳥票優惠判定邏輯
為了確保預售系統能正確分配折扣,系統應根據「預訂時間」與「即時配額」給予最優票價。
Scenario Outline: 依照預訂天數與剩餘配額判定折扣階梯
Given 乘車日期為 2026-04-30
And 目前各階折扣配額為:65折(<q65>)、80折(<q80>)、90折(<q90>)
When 使用者於 <booking_date> 預訂 1 張車票
Then 系統應顯示票價為 <expected_price>
And 提示訊息應包含 "<msg>"
Examples:
| booking_date | q65 | q80 | q90 | expected_price | msg | 測試重點 |
| 2026-04-02 | 10 | 50 | 100 | 65折 | 獲得早鳥65折優惠 | 28天前開賣首日 |
| 2026-04-02 | 0 | 50 | 100 | 80折 | 獲得早鳥80折優惠 | 65折完售自動遞補 |
| 2026-04-25 | 100 | 100 | 100 | 65折 | 獲得早鳥65折優惠 | 領取期限最後一天 |
| 2026-04-26 | 100 | 100 | 100 | 原價 | 僅提供一般票價 | 逾期(4天前)無折扣 |
Scenario: 多人訂位時的配額不足處理
Given 65 折早鳥票僅剩餘 1 張配額
When 使用者在符合早鳥時間內,一次預訂 2 張車票
Then 系統不應拆分折扣
And 整筆訂單應判定為「80 折」
And 提示「65折配額不足,已為您搜尋次佳優惠」

結語

BDD 的精髓不在於語法,而在於對業務邏輯的深刻理解。利用 Few-Shot Prompting 定義規範,再用 Chain of Thought 啟動 AI 的邏輯思維,你就能在幾秒鐘內產出高品質的測試規格。

如果你覺得這篇教學對你有幫助,歡迎分享給正在為撰寫測試案例苦惱的隊友們!

發表迴響

探索更多來自 轉念學 - 敏捷三叔公的學習之旅 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading