https://blog.csdn.net/weixin_30412167/article/details/99594504
一蚯斯、分類
測試分為:
>>> 1. 靜態(tài)測試:
? ? ? ? ? ? ? ? ? ? ? ? ·?白盒測試
? ? ? ? ? ? ? ? ? ? ? ? · 灰盒測試
? ? ? ? ? ? ? ? ? ? ? ? · 黑盒測試
>>> 2. 動態(tài)測試
靜態(tài)測試:?通過審閱文檔,走查代碼等手段,不運(yùn)行應(yīng)用程序的方式測試拥娄。
動態(tài)測試:需要運(yùn)行應(yīng)用程序按咒,通過像單元測試,集成測試,系統(tǒng)測試等測試方法運(yùn)行的測試卸勺。
白盒測試:測試代碼申明或者邏輯路徑的過程,保證每個語句或者路徑都至少執(zhí)行一次箩绍,所以白盒測試也叫邏輯路徑測試或者結(jié)構(gòu)測試孔庭,主要包括語句覆蓋測試,條件測試材蛛,路徑測試三種方式圆到。比較典型的代表就是單元測試。
黑盒測試:把被測軟件當(dāng)成一個密閉的盒子卑吭,看不到里面的邏輯組成部分芽淡。通過功能測試,集成測試豆赏,系統(tǒng)測試挣菲,驗收測試等方法對軟件進(jìn)行測試。
灰盒測試:灰盒測試介于白盒和黑盒測試之間的一種測試掷邦,需要測試人員有一些代碼邏輯的基礎(chǔ)知識白胀,比較典型的代表就是接口測試:API測試,它又有另外一種叫法抚岗,叫做半透明測試或杠。
二、階段
如果我們將測試和項目生命周期對比起來可以發(fā)現(xiàn)測試包含以下幾個階段:
單元測試:?單元測試中我們一般會用到模擬器(Driver)和樁(Stub)宣蔚。
? ? ? ? ? ? ? ? 其中模擬器可以看成是被測模塊的上游組件向抢,通過模擬器和數(shù)據(jù)驅(qū)動被測模塊的運(yùn)行。
? ? ? ? ? ? ? ? ?樁可以看成是被測模塊(系統(tǒng))的外圍組件胚委,比如文件系統(tǒng)挟鸠,日志系統(tǒng),郵件系統(tǒng)等亩冬。通過對這些外圍系統(tǒng)的模擬來確保被測模塊的完整性艘希。
集成測試:?集成測試可以分為兩種,增量和非增量硅急。其中有父子關(guān)系的我們會用增量式的集成測試枢冤,其中有從上至下和從下至上。
? ? ? ? ? ? ? ? ?其中父子關(guān)系不明確的我們一般會用非增量式的集成測試方式铜秆,這種也叫爆破式的測試方式。這種方法測試速度快讶迁,但是出現(xiàn)問題很難定位连茧。
系統(tǒng)測試:?系統(tǒng)測試我們又叫產(chǎn)品測試或者端到端的測試核蘸。
驗收測試:?驗收測試一般用來判斷產(chǎn)品是否滿足客戶需求,可以分為Alpha測試或者Beta測試啸驯。其中Alpha測試是用戶在開發(fā)的環(huán)境來執(zhí)行但是會有測試和開發(fā)團(tuán)隊協(xié)助,在Beta測試之前客扎。
? ? ? ? ? ? ? ??Beta測試是在真實的線上環(huán)境沒有測試和開發(fā)的參與,用戶自己完成的一項測試狸棍。一般在產(chǎn)品即將推出市場的時候進(jìn)行妓蛮。
三府喳、類型
接著我們一起來探討下常見的幾種不同類型的測試:
Smoke testing:?冒煙測試又叫預(yù)測試,一般用來判斷產(chǎn)品是否可以正式開始測試袱吆。不需要做很深入的測試,像測試下界面按鈕或者超鏈接是否起作用等等距淫。
Compatibility testing:?兼容性測試绞绒,一般會由客戶提需求,根據(jù)客戶的需求在不同的系統(tǒng)(Window,IOS,Linux...)或者不同的瀏覽器(IE,Chrome,Safari...)上所進(jìn)行的測試榕暇。
Usability testing:?易用行測試一般用來測試軟件可用性以及人的主觀情緒等蓬衡,例如是否支持全鍵盤操作,是否支持殘障人士的使用等彤枢。
Performance testing:?性能測試用來測試軟件的吞吐量或者相應(yīng)時間狰晚,CPU或者M(jìn)emory利用率等指標(biāo)〗煞龋可以分為以下幾種:
Load?Test:負(fù)載測試-單位時間內(nèi)對被測系統(tǒng)增加一定的用戶量壁晒,觀察系統(tǒng)在穩(wěn)定運(yùn)行期間的各項性能指標(biāo)。
Stess Test:?壓力測試-從系統(tǒng)的最大負(fù)載量開始依次增加用戶量盟猖,從而找到系統(tǒng)的爆破點(diǎn)讨衣。
Volumes Test:容量測試-系統(tǒng)的用戶量不變,通過增加系統(tǒng)后臺的數(shù)據(jù)量從而觀察系統(tǒng)運(yùn)行的各項性能指標(biāo)。