目前大多的測試理論都是針對軟體測試而發展出來的,但我們依然可以借鏡在韌體或軟硬體系統整合測試上。
依測試特性分類
- 白箱測試 (White Box testing): 直接在Source Code上進行修改、測試,測試人員必需對產品的內部結構及語言有深入了解。
- 黑箱測試 (Black Box testing): 測試人員不必了解產品內部設計,而是站在End User的角度從外部根據規格說明書來測試各項功項,ex. 功能測試。
- 灰箱測試 (Gray box testing) : 介於上述兩者之間。
- 靜態測試 (Static Testing): 不執行受測軟體,僅檢視程式碼或審查文件糾錯。
- 動態測試 (Dynamic Testing): 直接執行受測軟體測試。
依開發過程分類
- 單元測試 (Unit testing): 通常由開發人員自行在開發階段對軟體中的程式組成單元進行編測。
- 整合測試 (Integration testing): 將程式單元按設計功能劃分成模組,針對模組本身功能及模組間的介面測試,屬白箱測試。
- 系統測試 (System testing): 完成整合測試後,將所有部份組成一個完整的系統,並測試該系統是否能符合規格說明書的規範,屬黑箱測試且由測試部門執行。
- 廻歸測試 (Regression testing): 驗證Bug是否有被修復,及確保修改後重新發行的版本品質,由測試人員完成。
依不同要求分類
- 冒煙測試 (Smoke testing): 只針對"重要功能",僅覆蓋小範圍的基本測試。
- 健全測試 (Sanity testing): 跟冒煙測試類似,都是屬於比較粗略的測試,但兩者的差異在於冒煙測試發生在開發階段 (Build),而健全測試則發生在廻歸測試階段,可視為範圍比較窄的廻歸測試。
- 基準測試 (Benchmark testing): 將同一組程式放在不同的Config (包含硬體或軟體) 下測試,比較其性能差異。
依產品特性分類
- 功能測試 (Functional testing): 功能測試的目的,在於驗證系統是否能達到規格說明書上所載的功能及其標準,ex. 流程測試。
- 非功能測試 (Non-functional testing) 的範圍廣而雜,通常包含以下的項目:
- 相容性測試 (Compatibility Testing): 系統在不同Config下的是否能正常運作。
- 安全測試 (Security testing): 檢驗系統對於內外部侵入時的自我保護能力。
- 壓力測試 (Stress testing): 在單位時間內或長時間對系統進行超負荷測試。
- 容量測試 (Volume testing): 以大量資料對系統進行超負荷測試。
- 負面測試 (Negative testing): 進行破壞性的操作找出系統的缺陷。
- 恢復測試 (Recovery testing): 檢驗系統在故障發生後自我修復的能力。
- 效能測試 (Performance testing): 在正常環境下,驗證系統重複使用時是否能滿足效能指標。
- 使用者測試 (Usability testing): 透過使用者體驗,評估系統的可用性,通常是指UI介面。
- 安裝移除測試 (Installation testing)
沒有留言:
張貼留言