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