6 有關退化測試(regression test)的敘述,何者錯誤?
(A) 是為了確保新的改變不會影響既有功能
(B) 只需要在專案最後階段執行一次
(C) 通常每次產品更新都需要執行
(D) 可以及早發現並修復問題
統計: A(0), B(7), C(0), D(0), E(0) #3399853
詳解 (共 2 筆)
【第一步:找關鍵字】
關鍵字:
-
退化測試(regression test)
-
新的改變(修改、更新)
-
既有功能(舊功能)
-
只需要…一次(超級陷阱)
? 看到「只需要一次」幾乎要警覺:很可能是錯的
【第二步:白話翻譯】
這題在問:
? 「當你修改系統之後,要不要一直檢查舊功能有沒有壞掉?」
哪一個說法是錯的?
【第三步:解題思路】
這題在考什麼觀念?
? 退化測試的目的與執行時機
解題步驟
-
先理解什麼是退化測試
-
再判斷它「什麼時候做」
-
找出不合理的敘述(通常是極端說法)
原理與規則(生活比喻)
把系統想成一台車:
你今天修了「煞車」
? 但你還是要再檢查:
-
方向盤有沒有壞
-
引擎有沒有出問題
? 這就是「退化測試」
確保新改動沒有破壞舊功能
【第四步:選項分析】
(A) 為什麼對?
✔ 正確
這就是退化測試的核心目的:
? 改東西後,舊功能不能壞
(B) 為什麼錯?
✘ 錯誤(本題答案)
「只需要在專案最後階段執行一次」
? 完全錯誤!
因為:
-
每次修改都可能影響系統
-
所以要「反覆測試」
? 不是一次,而是持續做
(C) 為什麼對?
✔ 正確
? 每次更新(release / patch)都要做退化測試
這是實務上的標準流程(CI/CD 也會自動跑)
(D) 為什麼對?
✔ 正確
? 早點測 → 早點發現問題 → 成本更低
這是軟體工程的基本原則
【觀念補充與延伸】
核心觀念定位
? 軟體測試(Testing)
? 中高頻考點
法條或定義
-
退化測試(Regression Test):
在系統修改後,重新測試既有功能,以確保沒有被破壞
測試類型整理
| 類型 | 功能 |
|---|---|
| 單元測試 | 測單一功能 |
| 整合測試 | 測模組之間 |
| 系統測試 | 測整體系統 |
| 退化測試 | 確保舊功能沒壞 |
觸類旁通(舉一反三)
對比概念
-
Regression Test vs Unit Test
? Unit:測「新功能」
? Regression:測「舊功能有沒有被影響」
變化題型
-
問:哪種測試最適合自動化?
? 退化測試(因為會一直重複)
【記憶口訣】
? 「改一點,重測一片」
【常見陷阱】
學生最容易搞混的地方
以為測試只做一次就好
心理盲點
覺得「系統已經做好了,不用一直測」
避坑指南
? 看到這些字要小心:
-
「只需要」
-
「一次」
-
「最後才做」
? 在軟體開發幾乎都是錯的