iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

可以獲得什麼?

瞭解什麼是回歸測試,回歸測試的目的與重點為何。


什麼是回歸測試?

Day 3Day 6時都有提到「回歸測試」,這種測試通常應用於系統測試中。那麼,究竟什麼是回歸測試,它的主要目的是什麼呢?現在,我們將深入探討這一常見的測試類型。

回歸測試(Regression Testing)是一種軟體測試方法,其主要目的是確保在對軟體進行更改後,先前正常運作的部分不會受到影響。意味既有功能應繼續如常運行,不受新變更的干擾。回歸測試可以在不同的測試階段應用,例如整合測試或系統測試,具體取決於測試案例的細分程度和需求。通常它們被放置在整合測試和系統測試中。

回歸測試的特性

回歸測試具有以下特性,使其在軟體測試中具有重要地位:

  • 確保穩定性:回歸測試的主要優勢之一是確保新的軟體變更不會對現有的功能造成負面影響。這有助於確保軟體的整體穩定性和品質。
  • 節省時間和成本:自動化回歸測試可以節省大量的測試時間,特別是對於長期的軟體開發專案或需要頻繁進行版本更新的情況。這也有助降低測試成本,因為不需要手動執行重複性的測試案例。
  • 快速反饋:回歸測試可以在每次軟體變更之後迅速運行,提供關於變更對軟體的影響的即時反饋。這有助於快速識別並解決問題,從而提高開發效率。

然而,回歸測試也具有一些挑戰:

  • 初期自動化成本:為了實現自動化回歸測試,需要投入大量時間和資源,將測試案例轉化為自動化程式。這會在初期造成相當大的工作量和成本。
  • 維護成本高:維護回歸測試套件需要時間和資源。當軟體變更頻繁時,測試套件需要不斷更新,這可能會產生相當的維護成本。
  • 執行時間:如果回歸測試的測試案例變得過多,可能需要較長的時間才能完全執行。這可能會對開發流程產生延遲,因此需要仔細計劃和管理回歸測試的執行時間。

總而言之,回歸測試是確保軟體品質和穩定性的測試方法,但需要在自動化成本和維護成本之間取得平衡,以確保快速有效,且可降低成本。

使用回歸測試的時機

回歸測試是一種具有靈活性的測試方法,有反覆執行測試案例的特性在,可以在軟體開發的不同階段中使用,以確保軟體的穩定性和品質。以下是回歸測試在軟體開發四個階段中的應用時機:

  1. 單元測試階段:單元測試是針對程式中的個別功能或模組進行的測試。當開發人員在單元測試中發現錯誤並進行修復時,回歸測試用於確保這些修復不會對其他單元造成負面影響。這有助於保持整體穩定性。
  2. 整合測試階段:在整合測試中,測試不同模組或單元的整合,以確保它們在一起正確運作。當整合測試中發現問題時,回歸測試用於驗證修復後的版本仍然保持穩定,不會因修復問題而產生新的錯誤。
  3. 系統測試階段:系統測試階段為對整個軟體系統進行綜合性測試,以確保它滿足需求。當系統測試中發現問題時,回歸測試可以確保在解決問題後,整個系統仍然正常運作。
  4. 驗收測試階段:驗收測試是在交付軟體給最終用戶之前進行的,以確保它符合用戶的需求和期望。如果在驗收測試中發現問題,回歸測試將用於確保修復問題後的軟體版本仍符合驗收標準。

由此可知,在測試任何階段中,放入回歸測試,把程式都進行測試後,才能讓程式可以更有把握地提供到下個階段。避免「改 A 壞 B」的奇怪事情發生,更可以避免「B」是核心的功能,沒有修好就沒有後續的作業。

這時可以看得出來,想要每個階段都要維持高品質到下個階段,就要跑回歸測試,但如同上面特點所言,當測試案例變多的時候,就會發生測試時間拉長,進而影響後續的開發時程,因此我們需要取捨。這時各種測試案例的分級,就很重要了!


後記

我們討論完什麼是測試,說明了測試的階段,以及一些測試方法後,就有個大魔王問題,到底要執行多少測試案例,要執行到多精細?這個沒有標準答案,但是有一些方法可以解決當測試案例多的時候,造成的時間壓力問題。這部分將會在後續說明,什麼是測試案例的分級。當然也會介紹什麼是測試案例。


參考資料


上一篇
【D12】例外處理是什麼?重要嗎?
下一篇
【D14】案例說明:交易檔案存資料庫程式
系列文
精實30天:QA 概念養成計劃31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言