楊喆
【摘要】 軟件測試是軟件應(yīng)用開發(fā)過程中需要執(zhí)行的特殊流程,也是確保軟件運行質(zhì)量的關(guān)鍵環(huán)節(jié)。本文就軟件開發(fā)期間需要遵循的軟件測試策略進(jìn)行探討,并對測試方法的特點及應(yīng)用情況予以研究。
【關(guān)鍵詞】 軟件開發(fā) 測試策略與方法 因果圖
通過軟件測試能夠找出軟件中隱藏的缺陷及錯誤,為用戶提供具有高可信度的軟件程序。作為貫穿軟件開發(fā)整個過程的活動,軟件測試與規(guī)范化設(shè)計具有密切聯(lián)系。怎樣通過較少的案例實現(xiàn)更大的測試覆蓋,最大限度地發(fā)現(xiàn)瑕疵是當(dāng)前研究中的重點。
一、軟件測試的基本理論概述
軟件測試的目的就是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,其中最為重要的就是軟件測試策略,其集中反映了軟件測試的指導(dǎo)方法和原則。在進(jìn)行測試之前,對軟件開發(fā)過程及軟件內(nèi)容進(jìn)行分析,制定科學(xué)合理的測試策略是首要面對的問題。目前,軟件測試策略可分為傳統(tǒng)策略和現(xiàn)代策略。前者通常是指將軟件測試放置在開發(fā)最后階段的測試,相對來說缺乏全面合理的效果;而現(xiàn)在軟件測試策略則貫穿了軟件開發(fā)的整個過程,能夠較好的控制軟件系統(tǒng)質(zhì)量,因此其應(yīng)用范圍更廣。
二、 軟件測試的策略分析
1、黑盒測試。在實際測試過程中,可能出現(xiàn)的情況有無數(shù)種。除了需要對全部合法的輸入進(jìn)行測試之外,還需要對非法輸入進(jìn)行測試。因此,要確保軟件質(zhì)量,進(jìn)行量化黑盒測試是必不可少的環(huán)節(jié)。常用的黑盒測試設(shè)計方法有等價劃分法、因果圖法、邊界值分析法、判定表驅(qū)動法、錯誤推測法、正交試驗設(shè)計法等。
2、白盒測試。白盒測試只是根據(jù)軟件程序結(jié)構(gòu)的邏輯設(shè)計方法進(jìn)行測試,通過計算機測試,了解內(nèi)部操作是否嚴(yán)格按照設(shè)計規(guī)范進(jìn)行,同時還能夠檢查軟件內(nèi)部成分。了解其運行狀態(tài)是否正常,在測試中盡量將覆蓋率提高。覆蓋標(biāo)準(zhǔn)主要分為以下幾種:語句覆蓋、條件覆蓋、判定覆蓋、判定/條件覆蓋、路徑覆蓋以及條件組合覆蓋。把主要由程序控制流分析、邏輯覆蓋分析、數(shù)據(jù)流分析與路徑分析。
3、功能測試。功能測試指的是對軟件產(chǎn)品是否滿足設(shè)計要求進(jìn)行測試,需要嚴(yán)格根據(jù)軟件特征及操作說明的特質(zhì)進(jìn)行可操作性測試。在一般情況下,以軟件的界面結(jié)構(gòu)作為出發(fā)點,根據(jù)實際需求測試用例編寫。對預(yù)期結(jié)果和實際結(jié)果之間的數(shù)據(jù)進(jìn)行對比和測評,提出針對性的意見和建議。
4、壓力測試。壓力測試是軟件工程中對系統(tǒng)持續(xù)性施加壓力的測試方法,通過確定系統(tǒng)突破口或者無法接收的性能點,從而得到系統(tǒng)的最大性能。壓力測試的主要方法有情景測試和敏感性測試。
5、性能測試。性能測試是軟件測試中非常重要的環(huán)節(jié),更是保障軟件質(zhì)量的關(guān)鍵點。中國軟件測評中心提出軟件性能測試主要包含3個部分,分別是客戶端、服務(wù)器端與網(wǎng)絡(luò)。因此軟件性能測試他都是針對這3個方面的測試工作,通常采用QTPFANGFA和LOADRUNNER工具進(jìn)行測試。
6、安全性測試。安全性測試結(jié)果直接關(guān)系到軟件系統(tǒng)的安全運行,主要是指對軟件系統(tǒng)的內(nèi)部保護(hù)機制是否能夠確保不受外部非法入侵的驗證工作。在這一過程中,測試者擔(dān)當(dāng)嘗試非法入侵的角色,需要采用相應(yīng)的技術(shù)與策略快速將軟件權(quán)限中存在的對安全構(gòu)成威脅的問題找出來。
三、軟件測試方法的應(yīng)用
1、單元測試。單元測試的目標(biāo)集中于最小單位模塊,主要通過測試發(fā)現(xiàn)出該模塊中定義功能與實際功能不符合的情況。在單元測試中通常結(jié)合白盒測試法和黑盒測試法。由于單位模塊較小,邏輯結(jié)構(gòu)簡單,通過閱讀說明書及相關(guān)程序后采用白盒法能夠達(dá)到徹底測試的效果;隨后通過黑盒法響應(yīng)鑒別合理及不合理的輸入。
2、集成測試。集成測試所指的是將單位模塊根據(jù)設(shè)計要求組裝起來后共同進(jìn)行測試,,主要目的在于發(fā)現(xiàn)接口問題。例如數(shù)據(jù)在窗口接口之后是否出現(xiàn)丟失,以及模塊與模塊之間的有害影響等。集成測試在實際工作中起到承上啟下的作用,大多也采用白盒法結(jié)合黑盒法的方式,既需要驗證設(shè)計的合理性、同時還要求工程的可行性。
3、系統(tǒng)測試。系統(tǒng)測試通常采用黑盒法進(jìn)行,測試的目的在于了解系統(tǒng)功能是否符合軟件需求。測試內(nèi)容主要包含安全性、系統(tǒng)壓力、用戶界面、軟件功能、軟件可靠性以及安裝和反安裝測試的。在這一期間需要注意的是,應(yīng)當(dāng)由獨立測試小組完成該項工作,從而保證結(jié)果的客觀性。
4、驗收測試。驗收測試的主題是使用用戶,其目的在于向用戶證明系統(tǒng)能夠如預(yù)期一樣的工作。該項工作的主要內(nèi)容是對軟件的有效性進(jìn)行測試,基于用戶角度進(jìn)行Alpha測試和Beta測試。只要完成上述所有的軟件測試工作確保軟件基本滿足開發(fā)要求,得到的軟件產(chǎn)品才能交付于用戶使用。
結(jié)語:編程與測試是軟件開發(fā)過程中缺一不可的技術(shù)活動,其中軟件測試對于確保軟件運行質(zhì)量具有重要意義。隨著軟件開發(fā)規(guī)模的增加,其復(fù)雜程度也逐漸上升,僵硬的軟件測試技術(shù)也將不斷完善和發(fā)展,其應(yīng)用在未來也會更加科學(xué)合理。
參 考 文 獻(xiàn)
[1] 包曉安,姚瀾,張娜等.基于受控Markov鏈的軟件自適應(yīng)測試策略[J].計算機研究與發(fā)展,2012,49(6):1332-1338.
[2] 趙星光.軟件測試的策略與測試方法應(yīng)用探析[J].計算機光盤軟件與應(yīng)用,2011,(23):144-144.