黑盒測試
不基于內(nèi)部設(shè)計和代碼的任何知識,而是基于需求和功能性。
白盒測試
基于一個應用代碼的內(nèi)部邏輯知識中鼠,測試是基于覆蓋全部代碼可婶、分支、路徑兜蠕、條件扰肌。
單元測試
最微小規(guī)模的測試;以測試某個功能或代碼塊熊杨。典型地由程序員而非測試員來做曙旭,因為它需要知道內(nèi)部程序設(shè)計和編碼的細節(jié)知識。這個工作不容易作好晶府,除非應用系統(tǒng)有一個設(shè)計很好的體系結(jié)構(gòu); 還可能需要開發(fā)測試驅(qū)動器模塊或測試套具桂躏。
累積綜合測試
當一個新功能增加后,對應用系統(tǒng)所做的連續(xù)測試川陆。它要求應用系統(tǒng)的不同形態(tài)的功能能夠足夠獨立以可以在全部系統(tǒng)完成前能分別工作剂习,或當需要時那些測試驅(qū)動器已被開發(fā)出來; 這種測試可由程序員或測試員來做。
集成測試
一個應用系統(tǒng)的各個部件的聯(lián)合測試较沪,以決定他們能否在一起共同工作鳞绕。部件可以是代碼塊、獨立的應用尸曼、網(wǎng)絡上的客戶端或服務器端程序们何。這種類型的測試尤其與客戶服務器和分布式系統(tǒng)有關(guān)。
功能測試
用于測試應用系統(tǒng)的功能需求的黑盒測試方法控轿。這類測試應由測試員做冤竹,這并不意味著程序員在發(fā)布前不必檢查他們的代碼能否工作(自然他能用于測試的各個階段)。
系統(tǒng)測試
基于系統(tǒng)整體需求說明書的黑盒類測試茬射;應覆蓋系統(tǒng)所有聯(lián)合的部件鹦蠕。
端到端測試
類似于系統(tǒng)測試;測試級的“宏大”的端點在抛;涉及整個應用系統(tǒng)環(huán)境在一個現(xiàn)實世界使用時的模擬情形的所有測試钟病。例如與數(shù)據(jù)庫對話,用網(wǎng)絡通訊刚梭,或與外部硬件肠阱、應用系統(tǒng)或適當?shù)南到y(tǒng)對話。
健全測試
典型地是指一個初始化的測試工作望浩,以決定一個新的軟件版本測試是否足以執(zhí)行下一步大的測試努力辖所。例如,如果一個新版軟件每5分鐘與系統(tǒng)沖突磨德,使系統(tǒng)陷于泥潭缘回,說明該軟件不夠“健全”吆视,目前不具備進一步測試的條件。
衰竭測試
軟件或環(huán)境的修復或更正后的“再測試”酥宴±舶桑可能很難確定需要多少遍再次測試。尤其在接近開發(fā)周期結(jié)束時拙寡。自動測試工具對這類測試尤其有用授滓。
接受測試
基于客戶或最終用戶的規(guī)格書的最終測試,或基于用戶一段時間的使用后肆糕,看軟件是否滿足客戶要求般堆。
負載測試
測試一個應用在重負荷下的表現(xiàn),例如測試一個 Web 站點在大量的負荷下诚啃,何時系統(tǒng)的響應會退化或失敗淮摔。
強迫測試
在交替進行負荷和性能測試時常用的術(shù)語。也用于描述象在異乎尋常的重載下的系統(tǒng)功能測試之類的測試始赎,如某個動作或輸入大量的重復和橙,大量數(shù)據(jù)的輸入,對一個數(shù)據(jù)庫系統(tǒng)大量的復雜查詢等造垛。
性能測試
在交替進行負荷和強迫測試時常用的術(shù)語魔招。理想的“性能測試”(和其他類型的測試)應在需求文檔或質(zhì)量保證、測試計劃中定義五辽。
可用性測試
對“用戶友好性”的測試梯轻。顯然這是主觀的阳液,且將取決于目標最終用戶或客戶忘苛。用戶面談潮售、調(diào)查岭妖、用戶對話的錄象和其他一些技術(shù)都可使用省古。程序員和測試員通常都不宜作可用性測試員硅瞧。
安裝/卸載測試
對軟件的全部禁偎、部分或升級安裝/卸載處理過程的測試建丧。
恢復測試
測試一個系統(tǒng)從如下災難中能否很好地恢復排龄,如遇到系統(tǒng)崩潰、硬件損壞或其他災難性問題翎朱。
安全測試
測試系統(tǒng)在防止非授權(quán)的內(nèi)部或外部用戶的訪問或故意破壞等情況時怎么樣橄维。這可能需要復雜的測試技術(shù)。
兼容測試
測試軟件在一個特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡等環(huán)境下的性能如何拴曲。
比較測試
與競爭伙伴的產(chǎn)品的比較測試争舞,如軟件的弱點、優(yōu)點或?qū)嵙Α?/p>
Alpha 測試
在系統(tǒng)開發(fā)接近完成時對應用系統(tǒng)的測試澈灼;測試后竞川,仍然會有少量的設(shè)計變更店溢。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成委乌。
Beta 測試
當開發(fā)和測試根本完成時所做的測試床牧,而最終的錯誤和問題需要在最終發(fā)行前找到。這種測試一般由最終用戶或其他人員員完成遭贸,不能由程序員或測試員完成戈咳。