1. 程式人生 > >關於幾種軟體測試分類的方法

關於幾種軟體測試分類的方法

1.從是否關心內部結構來看

(1).白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程式內部邏輯結構和編碼結構,設計測試資料並完成測試的一種測試方法。

(2)黑盒測試:又稱為資料驅動測試,把測試物件當做看不見的黑盒,在完全不考慮程式內部結構和處理過程的情況下,測試者僅依據程式功能的需求規範考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟體或程式的角度,從輸入資料與輸出資料的對應關係出發進行的測試。

(3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結合在一起,是基於程式執行時的外部表現又結合內部邏輯結構來設計用例,執行程式並採集路徑執行資訊和外部使用者介面結果的測試技術。

2.從是否執行程式碼看

(1)靜態測試:指不執行被測程式本身,僅通過分析或檢查源程式的語法、結構、過程、介面等來檢查程式的正確性。

(2)動態測試:是指通過執行被測程式,檢查執行結果與預期結果的差異,並分析執行效率、正確性和健壯性等效能指標。

3.從開發過程級別看

(1)單元測試:又稱模組測試,是針對軟體設計的最小單位----程式模組或功能模組,進行正確性檢驗的測試工作。其目的在於檢驗程式各模組是否存在各種差錯,是否能正確地實現了其功能,滿足其效能和介面要求。

(2)整合測試:又叫組裝測試或聯合,是單元測試的多級擴充套件,是在單元測試的基礎上進行的一種有序測試。旨在檢驗

軟體單元之間的介面關係,以期望通過測試發現各軟體單元介面之間存在的問題,最終把經過測試的單元組成符合設計要求的軟體。

(3)系統測試:是為判斷系統是否符合要求而對整合的軟、硬體系統進行的測試活動、它是將已經整合好的軟體系統,作為基於整個計算機系統的一個元素,與計算機硬體、外設、某些支援軟體、人員、資料等其他系統元素結合在一起,在實際執行環境下,對計算機系統進行一系列的組裝測試和確認測試。

在系統測試中,對於具體的測試型別有:

(1)功能測試:對軟體需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。

(2)效能測試:對軟體需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。

(3)介面測試:對軟體需求規格說明中的介面需求逐項進行的測試。

(4)人機互動介面測試:對所有人機互動介面提供的操作和顯示介面進行的測試,以檢驗是否滿足使用者的需求。

(5)強度測試:強制軟體執行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟體可以執行到何種程式的測試。

*(6)餘量測試:對軟體是否達到規格說明中要求的餘量的測試。

(7)安全性測試:檢驗軟體中已存在的安全性、安全保密性措施是否有效的測試,

(8)可靠性測試:在真實的或模擬的環境中,為做出軟體可靠性估計而對軟體進行的功能(其輸入覆蓋和環境覆蓋一般大於普通的功能測試)

(9)恢復性測試:對有恢復或重置功能的軟體的每一類導致恢復或重置的情況,逐一進行的測試。

(10)邊界測試:對軟體處在邊界或端點情況下執行狀態的測試。

(11)資料處理測試:對完成專門資料處理功能所進行的測試。

(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。

(13)容量測試:檢驗軟體的能力最高能達到什麼程度的測試。

(14)互操作性測試:為驗證不同軟體之間的互操作能力而進行的測試。

(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些資料的組合而進行的測試。

(16)標準符合性測試:驗證軟體與相關國家標準或規範(如軍用標準、國家標準、行業標準及國際標準)一致性的測試。

(17)相容性測試:驗證軟體在規定條件下與若干個實體共同使用或實現資料格式轉換時能滿足有關要求能力的測試。

(18)中文字地化測試:驗證軟體在不降低原有能力的條件下,處理中文能力的測試。

(4)驗收測試:又稱交付測試,是軟體在完成了單元測試、整合測試、系統測試之後,產品釋出之前進行的軟體測試活動。

4.從執行過程是否需要人工干預來看

(1)手工測試:就是測試人員按照事先為覆蓋被測軟體需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸 入執行,包括與被測軟體進行互動(如輸入測試資料、記錄測試結果等),然後觀察測試結果,看被測程式是否存在問題,或在執行過程中是否會有一場發生,屬於比較原始但是必須執行的一個步驟。

(2)自動化測試:實際上是將大量的重複性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程式設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程式自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程式按照人工指定的要求完成自動測試)

5.從測試實施組織看

(1)開發測試:開發人員進行的測試

(2)使用者測試:使用者方進行的測試

(3)第三方測試:有別於開發人員或使用者進行的測試,由專業的第三方承擔的測試,目的是為了保證測試工作的客觀性

6.從測試所處的環境看

(1)阿爾法測試:是由一個使用者在開發環境下進行的測試,也可以是公司內部的使用者在模擬實際操作環境下進行的測試

(2)貝塔測試:是使用者公司組織各方面的典型終端使用者在日常工作中實際使用貝塔版本,並要求使用者報告

異常情況,提出批評意見