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