https://blog.csdn.net/weixin_30412167/article/details/99594504
一、分類
測試分為:
>>> 1. 靜態測試:
? ? ? ? ? ? ? ? ? ? ? ? ·?白盒測試
? ? ? ? ? ? ? ? ? ? ? ? · 灰盒測試
? ? ? ? ? ? ? ? ? ? ? ? · 黑盒測試
>>> 2. 動態測試
靜態測試:?通過審閱文檔,走查代碼等手段,不運行應用程序的方式測試。
動態測試:需要運行應用程序,通過像單元測試,集成測試,系統測試等測試方法運行的測試。
白盒測試:測試代碼申明或者邏輯路徑的過程,保證每個語句或者路徑都至少執行一次,所以白盒測試也叫邏輯路徑測試或者結構測試,主要包括語句覆蓋測試,條件測試,路徑測試三種方式。比較典型的代表就是單元測試。
黑盒測試:把被測軟件當成一個密閉的盒子,看不到里面的邏輯組成部分。通過功能測試,集成測試,系統測試,驗收測試等方法對軟件進行測試。
灰盒測試:灰盒測試介于白盒和黑盒測試之間的一種測試,需要測試人員有一些代碼邏輯的基礎知識,比較典型的代表就是接口測試:API測試,它又有另外一種叫法,叫做半透明測試。
二、階段
如果我們將測試和項目生命周期對比起來可以發現測試包含以下幾個階段:
單元測試:?單元測試中我們一般會用到模擬器(Driver)和樁(Stub)。
? ? ? ? ? ? ? ? 其中模擬器可以看成是被測模塊的上游組件,通過模擬器和數據驅動被測模塊的運行。
? ? ? ? ? ? ? ? ?樁可以看成是被測模塊(系統)的外圍組件,比如文件系統,日志系統,郵件系統等。通過對這些外圍系統的模擬來確保被測模塊的完整性。
集成測試:?集成測試可以分為兩種,增量和非增量。其中有父子關系的我們會用增量式的集成測試,其中有從上至下和從下至上。
? ? ? ? ? ? ? ? ?其中父子關系不明確的我們一般會用非增量式的集成測試方式,這種也叫爆破式的測試方式。這種方法測試速度快,但是出現問題很難定位。
系統測試:?系統測試我們又叫產品測試或者端到端的測試。
驗收測試:?驗收測試一般用來判斷產品是否滿足客戶需求,可以分為Alpha測試或者Beta測試。其中Alpha測試是用戶在開發的環境來執行但是會有測試和開發團隊協助,在Beta測試之前。
? ? ? ? ? ? ? ??Beta測試是在真實的線上環境沒有測試和開發的參與,用戶自己完成的一項測試。一般在產品即將推出市場的時候進行。
三、類型
接著我們一起來探討下常見的幾種不同類型的測試:
Smoke testing:?冒煙測試又叫預測試,一般用來判斷產品是否可以正式開始測試。不需要做很深入的測試,像測試下界面按鈕或者超鏈接是否起作用等等。
Compatibility testing:?兼容性測試,一般會由客戶提需求,根據客戶的需求在不同的系統(Window,IOS,Linux...)或者不同的瀏覽器(IE,Chrome,Safari...)上所進行的測試。
Usability testing:?易用行測試一般用來測試軟件可用性以及人的主觀情緒等,例如是否支持全鍵盤操作,是否支持殘障人士的使用等。
Performance testing:?性能測試用來測試軟件的吞吐量或者相應時間,CPU或者Memory利用率等指標。可以分為以下幾種:
Load?Test:負載測試-單位時間內對被測系統增加一定的用戶量,觀察系統在穩定運行期間的各項性能指標。
Stess Test:?壓力測試-從系統的最大負載量開始依次增加用戶量,從而找到系統的爆破點。
Volumes Test:容量測試-系統的用戶量不變,通過增加系統后臺的數據量從而觀察系統運行的各項性能指標。