司法三等申論題
114年
[檢察事務官電子資訊組] 系統分析
第 二 題
何謂測試驅動開發(Test-Driven Development)?並將其與傳統的「先寫功能再寫測試(Code-First)」方式,就測試覆蓋率、品質保證與維護度等面向進行比較說明。另請分析「測試驅動開發」與「先寫功能再寫測試」各自的優點與缺點。(25 分)
📝 此題為申論題
思路引導 VIP
考生看到此題應先定義 TDD 的核心循環(紅燈-綠燈-重構),接著依照題目指定的「測試覆蓋率、品質保證、維護度」三個維度進行條理分明的對比分析。最後客觀論述兩者的優缺點,點出 TDD 雖然學習曲線陡且初期耗時,但具備長遠的維護效益,而傳統開發則利於快速原型製作。
🤖
AI 詳解
AI 專屬家教
【破題】 測試驅動開發(TDD)是一種「測試先行」的敏捷軟體開發技術,其核心理念在於「先撰寫測試案例,再撰寫實作程式碼」,以測試來引導整個軟體的設計與開發方向。 【論述】
▼ 還有更多解析內容
測試驅動開發 TDD
💡 以「測試先行」引導開發流程,透過紅、綠、重構循環確保高品質代碼。
| 比較維度 | 測試驅動開發 (TDD) | VS | 先寫功能 (Code-First) |
|---|---|---|---|
| 開發順序 | 先測試,後實作 | — | 先實作,後測試 |
| 測試覆蓋率 | 極高 (趨近 100%) | — | 不穩定且通常較低 |
| 程式耦合度 | 低耦合,易於測試 | — | 易生高耦合冗餘碼 |
| 初期速度 | 慢 (需撰寫大量測試) | — | 快 (直接進入開發) |
| 維護成本 | 低 (具完整安全網) | — | 高 (隨規模增加) |
💬TDD 為先苦後甘的品質保證法,Code-First 則是先甘後苦的速度優先法。