發(fā)布時間:2021-11-23 12:36:32來源:轉(zhuǎn)載
在實際項目測試過程中,選擇并確定測試模型只是我們實施測試的步。除此之外,還要弄清楚整個測試過程中需要做哪些類型的測試,并根據(jù)不同的測試類型進(jìn)行相應(yīng)的測試,比如我們耳熟能詳?shù)墓δ軠y試、性能測試等,這樣我們的測試工作才能有效進(jìn)行。那么軟件測試按照什么分類?又是怎么分類的呢?簡單來講,軟件測試可以按照開發(fā)階段、是否查看代碼、是否運(yùn)行、是否手工操作四個方向分類的。
軟件測試是怎么分類的?
1、按照開發(fā)階段分類
(1)單元測試
單元測試也可以叫做模塊測試——對軟件的組成單位進(jìn)行測試,目的是為了檢驗軟件基本組成單位的正確性。測試的對象是軟件測試的較小單位:模塊。單元測試一般都是開發(fā)人員或者專業(yè)的白盒測試人員(這些需要對代碼有很深的研究)來測試的。
(2)集成測試
單元測試是一個模塊內(nèi)部的測試,當(dāng)有多個單獨的模塊測試完成后,我們需要把這些模塊放到一起進(jìn)行整體的測試,這個測試叫做集成測試。集成測試也稱聯(lián)調(diào)測試、組裝測試,即將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測的測試工作。集成測試主要關(guān)注的是關(guān)聯(lián)處比較復(fù)雜,容易發(fā)生錯誤的模塊。集成測試是在模塊之間進(jìn)行測試(至少兩個),將2個或者2個以上的模塊進(jìn)行組裝。
(3)系統(tǒng)測試
系統(tǒng)測試指的是在真實或模擬系統(tǒng)運(yùn)行的環(huán)境下,驗證完整的程序系統(tǒng)是否可以正確的運(yùn)行,并滿足用戶的功能需求,這里完整的程序系統(tǒng)可以理解為把整個軟件系統(tǒng)看作一個整體,包括軟件和硬件。舉個例子,當(dāng)下公司正在開發(fā)一個新的支付系統(tǒng),要求測試團(tuán)隊對它做系統(tǒng)測試。那我們的測試目的,就是要把各種功能模塊全部搭建并運(yùn)行起來,對它進(jìn)行整體的功能測試、安全測試、性能測試等,以驗證它的功能,安全性,性能等各方面表現(xiàn)是否滿足用戶需求。
(4)驗收測試
驗收測試是技術(shù)測試的較后一個階段,也稱為交付測試。驗收測試是部署軟件之前的較后一個測試階段。驗收測試的目的是確保軟件準(zhǔn)備就緒,向軟件購買者展示該軟件系統(tǒng)能夠滿足用戶的需求,一般是以用戶為主的測試。驗收測試的常用策略有兩種,正式驗收和非正式驗收。
2、按照是否查看代碼分類
(1)黑盒測試
我們不需要去關(guān)心被測試軟件里面的結(jié)構(gòu)及實現(xiàn)邏輯如何,只需要關(guān)注測試軟件的輸入數(shù)據(jù)是什么,以及輸出結(jié)果是否符合預(yù)期就可以了,這樣的測試就叫做黑盒測試。黑盒測試又稱為數(shù)據(jù)驅(qū)動測試,它只檢查程序是否能接收輸入數(shù)據(jù)并產(chǎn)生正確的輸出信息。
(2)功能測試
功能測試主要是檢查實際功能是否符合用戶的需求,因此測試的大部分工作也是圍繞軟件的功能進(jìn)行的。功能測試又可以細(xì)分為界面測試、邏輯功能測試、易用性測試、安裝測試以及兼容性測試等,每種測試的測試目的及復(fù)雜程度又有所不同。
(3)性能測試
性能測試拆開來看就是性能與測試。軟件的性能包括很多方面,主要是時間性能和空間性能。性能測試是通過自動化的測試工具來模擬多種正常的,不正常的,或者是極限情況下,針對系統(tǒng)的各項性能指標(biāo)進(jìn)行的測試,以驗證軟件性能是否符合要求。
(4)白盒測試
白盒測試與黑盒測試正好相反,就是不關(guān)注外面只關(guān)注里面,也就是說盒子是透明的,我們可以清楚的看到盒子內(nèi)部的東西以及內(nèi)部的運(yùn)作邏輯,針對內(nèi)部邏輯進(jìn)行的測試。
(5)灰盒測試
灰盒測試是介于白盒測試與黑盒測試之間的一種測試,它既關(guān)注內(nèi)部也關(guān)注外部的驗證。
3、按照是否運(yùn)行分類
(1)動態(tài)測試
動態(tài)測試是指通過運(yùn)行被測程序,輸入相應(yīng)的測試數(shù)據(jù)來驗證運(yùn)行結(jié)果與預(yù)期結(jié)果的是否一致。目前動態(tài)測試也是企業(yè)實施項目測試的主要方式。根據(jù)動態(tài)測試在軟件開發(fā)過程中所處的階段和作用,我們可以將其劃分為以下幾個步驟:單元測試、系統(tǒng)測試、集成測試和驗收測試。
(2)靜態(tài)測試
靜態(tài)測試就是不實際運(yùn)行被測軟件,只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤的過程。測試內(nèi)容主要是代碼測試、界面測試和文檔測試三個方面
4、按照是否手工操作分類
(1)手工測試
手工測試,指的用手一個一個去執(zhí)行編寫好的測試用例。通過手動操作鍵盤鼠標(biāo)來輸入一些內(nèi)容,例如測試登錄功能時,要根據(jù)用例手動輸入用戶名/密碼,點擊按鈕等,執(zhí)行完功能之后,再查看返回結(jié)果,驗證其是否符合預(yù)期的結(jié)果。
(2)自動化測試
自動化測試的目的是提高測試效率,把以人為驅(qū)動的測試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。使用工具或代碼的方式來實現(xiàn)手工操作。
這一關(guān)我們按照是否運(yùn)行軟件將測試分為了靜態(tài)測試和動態(tài)測試,又基于是否手工操作將測試分成了手工測試和自動化測試,除此之外,還有冒煙測試,回歸測試以及安全測試等等。通過學(xué)習(xí)我們可以知道,每一種測試都有自己的特點和適用場景,我們通過這樣的系統(tǒng)學(xué)習(xí)理解每種測試的方式和意義,做到心中有數(shù),這對我們后續(xù)的測試技術(shù)學(xué)習(xí)以及實際測試工作有著深遠(yuǎn)的指導(dǎo)作用。
更多培訓(xùn)課程: 渝中區(qū)軟件測試 更多學(xué)校信息: 重慶渝中解放碑達(dá)內(nèi)IT教育培訓(xùn) 咨詢電話: