2026/06/15

2026 年 06 月 15 日

「沒有測試來證明執行結果符合預期的產品程式碼,都只是碰巧對的,現在對,以後也不一定對。」——《單元測試的藝術(第二版)》

我不知道我的程式為什麼壞了,我不知道我的程式為什麼又正常了⋯⋯

大家一定都看過寫著前兩句話的迷因圖。

你的程式跑起來了,功能看起來也正常,但你知道它為什麼是對的嗎?

反之亦然,你的程式跑不起來,你知道它是錯在哪裡嗎?

我們所交付的到底是一個可靠的程式?

或只是一份尚未出包的未爆彈?

現在沒爆炸,不代表換了一個環境不會爆炸。

當軟體規模還小,或許我們尚可接受這種「碰巧對」的程式。

但當團隊及程式越來越大與複雜時,此種僥倖只顯得越發不可靠。

你的程式現在是「碰巧對」多一些?還是你有足夠的測試能證明它是對的?