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