iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
IT Operation

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

以真實存在的公開 PHP 套件 omnipay-ecpay 為素材,拆解一套 CI/品質工具鏈從「設定了但沒人看」到「真的把關」的維運歷程:覆蓋率報表被 --no-coverage 關掉、composer script 從沒接進 CI、PHPStan/phpcs 第一次跑就抓到真實問題。用真實 commit 與實測數字,示範 AI 輔助開發下,日常維運怎麼把「應該還好吧」的假設逐項核對成可傳承的品質防線。

參賽天數 25 天 | 共 25 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21:請 AI 幫忙寫程式碼,怎麼確保它沒用 CI 矩陣不支援的語法?

前言:AI 寫的程式碼,會不會用了 CI 不支援的新語法? 如果現在請 AI 幫 omnipay-ecpay 加一個新功能,AI 很有可能會很自然地寫出 mat...

2026-09-25 ‧ 由 recca0120 分享
DAY 22

Day 22:第三部小結——相容性防線,目前完全靠「跑過測試」撐著

前言:把第三部的發現串起來看一次全貌 第三部花了 7 天挖這個套件的跨版本相容性跟靜態品質工具現況。今天把它們串起來看一次全貌。 今日目標 回顧第三部 7 天...

2026-09-26 ‧ 由 recca0120 分享
DAY 23

Day 23:把 `--no-coverage` 拿掉,會發生什麼事

前言:把覆蓋率的開關打開,要花多少功夫? 「覆蓋率工具要裝、要設定門檻、CI 要改,聽起來是一個大工程吧?」 前幾天看到 phpunit.xml 裡明明有完整的...

2026-09-27 ‧ 由 recca0120 分享
DAY 24

Day 24:把 `check-style` 接進 CI,會先踩到 8 個已知的坑

前言:把 check-style 接進 CI,會先踩到什麼坑? 「一個 composer script 早就寫好了,接進 CI 不就是加一行 yaml 嗎?」...

2026-09-28 ‧ 由 recca0120 分享
DAY 25

Day 25:幫 Refund 補一個例外測試,只花了 13 行

前言:不等新功能當藉口,主動補一個例外測試 第二部看過 commit 80d3469「順路補測試」的真實案例——加新功能時,順便把舊路徑的測試缺口補上。今天反過...

2026-09-29 ‧ 由 recca0120 分享