免費開始練習
司法三等申論題 114年 [檢察事務官電子資訊組] 系統分析

第 二 題

何謂測試驅動開發(Test-Driven Development)?並將其與傳統的「先寫功能再寫測試(Code-First)」方式,就測試覆蓋率、品質保證與維護度等面向進行比較說明。另請分析「測試驅動開發」與「先寫功能再寫測試」各自的優點與缺點。(25 分)
📝 此題為申論題

思路引導 VIP

考生看到此題應先定義 TDD 的核心循環(紅燈-綠燈-重構),接著依照題目指定的「測試覆蓋率、品質保證、維護度」三個維度進行條理分明的對比分析。最後客觀論述兩者的優缺點,點出 TDD 雖然學習曲線陡且初期耗時,但具備長遠的維護效益,而傳統開發則利於快速原型製作。

🤖
AI 詳解 AI 專屬家教

【破題】 測試驅動開發(TDD)是一種「測試先行」的敏捷軟體開發技術,其核心理念在於「先撰寫測試案例,再撰寫實作程式碼」,以測試來引導整個軟體的設計與開發方向。 【論述】

▼ 還有更多解析內容
📝 測試驅動開發 TDD
💡 以「測試先行」引導開發流程,透過紅、綠、重構循環確保高品質代碼。
比較維度 測試驅動開發 (TDD) VS 先寫功能 (Code-First)
開發順序 先測試,後實作 先實作,後測試
測試覆蓋率 極高 (趨近 100%) 不穩定且通常較低
程式耦合度 低耦合,易於測試 易生高耦合冗餘碼
初期速度 慢 (需撰寫大量測試) 快 (直接進入開發)
維護成本 低 (具完整安全網) 高 (隨規模增加)
💬TDD 為先苦後甘的品質保證法,Code-First 則是先甘後苦的速度優先法。
🧠 記憶技巧:紅燈失敗、綠燈過,重構優化保品質。測試先行引設計,後期維護少憂慮。
⚠️ 常見陷阱:答題時容易遺漏「重構 (Refactor)」步驟的重要性,或未提及 TDD 雖然初期速度慢但「長期維護成本低」的特性。常混淆 TDD 與單純的單元測試,應強調 TDD 是「開發方法論」而非單純測試。
敏捷開發 (Agile) 單元測試 (Unit Testing) 重構 (Refactoring) 持續整合 (CI/CD)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

軟體開發方法與系統分析設計
查看更多「[檢察事務官電子資訊組] 系統分析」的主題分類考古題