如何執行迴歸測試?
在本文中,我們將學習什麼是迴歸測試,如何執行它,何時需要它以及它的型別。
什麼是迴歸測試?
迴歸測試也稱為黑盒測試。它用於驗證軟體程式碼修改不會影響產品現有的功能。迴歸測試確保產品的新的功能、問題補丁或對現有功能的其他更改能夠正常工作。
迴歸測試是一種軟體分析。重新執行測試用例以確保應用程式的先前功能仍然可以執行,並且新更改沒有引入任何缺陷。
當原始功能發生重大更改時,可以在新版本上執行迴歸測試。它確保程式碼即使在進行修改後也能繼續執行。迴歸測試是指重新測試應用程式中沒有更改的元素。
驗證方法是迴歸測試的另一個名稱。許多測試用例是自動化的。測試用例必須執行多次,並且一遍又一遍地手動重複相同的測試用例既費時又單調。
如何執行迴歸測試?
當軟體維護包括升級、錯誤修復、最佳化和刪除現有功能時,需要進行迴歸測試。這些更改可能會影響系統功能。在這種情況下,需要進行迴歸測試。
可以使用以下策略執行迴歸測試:
重新檢查所有
執行迴歸測試的一種方法是使用重新測試。在這種方法中,應重新執行所有測試用例集。我們可以將重新測試定義為當測試失敗並且確定失敗的原因是軟體缺陷時。在報告問題後,我們可以預期軟體的新版本已修復了該缺陷。在這種情況下,我們需要再次執行測試以確保問題已解決。這稱為重新測試。這被一些人稱為確認測試。
重新測試的成本很高,因為它需要大量的時間和資源。
迴歸分析選擇
此技術不會執行完整的測試用例集,而是執行單個測試用例集。
所選測試用例分為兩部分:(a) 可重用測試用例和 (b) 無效的測試用例。
可重用的測試用例可以在後續的迴歸週期中使用。
無效的測試用例不能在後續的迴歸週期中使用。
測試用例優先順序
根據業務影響、重要功能和使用頻率對測試用例進行優先順序排序。透過選擇測試用例,迴歸測試套件將被縮減。
應執行迴歸測試的情況
在以下情況下,可以執行迴歸測試:
當存在更改需求時
示例:記住密碼已從登入頁面刪除,該頁面以前是相關的。
當應用程式獲得新功能時。
示例:一個網站提供了一個登入功能,該功能僅允許使用者使用其電子郵件地址登入。我們添加了一個新選項,允許您使用 Facebook 登入。
當缺陷已得到糾正時
示例:考慮以下場景:登入頁面上的登入按鈕無法正常工作,並且測試人員報告了一個錯誤,指示登入按鈕已損壞。一旦開發人員修復了該錯誤,測試人員將驗證登入按鈕是否按預期工作。另一方面,測試人員還測試與登入按鈕相關的其他功能。
如果存在效能問題需要修復
示例:主頁需要 5 秒才能訪問;透過將載入時間減少到 2 秒,頁面將在一半的時間內載入。
當存在環境更改時
示例:當資料庫從 MySQL 升級到 Oracle 時。
如何決定將哪些測試用例用於迴歸測試?
在對行業的檢查中發現了這一點。客戶報告了多個由最後一分鐘的錯誤補丁引起的故障。由於這些副作用,選擇用於迴歸測試的測試用例是一門藝術,而不是一項簡單的操作。
迴歸測試可以透過以下方式完成:
經常出現缺陷的測試用例
對使用者更可見的功能。
測試用例檢查產品的核心功能。
所有整合測試用例
所有複雜的測試用例
邊界值測試用例
成功測試用例的樣本
測試用例失敗
迴歸測試型別
以下是各種型別的迴歸測試:
URT 代表單元迴歸測試。
RRT 代表區域迴歸測試。
FRT 代表“完全或完整迴歸測試”。
單元迴歸測試 (URT)
在這種情況下,我們只會測試更改的單元,而不是影響區域,因為它可能會影響其他模組的元件。
示例
開發人員在應用程式中建立“搜尋”按鈕,該按鈕在第一個版本中允許 1-15 個字元。然後,測試工程師使用測試用例設計技術來測試“搜尋”按鈕。
客戶現在要求“搜尋”按鈕支援 1-35 個字元,以及對需求的一些其他更改。測試工程師將只測試“搜尋”按鈕以確保它接受 1-35 個字元,並且不會檢查第一個版本中的任何其他方面。
區域迴歸測試 (RRT)
這稱為區域迴歸評估,它涉及測試修改以及影響區域或區域。我們正在測試影響區域,因為如果存在可靠的模組,它們也會對其他模組產生影響。
考慮以下場景
我們可以假設在我們腦海中的影像中有四個單獨的模組,包括模組 A、模組 B、模組 C 和模組 D,這些模組由開發人員在第一個版本中提供進行測試。現在,測試工程師需要在模組 D 中查詢故障。開發人員獲得錯誤報告,開發團隊修復缺陷,然後傳送第二個版本。
第二個版本中修復了上述缺陷。測試工程師現在意識到模組 D 中的錯誤修復已對模組 A 和模組 C 中的一些功能產生了影響。因此,測試工程師在測試模組 D(已解決錯誤的地方)後檢查模組 A 和模組 C 中的影響區域。因此,這種型別的測試稱為區域迴歸測試。
完全迴歸測試 (FRT)
在產品的第二個和第三個版本中,客戶請求新增三到四個新功能,以及修復先前版本中的一些錯誤。然後,測試團隊將進行影響分析並確定上述更改將要求我們測試整個產品。
因此,我們可以將測試更新的功能以及所有其餘(舊)功能稱為完全迴歸測試。
在滿足以下條件時,我們將執行 FRT:
當對產品的原始檔進行更改時。例如,JVM 是 JAVA 應用程式的根檔案,對 JVM 的任何更改都將導致測試整個 JAVA 程式。
當我們需要進行大量修改時。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP