1. 程式人生 > >軟體測試-----測試分類

軟體測試-----測試分類

軟體測試分類

在這裡插入圖片描述

按開發階段分類

單元測試

元測試需要從程式內部結構出發設計測試用例。

又稱模組測試,針對軟體設計中的最小單位-程式碼段,程式模組等,進行正確性檢查的測試工作。

單元定義,如:C中指一個函式;Java中指一個類。

整合測試

又叫組裝測試,通常在單元測試的基礎上,將所有單元測試通過的程式模組進行有序的、遞增的測試。 重點測試不同模組的介面部分。

系統測試

系統測試是將整個軟體系統看為一個整體進行測試,包括對功能、效能、以及軟體所執行的軟硬體環境進行測試。 系統測試在系統整合完畢後進行測試,前期主要測試系統的功能是否滿足需求,後期主要測試系統執行的效能是否滿足需求,以及系統在不同的軟硬體環境中的相容性等。

驗收測試

軟體正式版本推出之前的幾個版本, 需要有人測試一下, 看看是不是有問題。

在開發該軟體的公司內部的由該公司內部人員測試的稱為: Alpha測試,主要看有沒有功能缺失或系統錯誤。然後把軟體拿給使用者測試,稱為: beta測試, 主要是看使用者對軟體外觀、使用方便等的反應。

**目的:**這麼多的測試版一方面為了最終產品儘可能地滿足使用者的需要, 另一方面也儘量減少了軟體中的bug。

簡單來說,阿爾法測試主要是測試人員在開發環境下的測試,貝塔測試是主要使用者主要參與在實際環境中的測試

α測試

Alpha測試是內部驗收測試(內測)版本
不會對使用者發放的測試版本,一般而言, 該版本軟體的bug 較多, 普通使用者最好不要安裝。

β測試

Beta測試是外部驗收測(公測)版本,
是對使用者開放的測試版本,相對於α 版改進消除了嚴重的錯誤,較少的遺留問題,需要大規模釋出使其顯現,消除。

按是否檢視原始碼(內部實現)

黑盒測試

黑盒測試又稱資料驅動測試。完全不考慮程式內部結構和程式碼實現,測試軟體的功能需求,只關心軟體的輸入資料和輸出資料。

黑盒測試的優點:

沒有程式設計經驗的人也可以設計測試用例;

黑盒測試用例設計與程式如何實現無關;

參考需求分析的結果,從使用者的角度進行測試,很容易被接受和理解,並且能暴露與規格歧義的地方;

黑盒測試的缺點:

不能測試程式內部特定部位;

如果程式未執行的程式碼無法發現;

不可能做到窮舉測試

白盒測試

白盒測試又稱邏輯驅動測試。是把功能外的盒子開啟,去測試裡面的原始碼,重點關注程式邏輯對不對。

在軟體公司,往往採用黑盒測試&白盒測試相結合的方式。

軟體的整體功能和效能進行黑盒測試
軟體的原始碼採用白盒測試

灰盒測試

  • 灰盒測試,是介於白盒測試與黑盒測試之間的一種測試。
  • 灰盒測試多用於整合測試階段,不僅關注輸出、輸入的正確性,同時也關注程式內部的情況。
  • 灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程式的內部邏輯。 常常是通過一些資料的現象、事件、標誌來判斷內部的執行狀態。

按是否執行分類

靜態測試

指不實際執行被測軟體,而只是靜態地檢查程式程式碼、介面或文件中可能存在的錯誤過程。

動態測試

是指實際執行被測程式,輸入相應的測試資料,檢查實際輸出結果和預期結果是否相符的過程。

其他分類

冒煙測試

指在對一個新版本進行系統大規模的測試之前,先驗證一下軟體的基本功能是否實現,是否具備可測性。

迴歸測試

  • 軟體迴歸:迴歸測試是指在發生修改之後重新測試先前的測試以保證修改的正確性
  • 缺陷迴歸:開發人員修復測試人員提交的缺陷之後測試人員進行迴歸測試,確認缺陷是否被成功修復

隨機測試(探索性測試)

隨機測試主要是對被測軟體的一些重要功能進行復測,也包括測試那些當前的測試用例沒有覆蓋到的部分。另外,對於軟體更新和新增加的功能要重點測試。重點對一些特殊點情況點、特殊的使用環境、併發性、進行檢查。尤其對以前測試發現的重大Bug,進行再次測試,可以結合迴歸測試一起進行。

功能測試
是黑盒測試的一方面,它檢查實際軟體的功能是否符合使用者的需求。

功能,介面,易用,安裝,相容

功能測試
介面測試
易用性測試
安裝測試
相容性測試
效能測試

是軟體測試的高階領域,效能測試工程師的待遇和白盒測試工程師不相上下,通常我們所說的高階軟體測試工程師一般就是指效能測試或是白盒測試工程師。

 - 時間效能(事務響應時間等) 

 - 空間效能(系統資源消耗)
  • 一般效能測試:系統的效能標準線 穩定性測試:長時間持續執行是否出現問題
  • 負載測試:通過負載測試來確定在各種工作負載下,系統各項效能指標的變化情況。
  • 壓力測試:通過確定一個系統的瓶頸或者剛好不能接受的效能點,來獲得系統能夠提供的最大服務級別。