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