2005/9/5 11:46:15?|? 2005次閱讀?|? 來源:轉(zhuǎn)載?? 【已有0條評論】發(fā)表評論
1. 傳統(tǒng)軟件測試過程中的問題 測試在所有的軟件開發(fā)過程中都是最重要的部分。在軟件開發(fā)過程中,一方面要求我們通過測試活動驗證所開發(fā)的軟件在功能上滿足軟件需求中描述的每一條特性,性能上滿足客戶要求的負載壓力和相應(yīng)的響應(yīng)時間、吞吐量要求;另一方面,面向市場和客戶,開發(fā)團隊還要滿足在預(yù)算范圍內(nèi)盡快發(fā)布軟件的要求。 傳統(tǒng)的軟件測試流程一般是先在軟件開發(fā)過程中進行少量的單元測試,然后在整個軟件開發(fā)結(jié)束階段,集中進行大量的測試,包括功能和性能的集成測試和系統(tǒng)測試。隨著開發(fā)的軟件項目越來越復(fù)雜,傳統(tǒng)的軟件測試流程不可避免地給我們的工作帶來以下問題: 問題一:項目進度難于控制,項目管理難度加大 如圖一所示,大量的軟件錯誤往往只有到了項目后期系統(tǒng)測試時才能夠被發(fā)現(xiàn),解決問題所花的時間很難預(yù)料,經(jīng)常導(dǎo)致項目進度無法控制,同時在整個軟件開發(fā)過程中,項目管理人員缺乏對軟件質(zhì)量狀況的了解和控制,加大了項目管理難度。 問題二:對于項目風(fēng)險的控制能力較弱 項目風(fēng)險在項目開發(fā)較晚的時候才能夠真正降低。往往是經(jīng)過系統(tǒng)測試之后,才真正確定該設(shè)計是否能夠滿足系統(tǒng)功能、性能和可靠性方面的需求。 問題三:軟件項目開發(fā)費用超出預(yù)算 在整個軟件開發(fā)周期中,錯誤發(fā)現(xiàn)的越晚,單位錯誤修復(fù)成本越高,如圖二所示,錯誤的延遲解決必然導(dǎo)致整個項目成本的急劇增加。 圖二、傳統(tǒng)測試流程中存在的問題 2. 采用測試最佳成功經(jīng)驗解決傳統(tǒng)測試問題 這里有三個最佳成功經(jīng)驗是:盡早測試、連續(xù)測試、自動化測試,并在此基礎(chǔ)上提供了完整的軟件測試流程和一整套的軟件自動化測試工具,使我們最終能夠做到:一個測試團隊,基于一套完整的軟件測試流程,使用一套完整的自動化軟件測試工具,完成全方位的軟件質(zhì)量驗證。 2.1 成功經(jīng)驗一:盡早測試 所謂盡早測試是指在整個軟件開發(fā)生命周期中通過各種軟件工程技術(shù)盡量早的完成各種軟件測試任務(wù)的一種思想。IBM Rational主要在以下三個方面為我們提供的盡早測試的軟件工程技術(shù): 首先,軟件的整個測試生命周期是與軟件的開發(fā)生命周期基本平齊的過程,如圖三所示,即當(dāng)需求分析基本明確后我們就應(yīng)該基于需求分析的結(jié)果和整個項目計劃來進行軟件的測試計劃;伴隨著分析設(shè)計過程同時應(yīng)該完成測試用例的設(shè)計;當(dāng)軟件的第一個發(fā)布出來后,測試人員要馬上基于它進行測試腳本的實現(xiàn),并基于測試計劃中的測試目的執(zhí)行測試用例,對測試結(jié)果進行評估報告。這樣,我們可以通過各種測試指標實時監(jiān)控項目質(zhì)量狀況,提高對整個項目的控制和管理能力。 圖三、軟件測試生命周期 其次,通過迭代是軟件開發(fā)把原來的整個軟件開發(fā)生命周期分成多個迭代周期,在每個迭代周期都進行測試,這樣在很大程度上提前了軟件系統(tǒng)測試發(fā)生的時間,這可以在很大程度上降低項目風(fēng)險和項目開發(fā)成本。 最后,盡早測試成功經(jīng)驗還體現(xiàn)在它擴展了傳統(tǒng)軟件測試階段從單元測試、集成測試到系統(tǒng)測試、驗收測試的劃分,將整個軟件的測試按階段劃分成開發(fā)員測試和系統(tǒng)測試兩個階段,如圖四所示,它把軟件的測試責(zé)無旁貸地擴展到整個開發(fā)人員的工作過程。通過提前測試發(fā)生的時間來盡早地提高軟件質(zhì)量、降低軟件測試成本。 圖四、測試階段的劃分 2.2 成功經(jīng)驗二:連續(xù)測試 測試成功經(jīng)驗連續(xù)測試是從迭代式軟件開發(fā)模式得來。在迭代化的方法中,我們將整個項目的開發(fā)目標劃分成為一些更易于完成和達到的階段性小目標,這些小目標都有一個定義明確的階段性評估標準。迭代就是為了完成一定的階段性目標而從事的一系列開發(fā)活動,在每個迭代開始前都要根據(jù)項目當(dāng)前的狀態(tài)和所要達到的階段性目標制定迭代計劃,而且每個迭代中都包括需求、設(shè)計、編碼、集成、測試等一系列的開發(fā)活動,都會增量式集成一些新的系統(tǒng)功能。通過每次迭代,我們都產(chǎn)生一個可運行的系統(tǒng),通過對于這個可運行系統(tǒng)的測試來評估該次迭代有沒有達到預(yù)定的迭代目標,并以此為依據(jù)來制定下一次迭代的目標。由此可見,在迭代式軟件開發(fā)的每個迭代周期我們都會進行軟件測試活動,整個軟件測試的完成是通過每個迭代周期不斷增量測試和回歸測試實現(xiàn)的。 如圖五所示,采用連續(xù)測試的軟件成功測試經(jīng)驗,不但能夠持續(xù)的提高軟件質(zhì)量、監(jiān)控質(zhì)量狀態(tài),同時也使系統(tǒng)測試的盡早實現(xiàn)成為可能。從而有效的控制開發(fā)風(fēng)險、減低測試成本和保證項目進度。 圖五、測試成功經(jīng)驗:連續(xù)測試 2.3 成功經(jīng)驗三:自動化測試 在整個軟件的測試過程中要想實現(xiàn)盡早測試、連續(xù)測試,可以說完善的測試流程是前提,自動化測試工具是保證。自動化測試成功經(jīng)驗主要是指利用軟件測試工具提供完整的軟件測試流程的支持和各種測試的自動化實現(xiàn)。
【?發(fā)表評論?0條?】
深圳網(wǎng)絡(luò)警 察報警平臺
公共信息安 全網(wǎng)絡(luò)監(jiān)察
經(jīng)營性網(wǎng)站 備案信息
不良信息 舉報中心
中國文明網(wǎng) 傳播文明