軟件測試 software testing
定義:對軟件進(jìn)行檢測和評估,以確定其是否滿足所需結(jié)果的過程和方法。
學(xué)科:計算機科學(xué)技術(shù)_計算機硬件_計算機維護(hù)
相關(guān)名詞:黑盒測試 白盒測試
圖片來源:視覺中國
【延伸閱讀】
軟件測試是隨軟件的產(chǎn)生而產(chǎn)生的。在早期的軟件開發(fā)過程中,軟件規(guī)模小,架構(gòu)簡單,軟件開發(fā)的過程不規(guī)范,對測試的投入少,所以軟件的測試工作常常是等到產(chǎn)品已經(jīng)基本完成時才進(jìn)行。到了20世紀(jì)80年代初期,軟件行業(yè)蓬勃發(fā)展,軟件趨向大型化、高復(fù)雜度,所以軟件的質(zhì)量越來越重要。面向結(jié)構(gòu)復(fù)雜、功能多樣的大體量軟件,軟件測試的方法也越來越規(guī)范。從單一的正確性判斷到軟件的正確性、健壯性、容錯性等全方位把控;從只測試成品功能到監(jiān)控產(chǎn)品開發(fā)的各個階段;從整體功能測試到單元與整體聯(lián)合測試,軟件測試方法逐步趨于成熟并形成它獨有的一套體系。軟件測試按照測試技術(shù)通常分為黑盒測試和白盒測試。
黑盒測試是把測試對象看作一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和具體代碼,只按照軟件需求說明書,檢查這個“黑盒子”是否可以完成預(yù)期的功能。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試方法包括等價類劃分、邊界值分析、因果圖分析、錯誤推測法、功能圖分析等。
白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。它把測試對象看作一個打開的盒子,允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預(yù)期狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試方法包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋等。
此外,軟件測試按開發(fā)階段可分為單元測試、集成測試、系統(tǒng)測試、驗收測試;按測試的實施單位可分為開發(fā)方測試、用戶測試、第三方測試;按測試內(nèi)容還可分為負(fù)載測試、壓力測試、可用性測試、兼容性測試、安全性測試等。
(延伸閱讀作者:大連理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院教授 楊鑫)
責(zé)任編輯:張鵬輝