摘要:本文描述了軟件回歸測試的概念和進(jìn)行回歸測試的基本步驟,介紹了可用于回歸測試的
測試用例庫的維護方法,給出了幾種可以可保證回歸測試效率和有效性的回歸測試策略,總結
了回歸測試時(shí)應該注意的一些實(shí)際問(wèn)題。
關(guān)鍵詞:回歸測試;測試用例;基線(xiàn)測試用例庫
Software Regression Testing and It’s Practice
Abstract:The article present the conception of regression testing and the step
of executing this testing. Introduce how to maintenance the test case library
which used in regression testing ,and provide the method of ensure regression
testing’s validity. Finally, it gives some problem must be careful in the period
of regression testing.
Keywords:regression testing;test case;baseline test case library
作者簡(jiǎn)介:李丹(1978-),女,江蘇如東人,信息產(chǎn)業(yè)部電子第五研究所助理工程師,從事
軟件可靠性研究及測試工作。
一、 概述
在軟件生命周期中的任何一個(gè)階段,只要軟件發(fā)生了改變,就可能給該軟件帶來(lái)問(wèn)題。軟
件的改變可能是源于發(fā)現了錯誤并做了修改,也有可能是因為在集成或維護階段加入了新的模
塊。當軟件中所含錯誤被發(fā)現時(shí),如果錯誤跟蹤與管理系統不夠完善,就可能會(huì )遺漏對這些錯
誤的修改;而開(kāi)發(fā)者對錯誤理解的不夠透徹,也可能導致所做的修改只修正了錯誤的外在表
現,而沒(méi)有修復錯誤本身,從而造成修改失敗;修改還有可能產(chǎn)生副作用從而導致軟件未被修
改的部分產(chǎn)生新的問(wèn)題,使本來(lái)工作正常的功能產(chǎn)生錯誤。同樣,在有新代碼加入軟件的時(shí)
候,除了新加入的代碼中有可能含有錯誤外,新代碼還有可能對原有的代碼帶來(lái)影響。因此,
每當軟件發(fā)生變化時(shí),我們就必須重新測試現有的功能,以便確定修改是否達到了預期的目
的,檢查修改是否損害了原有的正常功能。同時(shí),還需要補充新的測試用例來(lái)測試新的或被修
改了的功能。為了驗證修改的正確性及其影響就需要進(jìn)行回歸測試。
回歸測試在軟件生命周期中扮演著(zhù)重要的角色,因忽視回歸測試而造成嚴重后果的例子不
計其數,導致阿里亞娜5型火箭發(fā)射失敗的軟件缺陷就是由于復用的代碼沒(méi)有經(jīng)過(guò)充分的回歸
測試造成的。
回歸測試作為軟件生命周期的一個(gè)組成部分,在整個(gè)軟件測試過(guò)程中占有很大的工作量比
重,軟件開(kāi)發(fā)的各個(gè)階段都會(huì )進(jìn)行多次回歸測試。在漸進(jìn)和快速迭代開(kāi)發(fā)中,新版本的連續發(fā)
布使回歸測試進(jìn)行的更加頻繁,而在極端編程方法中,更是要求每天都進(jìn)行若干次回歸測試。
因此,通過(guò)選擇正確的回歸測試策略來(lái)改進(jìn)回歸測試的效率和有效性是非常有意義的。
二、 回歸測試策略
對于一個(gè)軟件開(kāi)發(fā)項目來(lái)說(shuō),項目的測試組在實(shí)施測試的過(guò)程中會(huì )將所開(kāi)發(fā)的測試用例保
存到“測試用例庫”中,并對其進(jìn)行維護和管理。當得到一個(gè)軟件的基線(xiàn)版本時(shí),用于基線(xiàn)版
本測試的所有測試用例就形成了基線(xiàn)測試用例庫。在需要進(jìn)行回歸測試的時(shí)候,就可以根據所
選擇的回歸測試策略,從基線(xiàn)測試用例庫中提取合適的測試用例組成回歸測試包,通過(guò)運行回
歸測試包來(lái)實(shí)現回歸測試。保存在基線(xiàn)測試用例庫中的測試用例可能是自動(dòng)測試腳本,也有可
能是測試用例的手工實(shí)現過(guò)程。
回歸測試需要時(shí)間、經(jīng)費和人力來(lái)計劃、實(shí)施和管理。為了在給定的預算和進(jìn)度下,盡可
能有效率和有效力地進(jìn)行回歸測試,需要對測試用例庫進(jìn)行維護并依據一定的策略選擇相應的
回歸測試包。
1、測試用例庫的維護
為了最大限度地滿(mǎn)足客戶(hù)的需要和適應應用的要求,軟件在其生命周期中會(huì )頻繁地被修改
和不斷推出新的版本,修改后的或者新版本的軟件會(huì )添加一些新的功能或者在軟件功能上產(chǎn)生
某些變化。隨著(zhù)軟件的改變,軟件的功能和應用接口以及軟件的實(shí)現發(fā)生了演變,測試用例庫
中的一些測試用例可能會(huì )失去針對性和有效性,而另一些測試用例可能會(huì )變得過(guò)時(shí),還有一些
原文轉自:http://www.uml.org.cn/Test/200463028.htm