什么是軟件測試?
軟件測試是一個驗證和驗證應(yīng)用程序功能以確定它是否滿足要求的過程。這是在應(yīng)用程序中發(fā)現(xiàn)缺陷并根據(jù)最終用戶的要求檢查應(yīng)用程序功能的過程。
第三方軟件檢測機構(gòu)是專門提供軟件測試服務(wù),其出具軟件測試報告過程中可能運用到的測試方法,例如:
黑盒測試:
不基于內(nèi)部設(shè)計和代碼的任何知識,而是基于需求和功能性。
白盒測試:
白盒測試:基于一個應(yīng)用代碼的內(nèi)部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。
單元測試:
最微小規(guī)模的測試;以測試某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內(nèi)部程序設(shè)計和編碼的細節(jié)知識。這個工作不容易做好,除非應(yīng)用系統(tǒng)有一個設(shè)計很好的體系結(jié)構(gòu); 還可能需要開發(fā)測試驅(qū)動器模塊或測試套具。
可用性測試:
對用戶友好性的測試。顯然這是主觀的,且將取決于目標最終用戶或客戶。用戶面談、調(diào)查、用戶對話的錄象和其他一些技術(shù)都可使用。程序員和測試員通常都不宜做可用性測試員。
安裝/卸載測試:
對軟件的全部、部分或升級安裝/卸載處理過程的測試。
恢復(fù)測試:
測試一個系統(tǒng)從如下災(zāi)難中能否很好地恢復(fù),如遇到系統(tǒng)崩潰、硬件損壞或其他災(zāi)難性問題。
安全測試:
測試系統(tǒng)在防止非授權(quán)的內(nèi)部或外部用戶的訪問或故意破壞等情況時怎么樣。這可能需要復(fù)雜的測試技術(shù)。
兼容測試:
兼容測試:測試軟件在一個特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。
集成測試:
一個應(yīng)用系統(tǒng)的各個部件的聯(lián)合測試,以決定他們能否在一起共同工作。部件可以是代碼塊、獨立的應(yīng)用、網(wǎng)絡(luò)上的客戶端或服務(wù)器端程序。這種類型的測試尤其與客戶服務(wù)器和分布式系統(tǒng)有關(guān)。
功能測試:
用于測試應(yīng)用系統(tǒng)的功能需求的黑盒測試方法。這類測試應(yīng)由測試員做,這并不意味著程序員在發(fā)布前不必檢查他們的代碼能否工作(自然他能用于測試的各個階段)。
系統(tǒng)測試:
系統(tǒng)測試:基于系統(tǒng)整體需求說明書的黑盒類測試;應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。
端到端測試:
類似于系統(tǒng)測試;測試級的宏大的端點;涉及整個應(yīng)用系統(tǒng)環(huán)境在一個現(xiàn)實世界使用時的模擬情形的所有測試。例如與數(shù)據(jù)庫對話,用網(wǎng)絡(luò)通訊,或與外部硬件、應(yīng)用系統(tǒng)或適當?shù)南到y(tǒng)對話。