軟體測試中回歸測試,你知道嗎? ​

2021-01-16 軟體測試資源分享
更多軟體測試資料關注公眾號:testkuaibao

    相信很多同學都是聽過回歸測試這個說法的吧,而自動化測試很多時候都應用在這個時候,今天就來說一說回歸測試吧。


一、軟體回歸測試的定義: 

回歸測試是指修改了舊代碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤的一種測試方法。

1、回歸測試是指重複以前的全部或部分的相同功能測試

2、新加入測試的模塊,可能對其他模塊產生副作用,因此要進行某些程度的回歸測試

3、回歸測試的重心,是以關鍵性模塊為核心


二、做回歸測試的好處如下:

1、自動回歸測試將大幅度降低系統測試、維護升級等階段的成本,回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重,軟體開發的各個階段都可以進行多次回歸測試。


2、回歸測試的意義:

1)在漸進和快速迭代開發中,新版本的連續發布使回歸測試進行的更加頻繁,而在極端編程方法中,更是要求每天都進行若干次回歸測試;因此,通過選擇正確的回歸測試策略來改進回歸測試的效率和有效性是非常有意義的


3、做回歸測試的測試用例的選擇:

1)對於一個軟體開發項目來說,項目的測試組在實施測試的過程中會將所開發的測試用例保存到「測試用例庫」中,並對其進行維護和管理。當得到一個軟體的基線版本時,用於基線版本測試的所有測試用例就形成了基線測試用例庫。在需要進行回歸測試的時候,就可以根據所選擇的回歸測試策略,從基線測試用例庫中提取合適的測試用例組成回歸測試包,通過運行回歸測試包來實現回歸測試。保存在基線測試用例庫中的測試用例可能是自動測試腳本,也有可能是測試用例的手工實現過程。

2)同時測試用例的維護是一個不間斷的過程,通常可以將軟體開發的基線作為基準,維護的主要內容包括下述幾個方面,

(1)刪除過時的測試用例:

因為需求的改變等原因可能會使一個基線測試用例不再適合被測試系統,這些測試用例就會過時,例如,某個變量的界限發生了改變,原來針對邊界值的測試就無法完成對新邊界測試。所以,在軟體的每次修改後都應進行相應的過時測試用例的刪除

(2)改進不受控制的測試用例:

隨著軟體項目的進展,測試用例庫中的用例會不斷增加,其中會出現一些對輸入或運行狀態十分敏感的測試用例:,這些測試不容易重複且結果難以控制,會影響回歸測試的效率,需要進行改進,使其達到可重複和可控制的要求。

(3)刪除冗餘的測試用例:

如果存在兩個或者更多個測試用例針對一組相同的輸入和輸出進行測試,那麼這些測試用例是冗餘的。冗餘測試用例的存在降低了回歸測試的效率:,所以需要定期的整理測試用例庫,並將冗餘的用例刪除掉。

(4)增添新的測試用例:

如果某個程序段、構件或關鍵的接口在現有的測試中沒有被測試,那麼應該開發新測試用例重新對其進行測試:,並將新開發的測試用例合併到基線測試包中,通過對測試用例庫的維護不僅改善了測試用例的可用性,而且也提高了測試庫的可信性,同時還可以將一個基線測試用例庫的效率和效用保持在一個較高的級別上。

3)選擇回歸測試應該兼顧效率和有效性兩個方面,常用的選擇回歸測試的方式包括:

(1)再測試全部用例:

選擇基線測試用例庫中的全部測試用例組成回歸測試包,這是一種比較安全的方法,再測試全部用例具有最低的遺漏回歸錯誤的風險,但測試成本最高。全部再測試幾乎可以應用到任何情況下,基本上不需要進行分析和重新開發,但是,隨著開發工作的進展,測試用例不斷增多,重複原先所有的測試將帶來很大的工作量,往往超出了我們的預算和進度。

(2)基於風險選擇測試:

可以基於一定的風險標準來從基線測試用例庫中選擇回歸測試包,首先運行最重要的、關鍵的和可疑的測試,而跳過那些非關鍵的、優先級別低的或者高穩定的測試用例,這些用例即便可能測試到缺陷,這些缺陷的嚴重性也僅有三級或四級,一般而言,測試從主要特徵到次要特徵。

(3)基於操作剖面選擇測試:

如果基線測試用例庫的測試用例是基於軟體操作剖面開發的,測試用例的分布情況反映了系統的實際使用情況。回歸測試所使用的測試用例個數可以由測試預算確定,回歸測試可以優先選擇那些針對最重要或最頻繁使用功能的測試用例,釋放和緩解最高級別的風險,有助於儘早發現那些對可靠性有最大影響的故障。這種方法可以在一個給定的預算下最有效的提高系統可靠性,但實施起來有一定的難度:。

(4)再測試修改的部分

當測試者對修改的局部部分有足夠的信心時,可以通過相依性分析識別軟體的修改情況並分析修改的影響,將回歸測試局限於被改變的模塊和它的接口上。

通常,一個回歸錯誤一定涉及一個新的、修改的或刪除的代碼段,在允許的條件下,回歸測試儘可能覆蓋受到影響的部分。

4)回歸測試的基本過程:

(1)重點測試軟體中被修改的部分;

(2)從原基線測試用例庫中,排除所有不再適用的測試用例,確定那些對新的軟體版本依然有效的測試用例,其結果是建立一個新的基線測試用例庫。

(3)依據一定的策略從測試用例庫中選擇測試用例測試被修改的軟體。

(4)如果必要,生成新的測試用例集,用於測試無法充分測試到的軟體部分。

(5)用新軟體測試用例集執行修改後的軟體。


覺得文章不錯的話記得點讚,轉發就更好了


相關焦點

  • 軟體測試中回歸測試,你知道嗎?
    1、回歸測試是指重複以前的全部或部分的相同功能測試2、新加入測試的模塊,可能對其他模塊產生副作用,因此要進行某些程度的回歸測試3、回歸測試的重心,是以關鍵性模塊為核心二、做回歸測試的好處如下:1、自動回歸測試將大幅度降低系統測試、維護升級等階段的成本,回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重
  • 淺談冒煙測試和回歸測試
    冒煙測試是自由測試的一種,冒煙測試是測試中發現的問題,找到了一個bug,然後開發人員會來修復這個bug,這時想知道這次修復是否真的解決了程序的bug,或者是否會對其他模塊造成影響,就需要針對此問題進行專門測試,這個過程就稱為冒煙測試。
  • 後悔學軟體測試了嗎?來聽聽從業14年軟體測試大咖怎麼說
    經常有小夥伴問霸哥:軟體測試行業的前景怎麼樣?軟體測試是不是也經常熬夜加班啊?軟體測試累不累啊?你後悔學軟體測試了嗎?對於這些問題,霸哥只想說:你深入了解過軟體測試行業嗎?你知道軟體測試有哪些好處嗎?有人還會告訴你:學測試不需要什麼技術能力,做測試也不需要加班太多,並且測試行業的薪資一點也不比開發低,發展前景一樣的好。而事實上呢?近幾年招聘的要求提高了,性能和自動化是基本技能了,更高級的測試還需要敲代碼改bug的好嘛!很多人以為會功能測試就能代表整個軟體測試了?霸哥告訴你,別信!
  • 什麼是回歸測試?
    但實際上每次的變更都會做相應的回歸測試,但為什麼還會使項目組的成員產生如此不安的情緒呢。其實原因很簡單,」我怎麼知道改了這塊會不會影響到其它功能,理論上應該不會,但我不敢保證」,」時間太緊了,大體測試了一下,功能基本沒什麼問題,但細節上不確定」上面這兩種回答無疑是最常見的。
  • 回歸測試知多少
    在軟體的版本更替中,每個版本中都會增加一些新特性,完善一些舊邏輯,隨著軟體的逐漸成熟,功能的不斷增加,勢必會出現兩個問題:新增功能對原有功能的影響有多大原有功能是否會出現新問題此時,勢必需要進行回歸測試,隨著軟體的不斷發展,回歸測試所佔的比重就會越大。
  • 軟體測試中黑盒測試和白盒測試的詳細講解
    歡迎關注支持,你的關注將是我持續創作的動力,謝謝!本篇將介紹關於軟體測試的黑盒測試和白盒測試知識的分享,有興趣的朋友可以了解一下!眾所周知,軟體測試是為了便於程式設計師對必要的有要求的軟體進行相關的運行和闡明,判辯設計的規範以及最後運行成功後的審查編碼的合格性。
  • 軟體測試如何入門:軟體測試用例編寫
    相信不少人都想從事軟體測試行業,軟體測試特別適合有計算機基礎的女生,許多人會自學,也有人會選擇軟體測試培訓。那麼軟體測試應該如何入門呢?這篇文章就關於軟體測試用例的編寫與設計做一個簡單的分析。軟體測試人員常用的測試用例設計方法一般是黑盒用例設計方法,用最多的方法應該是等價類劃分法和邊界值分析法,這兩個方法是用例設計方法中比較簡單的。如何設計編寫測試用例1測試用例有哪些基本的組成元素?
  • countdown軟體測試死亡時間是真的嗎 app測試時間準嗎
    countdown這款軟體是一款有電影衍生出來的產品,很多朋友都很好奇這個countdown app測試死亡時間準不準,那麼今天小編就為大家帶來詳細的介紹,感興趣的朋友們一起來看看吧!  countdown軟體測試死亡時間是真的嗎 app測試時間準嗎
  • 優化回歸測試的三種方法
    測試通常是一個一次性的事件,發生在一個項目結束並被交付到生產環境之前。 然而,隨著敏捷測試管理平臺的開始,測試在整個軟體開發生命周期中變得更加積極。 因此,回歸測試已經成為中心階段,以確保開發的功能在程序打過補丁、配置調整或增強後可以繼續正常運行。
  • 關於軟體測試/測試用例的問題,答案都在這裡了
    我們一般不做這樣的考慮,用例需要有合適的顆粒度,並不是說一條用例覆蓋的越多越好,如果一條用例如果顆粒度很大,覆蓋了很多測試點,當前看起來很好,但過幾天你還看得懂這條用例嗎?而往往測試用例數量往往大大超過測試數量。
  • 阿里研究員:軟體測試中的18個難題
    阿里妹導讀:對於軟體測試來說,怎麼樣才算測夠了?如何評價測試的有效性?那麼多測試用例,以後怎麼刪?在軟體測試中會遇到非常多的問題,阿里研究員鄭子穎分享了18個他總結出的難題以及相關看法,希望對同學們有所啟發。文末福利:《阿里雲智能秋招宣講會》來了。
  • 手把手教你測試固態硬碟!硬碟測試軟體大匯總
    1、CrystalDiskMark先來聊聊大名鼎鼎的CDM(CrystalDiskMark),如果你關注固態硬碟評測,你就會發現,很多的測評人員都喜歡選擇CDM作為測試工具。相比其他的測試工具它使用簡單,並且免費。於此同時,CDM還在長期更新,真的是良心測試軟體。
  • 回歸測試的最優方法
    也有可能應用程式的新版本同時包含了修復先前報告的缺陷以及具有新的功能。對於「修復」部分,我們通常會有一系列的缺陷的測試腳本(DTS)用來運行以確認是否修復,而對於新的功能,我們將有一系列具體的測試腳本用來測試變更控制通知(CCNS) 。
  • 南京軟體測試培訓怎麼樣?南京軟體測試培訓課程要學多久?
    現在很多年輕人都喜歡從事跟計算機相關的工作,那麼軟體測試其實是一個不錯的工作方向。南京軟體測試培訓怎麼樣?很多人可能並不了解軟體測試這份工作,也不知道具體要培訓多長時間,下面小編就來和大家說一說南京軟體測試培訓課程要學多久?
  • 只寫測試用例不管代碼?懶人如何高效的做回歸測試
    自動回歸測試將大幅降低系統測試、維護升級等階段的成本。回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重,軟體開發的各個階段都會進行多次回歸測試。在漸進和快速迭代開發中,新版本的連續發布使回歸測試進行的更加頻繁,而在極端編程方法中,更是要求每天都進行若干次回歸測試。因此,通過選擇正確的回歸測試策略來改進回歸測試的效率和有效性是很有意義的。
  • 變老、變性預測&心理測試軟體下載
    Life Advisor: 變老、變性預測&心理測試火爆來襲,快來18183下載吧! 只需要短短的幾分鐘,你就能夠發現不一樣的自己,在Life Advisor裡不僅可以預測你變老、變性和你未來寶寶的樣子,還提供了一系列的心理測試,能讓你更好地了解你的現狀和未來。
  • 你知道功能測試和非功能測試有什麼區別麼?
    【IT168 資訊】功能測試根據需求進行功能上的測試,而非功能測試則針對更廣泛的質量問題進行測試。在本文中,Dayana Stockdale將幫助讀者弄清這兩種測試的差異,並給出一些舉例和策略。功能測試與非功能測試的主要區別在理解功能測試和非功能測試的區別之前,先需要知道功能性和非功能性需求之間的區別:功能要求:描述軟體系統的行為或執行。非功能性要求:描述軟體系統的性能或可用性。功能需求將指定某一功能必須執行某個操作,而非功能需求則是可能會指定某一功能執行該操作。功能要求是WHAT;而非功能性要求是HOW。
  • 軟體測試工程師是什麼?
    我想要看林志玲,你給我看摳腳大漢。這是不符合要求。同樣的,一個APP我想要的顏色是藍色,你做出來的紅色。這就是APP不符合設計的要求。3.評估。在軟體最終交付用戶使用前,測試人員需撰寫測試報告,評估軟體質量是否合格。軟體測試人員的工作就是想盡一切辦法,去折騰你要測試的軟體,發現軟體問題和與最初的設計不相符的地方,專業名詞叫找bug。
  • 知識點暴擊匯總:一篇文章幫你理清軟體測試方法
    >黑盒測試也稱功能測試,測試中把被測的軟體當成一個黑盒子,不關心盒子的內部結構是什麼,只關心軟體的輸入數據與輸出數據。在該標準中,軟體的質量用以下幾個方面來衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可維護性(Maintainability)、可移植性(Portability)。
  • 單元測試 vs 集成測試,你該怎麼選?
    這意味著你可以頻繁運行單元測試。隨著軟體的成熟,一套單元測試是防止回歸和降低維護成本的有力工具。追溯單元測試在考慮將單元測試添加到現有軟體時,需要考慮成本和收益。單元測試的一個關鍵假設是,被測試的軟體很容易分成不同的單元。在沒有考慮單元測試編寫的軟體中,這個假設很少成立。