軟件測(cè)試的分類
軟件測(cè)試可以按照不同的標(biāo)準(zhǔn)進(jìn)行分類,如按照開(kāi)發(fā)階段分類、按照測(cè)試環(huán)境分類、按照測(cè)試技術(shù)分類、按照軟件質(zhì)量特性分類等。
按照開(kāi)發(fā)階段分類
軟件測(cè)試按照開(kāi)發(fā)階段可分為單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。
1.單元測(cè)試
單元測(cè)試又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位——程序模塊進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢查每個(gè)程序單元能否滿足詳細(xì)設(shè)計(jì)說(shuō)明中的模塊功能、性能、接口和設(shè)計(jì)約束等要求,發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。多個(gè)模塊可以平行地獨(dú)立進(jìn)行單元測(cè)試。
2.集成測(cè)試
集成測(cè)試也叫作組裝測(cè)試,通常是在單元測(cè)試的基礎(chǔ)上,對(duì)所有的程序模塊進(jìn)行有序的、遞增的測(cè)試。集成測(cè)試檢驗(yàn)程序單元或部件的接口關(guān)系,使它們逐步集成為符合概要設(shè)計(jì)要求的程序部件或整個(gè)系統(tǒng)。
軟件集成是一個(gè)持續(xù)的過(guò)程,會(huì)形成很多個(gè)臨時(shí)版本。在此過(guò)程中,保證功能集成的穩(wěn)定性是真正的挑戰(zhàn)。每個(gè)版本在提交時(shí),都需要進(jìn)行冒煙測(cè)試,即對(duì)程序主要功能進(jìn)行驗(yàn)證。冒煙測(cè)試也叫版本驗(yàn)證測(cè)試、提交測(cè)試。
3.確認(rèn)測(cè)試
確認(rèn)測(cè)試是通過(guò)檢查和提供客觀證據(jù),證實(shí)軟件是否滿足特定預(yù)期用途的需求。確認(rèn)測(cè)試檢測(cè)與證實(shí)軟件是否滿足軟件需求說(shuō)明書(shū)中提出的要求。
4.系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是為驗(yàn)證和確認(rèn)系統(tǒng)是否達(dá)到其原始目標(biāo),而對(duì)集成的硬件和軟件系統(tǒng)進(jìn)行的測(cè)試。系統(tǒng)測(cè)試在真實(shí)或模擬系統(tǒng)運(yùn)行的環(huán)境下,檢查完整的程序系統(tǒng)能否與硬件、外設(shè)、網(wǎng)絡(luò)和系統(tǒng)軟件、支持平臺(tái)等正確匹配、連接,并滿足用戶需求。
5.驗(yàn)收測(cè)試
驗(yàn)收測(cè)試是按照項(xiàng)目任務(wù)書(shū)或合同、供需雙方約定的驗(yàn)收依據(jù)文檔對(duì)整個(gè)系統(tǒng)進(jìn)行的測(cè)試與評(píng)審,決定產(chǎn)品被接收或拒收。
按照測(cè)試環(huán)境分類
當(dāng)軟件是為特定用戶開(kāi)發(fā)時(shí),需要進(jìn)行一系列的驗(yàn)收,讓用戶驗(yàn)證所有的需求是否已經(jīng)得到滿足。當(dāng)軟件是為多個(gè)用戶開(kāi)發(fā)時(shí),讓每個(gè)用戶逐個(gè)執(zhí)行正式的驗(yàn)收測(cè)試是不切實(shí)際的,因此很多軟件產(chǎn)品生產(chǎn)者采用?α?測(cè)試和?β?測(cè)試以發(fā)現(xiàn)可能只有最終用戶才能發(fā)現(xiàn)的錯(cuò)誤。
α?測(cè)試是由一個(gè)用戶在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是開(kāi)發(fā)機(jī)構(gòu)內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試。軟件在一個(gè)自然設(shè)置狀態(tài)下使用,開(kāi)發(fā)者坐在用戶旁邊,隨時(shí)記下錯(cuò)誤情況和使用中的問(wèn)題。這是在受控制的環(huán)境下進(jìn)行的測(cè)試,α?測(cè)試的目的是測(cè)試軟件產(chǎn)品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),尤其注重產(chǎn)品的界面和特色。
β?測(cè)試是在軟件的一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。這些用戶是與公司簽訂了支持產(chǎn)品預(yù)發(fā)行合同的外部客戶,他們要使用該產(chǎn)品,并返回相關(guān)錯(cuò)誤信息給開(kāi)發(fā)者。
按照測(cè)試技術(shù)分類
軟件測(cè)試按照測(cè)試技術(shù)分為白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試,也可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試是指不運(yùn)行程序,通過(guò)人工方式對(duì)程序和文檔進(jìn)行分析與檢查; 動(dòng)態(tài)測(cè)試是指通過(guò)運(yùn)行被測(cè)程序來(lái)檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率和健壯性等指標(biāo)。此處討論的白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試在實(shí)現(xiàn)測(cè)試的方法上既包括動(dòng)態(tài)測(cè)試,又包括靜態(tài)測(cè)試。
1.白盒測(cè)試
白盒測(cè)試通過(guò)對(duì)程序內(nèi)部結(jié)構(gòu)的分析、檢測(cè)來(lái)尋找問(wèn)題。它將測(cè)試對(duì)象看成一個(gè)透明盒子,即清楚了解程序結(jié)構(gòu)和處理過(guò)程,以此檢查軟件內(nèi)部動(dòng)作是否按照設(shè)計(jì)說(shuō)明的規(guī)定正常進(jìn)行。
2.黑盒測(cè)試
黑盒測(cè)試通過(guò)軟件的外部表現(xiàn)來(lái)發(fā)現(xiàn)其缺陷和錯(cuò)誤。它把測(cè)試對(duì)象看成一個(gè)黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程。黑盒測(cè)試在程序界面處進(jìn)行測(cè)試,它只檢查程序是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常運(yùn)行。
3.灰盒測(cè)試
灰盒測(cè)試是介于白盒測(cè)試與黑盒測(cè)試之間的測(cè)試?;液袦y(cè)試關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種內(nèi)部關(guān)注不像白盒測(cè)試那樣詳細(xì)、完整,只是通過(guò)一些表征性的現(xiàn)象、事件、標(biāo)志來(lái)判斷內(nèi)部的運(yùn)行狀態(tài)。 軟件測(cè)試方法和技術(shù)的分類與軟件開(kāi)發(fā)過(guò)程相關(guān)聯(lián),它貫穿了整個(gè)軟件生命周期。單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試應(yīng)用于整個(gè)開(kāi)發(fā)過(guò)程中的不同階段。單元測(cè)試應(yīng)用白盒測(cè)試方法,集成測(cè)試應(yīng)用近似灰盒測(cè)試方法,系統(tǒng)測(cè)試和確認(rèn)測(cè)試應(yīng)用黑盒測(cè)試方法。
按照軟件質(zhì)量特性分類
軟件測(cè)試按照軟件質(zhì)量特性可分為功能測(cè)試與性能測(cè)試。
功能測(cè)試是一種黑盒測(cè)試,它檢查軟件的實(shí)際功能是否符合用戶的需求, 一般分為邏輯功能測(cè)試、界面測(cè)試、易用性測(cè)試、安裝測(cè)試、兼容性測(cè)試等。
性能測(cè)試針對(duì)軟件的各方面性能,主要是時(shí)間性能和空間性能。
時(shí)間性能主要是指軟件的一個(gè)具體事務(wù)的響應(yīng)時(shí)間。比如登錄 163 郵箱,輸入用戶名和密 碼,單擊“登錄”按鈕,如果從單擊按鈕的那一刻起,到最終登錄后的頁(yè)面反饋,時(shí)間間隔為3 秒,則稱 163 郵箱在這一次登錄事務(wù)中的響應(yīng)時(shí)間為 3 秒。通常通過(guò)多次登錄來(lái)記錄不同的響應(yīng)時(shí)間,最后取平均值,這樣的數(shù)據(jù)才有參考價(jià)值。
空間性能主要指軟件運(yùn)行時(shí)所消耗的系統(tǒng)資源,比如安裝軟件之前,軟件提示用戶的安裝最低要求。
性能測(cè)試一般分為如下幾種。
(1)一般性能測(cè)試:指讓被測(cè)系統(tǒng)在正常的軟硬件環(huán)境下運(yùn)行,不向其施加任何壓力的性能測(cè)試。
(2)穩(wěn)妥定性測(cè)試:也稱可靠性測(cè)試,指連續(xù)運(yùn)行被測(cè)系統(tǒng),檢查系統(tǒng)運(yùn)行的穩(wěn)定程度。
(3)負(fù)載測(cè)試:通常是指讓被測(cè)系統(tǒng)在其能忍受的壓力的極限范圍之內(nèi)連續(xù)運(yùn)行來(lái)測(cè)試系統(tǒng)的穩(wěn)定性。
(4)壓力測(cè)試:通常是指持續(xù)不斷地給被測(cè)系統(tǒng)增加壓力,直到將被測(cè)系統(tǒng)壓垮為止,用來(lái)測(cè)試系統(tǒng)所能承受的最大壓力。
其他分類
回歸測(cè)試是指在軟件的新版本測(cè)試時(shí),重復(fù)執(zhí)行該軟件的某一個(gè)舊版本的所有測(cè)試用例。目的是驗(yàn)證舊版本所有缺陷已全部被修復(fù),以及確認(rèn)修復(fù)這些缺陷沒(méi)有引發(fā)新的缺陷。
冒煙測(cè)試是指在對(duì)一個(gè)新版本進(jìn)行大規(guī)模的系統(tǒng)測(cè)試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測(cè)性。
隨機(jī)測(cè)試也稱為隨意性測(cè)試,是測(cè)試人員基于經(jīng)驗(yàn)和直覺(jué)的探索性測(cè)試,其目的是模擬用戶的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。
搜索微信公眾號(hào):TestingStudio霍格沃茲的干貨都很硬核