2026年8月23日 Symbolic Execution 找到了我 94% 測試覆蓋率都漏掉的整數溢位 你的單元測試只檢查特定輸入。Symbolic execution 檢查所有可能的輸入。以下是它的運作原理、成本,以及從哪裡開始。 additional-strategiessymbolic-executiontestingverification
2026年8月16日 Metamorphic testing 發現了 147 個編譯器 bug 與一個自駕車缺陷。以下是它的運作原理。 Metamorphic testing 在 GCC、LLVM、Vulkan shader compiler 與 ADAS 模擬器中發現了真實的 bug。這篇文章用可執行的程式碼解釋這項技術,並說明它適合放在測試套件的哪個位置。 metamorphic-testingcase-studyproduction-bugstesting
2026年8月14日 大多數 Metamorphic Relations 都沒用,這裡教你怎麼挑出好的 並非所有 metamorphic relations 都能抓到缺陷。弱的關係給你虛假的信心,強的關係才能找出真正的錯誤。以下是如何區分兩者,並建構一套真正有效的關係集合。 metamorphic-testingmetamorphic-relationstestingoracle-problem
2026年8月13日 不知道正確答案是什麼,要怎麼測試程式碼? Metamorphic testing 讓你在不知道預期輸出的情況下驗證程式碼正確性。以下是它的運作方式、限制,以及如何開始使用。 metamorphic-testingoracle-problemtestingml
2026年7月20日 我把測試、程式碼和散文都放在一個 Markdown 檔案裡,再也不用往文件裡複製程式碼了 Literate programming 將 Markdown 檔案作為單一事實來源,使文件、測試和實作保持同步。以下是如何用三十行 Python 實現它。 literate-programmingdocumentationtestingsingle-source-of-truth
2026年7月7日 乾等 race condition 是最爛的測試策略 model checking 如何在數秒內碾壓你在生產環境跑幾天才能發現 concurrency bug 的做法,以及如何把它用在自己的程式碼上。 model-checkingrace-conditionsconcurrencytesting
2026年5月26日 單元測試全綠,資料卻憑空消失 模擬資料庫測試只能驗證 SQL 語法,無法確認資料列是否能撐過當機、並發寫入或 schema 不符。以下是真的測試資料持久化的方法。 deep-divesdatabasetestingpersistence
2026年5月25日 不用淹沒在 mock action 裡也能測試 Redux 把每個 Redux action 都 mock 掉,只會讓你的測試變成變更日誌驗證器。以下介紹如何改用真實的狀態轉換來測試你的 store。 deep-divesreduxtestingstate-management