早發(fā)現那些對可靠性有最大影響的故障。這種方法可以在一個(gè)給定的預算下最有效的提高系統
可靠性,但實(shí)施起來(lái)有一定的難度。
(4)再測試修改的部分
當測試者對修改的局部化有足夠的信心時(shí),可以通過(guò)相依性分析識別軟件的修改情況并分
析修改的影響,將回歸測試局限于被改變的模塊和它的接口上。通常,一個(gè)回歸錯誤一定涉及
一個(gè)新的、修改的或刪除的代碼段。在允許的條件下,回歸測試盡可能覆蓋受到影響的部
分。
再測試全部用例的策略是最安全的策略,但已經(jīng)運行過(guò)許多次的回歸測試不太可能揭示新
的錯誤,而且很多時(shí)候,由于時(shí)間、人員、設備和經(jīng)費的原因,不允許選擇再測試全部用例的
回歸測試策略,此時(shí),可以選擇適當的策略進(jìn)行縮減的回歸測試。
3、回歸測試的基本過(guò)程
有了測試用例庫的維護方法和回歸測試包的選擇策略,回歸測試可遵循下述基本過(guò)程進(jìn)
行:
(1) 識別出軟件中被修改的部分;
(2) 從原基線(xiàn)測試用例庫T中,排除所有不再適用的測試用例,確定那些對新的軟件版本依然
有效的測試用例,其結果是建立一個(gè)新的基線(xiàn)測試用例庫T0。
(3)依據一定的策略從T0中選擇測試用例測試被修改的軟件。
(4)如果必要,生成新的測試用例集T1,用于測試T0無(wú)法充分測試的軟件部分。
(5)用T1執行修改后的軟件。
第(2)和第(3)步測試驗證修改是否破壞了現有的功能,第(4)和第(5)步測試驗證 修改工
作本身。
三、回歸測試實(shí)踐
在實(shí)際工作中,回歸測試需要反復進(jìn)行,當測試者一次又一次地完成相同的測試時(shí),這些
回歸測試將變得非常令人厭煩,而在大多數回歸測試需要手工完成的時(shí)候尤其如此,因此,需
要通過(guò)自動(dòng)測試來(lái)實(shí)現重復的和一致的回歸測試。通過(guò)測試自動(dòng)化可以提高回歸測試效率。為
了支持多種回歸測試策略,自動(dòng)測試工具應該是通用的和靈活的,以便滿(mǎn)足達到不同回歸測試
目標的要求。
在測試軟件時(shí),應用多種測試技術(shù)是常見(jiàn)的。當測試一個(gè)修改了的軟件時(shí),測試者也可能
希望采用多于一種回歸測試策略來(lái)增加對修改軟件的信心。不同的測試者可能會(huì )依據自己的經(jīng)
驗和判斷選擇不同的回歸測試技術(shù)和策略。
回歸測試并不減少對系統新功能和特征的測試需求,回歸測試包應包括新功能和特征的測
試。如果回歸測試包不能達到所需的覆蓋要求,必須補充新的測試用例使覆蓋率達到規定的要
求。
回歸測試是重復性較多的活動(dòng),容易使測試者感到疲勞和厭倦,降低測試效率,在實(shí)際工
作中可以采用一些策略減輕這些問(wèn)題。例如,安排新的測試者完成手工回歸測試,分配更有經(jīng)
驗的測試者開(kāi)發(fā)新的測試用例,編寫(xiě)和調試自動(dòng)測試腳本,做一些探索性的或ad hoc測試。還
可以在不影響測試目標的情況下,鼓勵測試者創(chuàng )造性地執行測試用例,變化的輸入、按鍵和配
置能夠有助于激勵測試者又能揭示新的錯誤。
在組織回歸測試時(shí)需要注意兩點(diǎn),首先是各測試階段發(fā)生的修改一定要在本測試階段內完
成回歸,以免將錯誤遺留到下一測試階段。其次,回歸測試期間應對該軟件版本凍結,將回歸
測試發(fā)現的問(wèn)題集中修改,集中回歸。
在實(shí)際工作中,可以將回歸測試與兼容性測試結合起來(lái)進(jìn)行。在新的配置條件下運行舊的
測試可以發(fā)現兼容性問(wèn)題,而同時(shí)也可以揭示編碼在回歸方面的錯誤。
參考文獻:
[1] Glenford J.Myers,計算機軟件測試技巧,清華大學(xué)出版社,1985。
[2] Robert V. Binder,面向對象系統的測試,人民郵電出版社,2001。
[3] Rex Black, 測試流程管理,北京大學(xué)出版社,2001。
原文轉自:http://www.uml.org.cn/Test/200463028.htm