iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
IT Operation

AI 輔助開發下,測試如何保住品質防線系列 第 11

Day 11:AI 會不會主動幫你補那些被冷落的測試?

  • 分享至 

  • xImage
  •  

前言:AI 會不會主動幫你補被冷落的測試?

「如果請 AI 幫我在 PurchaseRequest 加一個新的付款方式,AI 會不會像 Day 09 講的那樣,順便注意到旁邊還有沒測過的東西?」

不會,除非你要求它這麼做。這是今天要講清楚的第一件事——也是這個系列從 Day 01 開始就一直重複的主題句的延伸:AI 能幫你補程式碼,但補不出你自己都沒發現的測試缺口

今日目標

  • 理解為什麼 AI 不會自動做到 Day 09 講的「順路補測試」
  • 分清楚「AI 能做到」跟「AI 會主動去做」是兩回事
  • 知道要讓 AI 承接「順路補測試」這件事,開發者需要先做什麼
  • 對照一組「什麼都沒交代」vs「交代清楚範圍」的 prompt,看差別在哪裡(具體 prompt 範例留到後天)

AI 為什麼不會自動注意到旁邊的測試缺口

Day 09 提到,人類開發者會「順路補測試」,是因為打開一個檔案、看懂裡面既有的程式碼跟測試之後,自然會產生「欸這裡怎麼沒測」的直覺反應。這個直覺來自於開發者對這個檔案、這個專案的持續記憶跟責任感——他知道自己接下來還要維護這段程式碼,缺口留在那裡是自己以後的麻煩。

AI 沒有這種持續性的責任感。你請 AI 「幫我在 PurchaseRequest 加 BNPL 付款支援」,它會完成你要求的範圍——新增 getBNPLFields()、接進 getSendExtend()、可能還會很盡責地幫新功能寫測試。但它不會主動去檢查「同一個檔案裡,getATMFields() 有沒有對應的測試」,除非你明確要求,因為這件事不在你交代的任務範圍內,AI 沒有理由自己擴大範圍去做

這不是 AI 能力不足,是責任邊界的問題

這裡要澄清一個常見的誤解:不是「AI 技術上做不到分析同一個檔案裡有哪些方法缺測試」——這其實是很直接的靜態分析工作,AI 完全有能力做。問題在於它不會主動去做,除非你把這件事放進它的任務範圍裡

這跟人類新進團隊的工程師也會有一樣的狀況:如果沒人告訴他「順手看看旁邊有沒有缺測試的地方」是團隊的習慣,他大概率也只會完成被交代的那一部分。差別在於,人類工程師待得夠久,通常會自己養成這個習慣;AI 每一次對話都是全新的,沒有「待久了就會養成習慣」這回事,這個習慣必須每次都靠你重新交代。

❌ vs ✅:把「順路補測試」當成 AI 會自動附贈的功能,還是明確要求的任務

❌ 誤解:以為 AI 會像資深工程師一樣自動注意周邊
Prompt: "幫我在 PurchaseRequest 加 BNPL 無卡分期的支援"
→ AI 完成 BNPL 功能跟對應測試,
   但完全不會提到 ATM/彈性分期還缺測試這件事
✅ 正確理解:把「順便檢查」當成任務的一部分明確交代
Prompt: "幫我在 PurchaseRequest 加 BNPL 無卡分期的支援,
         同時檢查同一個檔案裡其他 getXxxFields() 方法
         是否已經有對應的測試覆蓋,沒有的話列出來讓我確認"
→ AI 會依照要求去比對程式碼跟測試檔案,
   把缺口明確列出來,交由你判斷要不要一併補

正例的 prompt 具體長什麼樣子、怎麼下才會問到重點,是後天(Day 13)的主題,明天會先岔開一天講另一個更根本的問題。今天要先把心態校準好:這種「順路檢查」的行為,對 AI 來說不是預設值,是一個需要你明確請求的功能

今日思考題

你曾經預期 AI 會「順便」幫你注意到某件事,結果它沒有做,事後才發現自己該講清楚?那次的落差,是你沒交代清楚,還是你原本就高估了 AI 會自動承接的範圍?

今日重點回顧

  • AI 不會自動「順路」注意到同一個檔案裡其他缺測試的地方,除非被明確要求
  • 這不是 AI 能力不足,而是它沒有持續性的專案責任感,任務範圍完全由你的 prompt 決定
  • 人類工程師的「順路補測試」習慣是靠長期待在專案裡養出來的,AI 沒有這種累積,每次都要重新交代
  • 把「順便檢查測試缺口」當成任務的一部分明確寫進 prompt,才是讓 AI 承接這件事的正確方式

明日預告

明天先岔開一天,討論一個更根本的問題:如果套件裡完全沒有覆蓋率門檻擋著,不管是人類還是 AI,測試缺口到底是靠什麼機制被補上的?


上一篇
Day 10:還沒等到「順路」機會的兩個類別
下一篇
Day 12:沒有覆蓋率門檻,測試靠什麼被補上?
系列文
AI 輔助開發下,測試如何保住品質防線15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言