一.按是否查看程序內(nèi)部結(jié)構(gòu)
1.黑盒測試(包含性能測試和功能測試):
只關(guān)心輸出輸入結(jié)果
1)功能測試:是黑盒測試的一方面营搅,它檢查實(shí)際軟件的功能是否符合用戶的需求翔忽,包括:
(1)邏輯功能測試(logic function testing)降宅;
(2)界面測試(UItesting)UI=User Interface蝉娜;
(3)易用性測試(usability testing):是指從軟件使用的合理性和方便性等角度對軟件系統(tǒng)進(jìn)行檢查媒楼,來發(fā)現(xiàn)軟件中不方便用戶使用的地方天梧;
(4)兼容性測試(compatibility testing):包括硬件兼容性測試和軟件兼容性測試
2)性能測試(包含一般性能測試,穩(wěn)定性測試,負(fù)載測試和壓力測試):
(1)一般性能測試:指在正常的軟硬件環(huán)境下劲妙,不向被測系統(tǒng)施加任何壓力的性能測試
(2)穩(wěn)定性測試(可靠性測試 - reliability testing):指連續(xù)運(yùn)行被測系統(tǒng)湃鹊,檢查系統(tǒng)運(yùn)行時(shí)的穩(wěn)定程度?
(3)負(fù)載測試-load testing:指讓被測系統(tǒng)在其能承受的壓力的極限范圍內(nèi)連續(xù)運(yùn)行,檢查系統(tǒng)運(yùn)行時(shí)的穩(wěn)定程度
(4)壓力測試:是指持續(xù)不斷的給被測系統(tǒng)增加壓力镣奋,直到將被測系統(tǒng)壓垮為止币呵,用來測試系統(tǒng)所能承受的最大壓力。(Validate the system or software can allowed the biggest stress.)
2.白盒測試:
研究程序里面的源代碼和程序結(jié)構(gòu)
二.按是否運(yùn)行程序
1.靜態(tài)測試:
指不實(shí)際運(yùn)行被測程序侨颈,只是靜態(tài)地檢查程序的代碼余赢,界面以及文檔可能存在的錯(cuò)誤的過程。
靜態(tài)測試包括:
1)代碼測試:檢查代碼是否符合相應(yīng)的規(guī)范或標(biāo)準(zhǔn)
2)界面測試:檢查被測軟件的實(shí)際界面和需求中的要求是否相符
3)文檔測試:檢查用戶手冊和需求說明是否符合用戶的實(shí)際需求
2.動態(tài)測試:
指實(shí)際運(yùn)行被測程序哈垢,輸入測試數(shù)據(jù)妻柒,查看相應(yīng)的輸出結(jié)果和預(yù)期結(jié)果是否相符的過程
三.按階段劃分
(1)單元測試:對軟件中最小的可測試單元或模塊進(jìn)行檢查和驗(yàn)證
樁模塊(stud):模擬被測模塊所調(diào)用的模塊;
驅(qū)動模塊(driver):指模擬被測模塊的上級模塊耘分,驅(qū)動模塊用來接收測試數(shù)據(jù)举塔,啟動被測模塊并輸出結(jié)果
(2)集成測試:
是單元測試的下一階段,將通過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng)求泰,再進(jìn)行測試央渣,重點(diǎn)是測試不同模塊之間的接口部門,集成測試主要檢查各個(gè)單元模塊組合到一起能否協(xié)同配合拜秧,正常運(yùn)行
(3)系統(tǒng)測試:
是指將整個(gè)軟件系統(tǒng)看作一個(gè)整體進(jìn)行測試痹屹,包括對功能,性能枉氮,軟件運(yùn)行的軟硬件環(huán)境進(jìn)行測試志衍,系統(tǒng)測試的依據(jù)是《系統(tǒng)需求規(guī)格說明書》
(4)驗(yàn)收測試:
指的是在系統(tǒng)測試的后期,以用戶測試為主聊替,或有測試人員等質(zhì)量保障人員共同參與的測試楼肪,它是軟件交給用戶的最后一道工序。驗(yàn)收測試包含α測試(內(nèi)測)和β測試(公測)
1)α測試(內(nèi)測):
指由用戶惹悄,測試人員春叫,開發(fā)人員等共同參與的內(nèi)部測試
2)β測試(公測):
指內(nèi)測后的測試,即完全交給最終用戶的測試
四.其他類型的測試
(1)回歸測試(regression testing):是指對軟件的新的版本測試時(shí)泣港,重復(fù)執(zhí)行上一個(gè)版本測試時(shí)的用例暂殖。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)
(2)冒煙測試(smoke testing):是指在對一個(gè)新版本進(jìn)行大規(guī)模的測試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn)当纱,是否具備可測性呛每。(validate the major function is deployed or not in software of system when a new build or release is implement.)
(3)隨機(jī)測試(random testing):是指測試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作坡氯,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤晨横。(means or all the test data is random, to validate the some edge bugs.)