軟件測試中回歸測試的關鍵性、重要性及測試方法
作者:網絡轉載 發布時間:[ 2013/3/8 10:34:50 ] 推薦標簽:
一、概述
所謂回歸測試是當軟件發生改變時,重新測試已經通過測試的測試區域,以驗證修改的正確性及其影響。在軟件開發生命周期中,軟件發生改變,會帶來問題。改變可能是源于發現了錯誤并做了修改,也有可能是因為集成或維護階段加入了新模塊。錯誤跟蹤與管理系統不完善;對錯誤的理解不透徹,只修正了錯誤的外在表現,從而造成修改失;修改還有可能產生副作用,從而導致軟件未被修改的部分產生新的問題;新加入代碼還有可能對原有代碼帶來影響。因此,我們必須重新測試,以便確定修改是否達到了預期的目的。同時,為了驗證修改的正確性及其影響需要進行回歸測試。
回歸測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發的各個階段都會進行多次回歸測試。在漸進和快速迭代開發中,新版本的連續發布使回歸測試進行的更加頻繁,而在極端編程方法中,更是要求每天都進行若干次回歸測試。因此,通過選擇正確的回歸測試策略來改進回歸測試的效率和有效性是非常有意義的。
二、測試的大部分工作是做回歸測試,軟件一旦作了修改必須進行
項目的測試組在實施測試的過程中會將所開發的測試用例保存到“測試用例庫”中,并對其進行維護和管理。當得到一個軟件的基線版本時,用于基線版本測試的所有測試用例形成了基線測試用例庫。在需要進行回歸測試的時候,可以根據所選擇的回歸測試策略,從基線測試用例庫中提取合適的測試用例組成回歸測試包,通過運行回歸測試包來實現回歸測試。保存在基線測試用例庫中的測試用例可能是自動測試腳本,也有可能是測試用例的手工實現過程;貧w測試需要時間、經費和人力來計劃、實施和管理。在給定的預算和進度下,需要對測試用例庫進行維護并依據一定的策略選擇相應的回歸測試包。
1、首先必須有個管理良好的測試用例庫,用例庫中的所有用例必須有效,達到足夠的覆蓋率。這需要有良好的測試管理工具,并有相應的資源(時間與人力)去維護這個測試用例庫,使其中沒有過時,冗余的測試用例。如何管理組織好測試用例庫是一個值得深入研究的課題,要做好回歸測試,組織管理良好的測試用例庫是前提。測試用例庫的維護為了大限度地滿足客戶的需要和適應應用的要求,軟件在其生命周期中會頻繁地被修改和不斷推出新的版本,修改后的或新版本軟件會添加新的功能或者變化。同時,被修改的或新增添的軟件功能,僅靠重新運行以前的測試用例不行,必須追加新的測試用例來測試。
測試用例庫維護是一個連續的過程,通?梢詫④浖_發的基線作為基準,維護的主要內容包括:
。1)刪除過時的測試用例。因為需求的改變等原因可能會使一個基線測試用例不再適合被測試系統,這些測試用例會過時。
。2)改進不受控制的測試用例。隨著軟件項目進展,庫中的用例會不斷增加,會出現對輸入或運行狀態十分敏感的測試用例。這些測試不容易重復且結果難以控制,影響測試效率。
。3)刪除冗余的測試用例。冗余測試用例的存在降低了回歸測試的效率。所以需要定期的整理測試用例庫,并將冗余的用例刪除掉。
。4)增添新的測試用例。程序段、構件或關鍵的接口在現有的測試中沒有被測試,應該開發新測試用例。不僅改善了測試用例的可用性,而且也提高了測試庫的可信性,同時還可以將一個基線測試用例庫的效率和效用保持在一個較高的級別上。
2、回歸測試的實質在于它是一個能夠檢測到回歸錯誤的受控實驗;貧w測試包的選擇在軟件生命周期中,即使一個得到良好維護的測試用例庫,也可能變得相當大,這使每次回歸測試都重新運行完整的測試包變得不切實際。當測試組選擇縮減的回歸測試時,有可能刪除了將揭示回歸錯誤的測試用例,消除了發現回歸錯誤的機會。然而,如果采用了代碼相依性分析等安全縮減技術,可決定哪些測試用例可以被刪除而不會讓回歸測試的意圖遭到破壞。選擇回歸測試策略應該兼顧效率和有效性兩個方面。常用的選擇回歸測試的方式包括:
。1)再測試全部用例。選擇基線測試用例庫中的全部測試用例組成回歸測試包,這是比較安全的方法,它具有低遺漏和風險,但測試成本高。往往超出我們的預算和進度。
相關推薦

最新發布
性能測試之測試環境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應企業需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經了什么?
2020/7/16 9:11:10