鐘 睿
(廣州大學(xué),廣州 510000)
黑盒測試是目前軟件測試的重要方法之一,其特點在于不用考慮軟件的邏輯和結(jié)構(gòu),根據(jù)軟件的需求分析,對軟件進行功能性的測試,根據(jù)一個輸入和相應(yīng)的輸出,判斷軟件能否正常使用。黑盒測試主要涉及軟件界面和功能。軟件測試者往往不用了解軟件的內(nèi)部具體代碼,只要考慮輸入的正確性、合法性、規(guī)范性中判斷輸出的結(jié)果與預(yù)期是否一致。由于黑盒測試不需要測試者了解軟件的代碼編程,只需要確定軟件的功能是否完備,是目前軟件中常用的一種軟件測試方法。
黑盒測試主要針對軟件功能性的測試,主要完成:軟件功能性是否完整,軟件系統(tǒng)能否正常顯示,軟件系統(tǒng)的性能測試,系統(tǒng)的完備化、數(shù)據(jù)初始化以及軟件系統(tǒng)的中斷錯誤、系統(tǒng)停頓等。
軟件黑盒測試的主要方法包括分析邊界法、劃分等價類法、和因果圖示法和推測錯誤法。
分析邊界法主要是針對軟件邊界值進行測試分析的一種黑盒測試法。在軟件測試的工作中表明,與沒有進行分析邊界法測試的軟件系統(tǒng)相比,進行分析邊界法測試的軟件系統(tǒng)往往擁有更好的系統(tǒng)穩(wěn)定性,系統(tǒng)不易崩潰。這里的邊界主要是指測試的數(shù)據(jù)靠近數(shù)據(jù)邊緣或者是正好處于邊緣狀態(tài),在分析邊界時,通常遵守以下的測試原則:
(1)輸入數(shù)據(jù)規(guī)定了范圍,對于范圍邊界設(shè)計有效等價類用例,剛越界的設(shè)計無效等價類用例。
(2)系統(tǒng)中用了內(nèi)部數(shù)據(jù)結(jié)構(gòu)的情況下要設(shè)計內(nèi)部數(shù)據(jù)結(jié)構(gòu)的用例。
劃分等價類法的主要思想是軟件系統(tǒng)的相關(guān)數(shù)據(jù)分成多個部分,也就是把軟件數(shù)據(jù)劃分為多個子集,然后在這多個數(shù)據(jù)子集中選取一定具有代表性的少量數(shù)據(jù)進行測試,在這過程中,這些少量的測試數(shù)據(jù)就代表著該集的數(shù)據(jù),這就省去將軟件的所有數(shù)據(jù)進行測試。在進行劃分等價類法時,如何進行等價劃分是測試中較為重要的部分。
3.2.1 等價類劃分
等價類主要是依據(jù)輸入的數(shù)據(jù)進行劃分,等價類也就是相應(yīng)輸入的子集。在這個子集之中,輸入和輸出的數(shù)據(jù),特別是在錯誤邏輯方面是基本類似或者是相同的。在這樣的情況下,我們假設(shè)所選取的數(shù)據(jù)具有較高的代表性。我們在軟件黑盒測試時首先要根據(jù)具體的功能把所有的相關(guān)數(shù)據(jù)進行劃分,劃分成的子集也就是等價類,在等價類中所選擇的數(shù)據(jù)可以代表這個子集。等價類可以分為有效類和無效類兩類。有效等價類主要是指軟件測試所選擇的數(shù)據(jù)集合是合情合理的,是在一定的范圍內(nèi)來進行軟件性能和功能性的測試。而無效等價類的所選取的數(shù)據(jù)是不合理的,是指意外性的數(shù)據(jù),往往用來測試軟件的邊緣性。我們在實際的軟件測試中,需要兼顧有效等價類和無效等價類,從而保證軟件的完備性以及系統(tǒng)的合理性。
3.2.2 等價類劃分類的設(shè)計原則
在確定軟件測試的等價類后,需要根據(jù)所有的有效等價類和無效等價類進行合理的設(shè)計。最基本的設(shè)計原則是要保證所有的有效等價類和無效等價類都涉及到,不能有遺漏,只有這樣才能滿足設(shè)計的需求,同時需要將所有的有效等價類和無效等價類進行編號,便于后面的進一步測試。
推測錯誤法也是常用的一種黑盒測試方法,其主要根據(jù)測試者以往的經(jīng)驗來設(shè)計出軟件中可能會存在的不足之處,同時還要設(shè)計出修正這些錯誤的測試用例。測試者根據(jù)軟件的主要特點設(shè)計出軟件可能的特殊情景和出現(xiàn)的錯誤。一般來說,經(jīng)驗豐富的軟件測試者通過本方法進行測試時往往更加快速,他們通常更加知曉軟件系統(tǒng)可能存在的薄弱之處,并且根據(jù)這些薄弱點設(shè)計出合適的測試用例。
但是需要說明的是,經(jīng)驗豐富的人也不可能把軟件系統(tǒng)中所有的錯誤都快速的找到,只是說盡可能的降低,通過本方法也不可能做到萬無一失,只能在測試的實際工作中不斷積累經(jīng)驗,增強自身的洞察力。此外,這種方法對來新手來說,具有一定的難度,門檻較高。
對于軟件系統(tǒng)的測試而言,黑盒測試是十分重要的。在進行黑盒測試之前,需要做大量的工作,主要包括數(shù)據(jù)的準(zhǔn)備以及相關(guān)的設(shè)計工作,以此來保證測試數(shù)據(jù)的完備性和準(zhǔn)確性。同時,黑盒測試還需要綜合考慮多方面的因素,根據(jù)實際的需求以及應(yīng)用場景的不同進行有針對性的測試,只有這種才能達到軟件測試的目的,需要在工作中不斷積累經(jīng)驗。
[1] 張策,崔剛,劉宏偉等.軟件測試資源與成本管控和最優(yōu)發(fā)布策略[J].哈爾濱工業(yè)大學(xué)學(xué)報,2014,46(5):51-58.
[2] 趙瑋.基于黑盒測試的軟件測試策略研究與實踐[J].中小企業(yè)管理與科技(上旬刊),2017(1):144-145.
[3] 張敏,趙平,張蓉.黑盒測試技術(shù)在指控分系統(tǒng)軟件測試中的應(yīng)用[J].強激光與粒子束,2013,25(s1):87-90.
[4] 滿薇薇.黑盒測試技術(shù)在指控分系統(tǒng)軟件測試中的應(yīng)用研究[J].電子世界,2014(10):203-204.
[5] 林永峰,陳亮.面向安全性分析的嵌入式軟件測試方法研究[J].現(xiàn)代電子技術(shù),2016,v.39;No.468(13):80-83.
[6] 張妍,傅秀芬.基于多優(yōu)化目標(biāo)的軟件測試用例約簡方法研究[J].計算機應(yīng)用研究,2016,33(4):1111-1113.