付 雯
(重慶電子工程職業(yè)學(xué)院,重慶 401331)
從不同的角度上講,可將軟件測試的目的分為以下兩種情況:一種是基于用戶的立場,所有的用戶均希望可以在對軟件進(jìn)行測試的過程中,發(fā)現(xiàn)其中存在的各種問題,這樣便可以明確軟件產(chǎn)品的性能,從而考慮是否需要對該產(chǎn)品進(jìn)行選擇。另一種是基于開發(fā)者的立場,在開發(fā)軟件的過程中,開發(fā)人員全都希望所開發(fā)的軟件產(chǎn)品性能完善,不存在缺陷和漏洞,并且能夠滿足用戶的需求。出于這一目的,開發(fā)人員通常會選擇一些引起軟件失效率小的方法進(jìn)行測試,不利于如實(shí)反映出軟件的真實(shí)情況。不僅如此,在測試時,通常都是進(jìn)行一些常規(guī)的操作,基本不會刻意地對軟件程序中可能存在的隱性問題進(jìn)行檢測,這個測試過程去本身所具備的意義不大,能夠達(dá)到的效果更是微乎其微。正因如此,使得很多軟件程序的漏洞較多,給用戶的使用帶來不利影響。在軟件進(jìn)行測試時,最為基本的目標(biāo)是耗費(fèi)最短的時間,投入最少的人力資源,最大程度地減少軟件的缺陷問題。
軟件是計算機(jī)中不可或缺的重要組成部分之一,近年來,隨著計算機(jī)技術(shù)的不斷發(fā)展和完善,推動了軟件行業(yè)的發(fā)展,與軟件相關(guān)的測試方法也隨之呈現(xiàn)出多樣化的發(fā)展態(tài)勢。實(shí)踐表明,在對計算機(jī)軟件進(jìn)行測試的過程中,選用不同的測試方法,將會獲得不同的測試結(jié)果。在大數(shù)據(jù)的背景下,在進(jìn)行軟件測試時,對測試方法的選取上,除了要遵循合理可行的原則之外,還要避免單獨(dú)使用一種方法進(jìn)行測試,這是因?yàn)榉椒ㄟ^于單一可能無法發(fā)現(xiàn)軟件中存在的缺陷和漏洞問題,所以,應(yīng)采用多種方法,對軟件進(jìn)行測試,并盡可能將所選的方法綜合到一起,在提高測試效率的前提下,使測試結(jié)果更加真實(shí)地反映出軟件各方面的性能。
在對軟件進(jìn)行測試時,靜態(tài)測試方法可在軟件不運(yùn)行的情況下進(jìn)行,這種方法可以通過對程序代碼的檢查,找出軟件中存在的一些錯誤問題。而動態(tài)測試則需要軟件處于運(yùn)行狀態(tài),通過相關(guān)數(shù)據(jù)的輸入,檢測輸出結(jié)果是否與預(yù)期的結(jié)果相符,進(jìn)而判斷軟件的性能是否完善,其中有無缺陷和漏洞。將這兩種方法結(jié)合使用,能夠解決單一方法在測試上的不足,有助于測試結(jié)果準(zhǔn)確性的提升。
白盒測試又被稱之為邏輯驅(qū)動測試,其中的盒子即被測試軟件。采用該方法對軟件進(jìn)行測試時,測試人員需要對程序的內(nèi)部結(jié)構(gòu)進(jìn)行全面檢查,重點(diǎn)對程序的邏輯進(jìn)行檢查,從而得出測試結(jié)果。這種測試方法的優(yōu)點(diǎn)在于能迫使測試人員對軟件的實(shí)現(xiàn)進(jìn)行仔細(xì)思考,并且能夠?qū)Τ绦虼a中的所有分支和路徑進(jìn)行檢測,對代碼中隱藏的錯誤進(jìn)行揭露,以此來達(dá)到實(shí)現(xiàn)軟件性能最優(yōu)化的目的。而黑盒測試主要是圍繞軟件的功能進(jìn)行測試的一種方法,測試時,程序被視作為一個無法打開的黑盒,在不考慮其內(nèi)部結(jié)構(gòu)的前提下,在接口進(jìn)行測試,只檢查程序的功能是否正常。這種測試方法是從用戶的角度出發(fā),從輸入與輸出數(shù)據(jù)之間存在的關(guān)系進(jìn)行測試。由于白盒與黑盒測試均存在著一定的不足,所以單獨(dú)使用,無法達(dá)到預(yù)期的測試效果。對此,在大數(shù)據(jù)的背景下,可將兩種方法結(jié)合使用,互相彌補(bǔ)自身的不足,提高測試結(jié)果的準(zhǔn)確性。
軟件測試是一個比較系統(tǒng)的過程,其中包含多個階段,在軟件測試的不同階段,應(yīng)當(dāng)選用不同的測試方法,以此來如實(shí)反映出軟件各階段的情況,對此可采用多元測試方法。如,在對軟件中一些比較小的單元進(jìn)行測試時,可以采用單元測試法,對各個小單元的性能進(jìn)行檢驗(yàn);當(dāng)多個單元通過測試后,可將它們組成一個子系統(tǒng),利用集成測試的方法,對其進(jìn)行再次測試,作進(jìn)一步的驗(yàn)證。在集成測試中,重點(diǎn)的測試內(nèi)容為模塊接口,檢查單元之間的協(xié)作情況;對軟件的整體性測試,可以采用系統(tǒng)測試的方法,驗(yàn)證軟件的性能、功能等是否達(dá)到預(yù)期的目標(biāo);上述測試階段全部完成后,用戶可對軟件產(chǎn)品進(jìn)行驗(yàn)收測試,這是軟件測試的最終環(huán)節(jié)。
綜上所述,在大數(shù)據(jù)的背景下,使軟件測試方式發(fā)生了一定程度的變化,如果仍然以單一的方法,對軟件進(jìn)行測試,很難達(dá)到預(yù)期中的效果。所以,應(yīng)將軟件測試方法聯(lián)合到一起應(yīng)用,相互彌補(bǔ)自身的不足,以此來提高軟件測試結(jié)果的準(zhǔn)確性,這對于推動我國軟件行業(yè)的發(fā)展具有重要的現(xiàn)實(shí)意義。