1. 程式人生 > >軟體測試分類及測試中三個主要概念

軟體測試分類及測試中三個主要概念

軟體測試分類:

按測試技術,軟體測試可分為:黑盒測試、白盒測試、灰盒測試

黑盒測試:在程式介面進行測試,它只是檢查程式功能是否按照規格說明書的規定正常使用。也被稱為功能測試或者資料驅動測試

白盒測試:要完全瞭解程式結構和處理過程,它按照程式內部邏輯測試程式,檢驗程式中每條通路是否按預定要求正確工作。也被稱為結構測試邏輯驅動測試

灰盒測試:介於黑盒測試與白盒測試之間的測試,既要像黑盒測試那樣關注輸出對於輸入的正確性,同時也關注內容表現,但這種關注不像白盒測試那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌判斷內部的執行狀態。

按測試方式,軟體測試可分為:靜態測試、動態測試

靜態測試:是指不執行程式,對程式和文件進行分析與檢查;靜態測試技術又稱為靜態分析技術。

動態測試:通過執行程式進行檢查、分析程式的執行狀態和程式邏輯的外部表現。

按測試階段,軟體測試可分為:單元測試、整合測試、系統測試、驗收測試

單元測試:單元測試是對軟體設計的最小單元——模組,進行正確性檢驗的測試工作。

目的:主要是測試模組在語法、格式和邏輯上的錯誤。

整合測試:整合測試也稱為組裝測試,整合測試按設計要求把通過單元測試的各個模組組裝在一起之後所進行的測試。

目的:檢查模組間的介面關係,以便發現與介面有關的各種錯誤

系統測試:系統測試是將已經整合好的軟體系統置於實際執行環境中所進行的測試。

目的:根據需求分析時確定的標準檢驗軟體是否滿足功能、行為、效能和系統協調性等方面的要求。

驗收測試:是軟體開發結束後,使用者對軟體產品投入實際應用前,進行的最後一次質量檢驗活動。它要回答開發的軟體產品是否符合預期的各種要求,以及使用者能否接受的問題。

目的:驗證軟體功能的正確性和需求的符合性。

按測試實施組織,軟體測試可分為:開發方測試、使用者方測試、第三方測試

開發方測試:開發方測試也稱內部測試(阿爾法測試),主要指在軟體開發完成後,開發方要對提交的軟體進行全面的自我檢查與驗證,驗證軟體的實現是否滿足軟體需求說明的要求。

使用者方測試:使用者方測試是在使用者的應用環境下,由使用者通過執行和使用軟體,驗證軟體實現是否符合自己期望的要求。由使用者找出軟體在應用中發現的問題與缺陷,並對使用質量進行評價。

第三方測試:第三方測試又稱為獨立測試,由在技術、管理和財務上和開發方相對獨立的組織進行的測試。軟體質量工程強調開展獨立的驗證和確認工作。

補充:按軟體質量特性分類:

功能測試、安全測試、效能測試、可靠性測試、壓力測試、安裝測試、使用者介面測試、相容性測試

軟體測試3個重要概念:測試用例、測試環境、軟體缺陷

測試用例

IEEE標準6101990)的定義:測試用例是一組測試輸入、執行條件和預期結果的集合。其目的是要滿足一個特定的目標,比如執行一條特定的程式路徑或檢驗是否符合一個特定的需求。

軟體測試環境:

軟體測試環境就是軟體執行的平臺,即軟體(軟體執行的作業系統)、硬體(PC、筆記本、伺服器相關外設)、網路(主要針對C/SB/S結構的軟體)和歷史資料(測試用例執行所需初始化的各項資料)的集合

軟體缺陷:常常又被叫做bug,即軟體中存在的某種破壞正常執行能力的問題、錯誤,或者隱藏的功能缺陷。

IEEE729-1983標準定義:

從產品內部來看:缺陷是軟體產品開發或維護過程中存在的錯誤、毛病等各種問題。

從產品外部看:缺陷是系統所需要實現的某種功能的失效或違背。

軟體缺陷產生的原因:軟體產品說明書(需求)56%、設計27%、編寫程式碼7%、其他10%

軟體缺陷在不同階段的修復費用

1、軟體從需求、設計、編碼、測試一直到交付使用者公開使用後的過程中,都可能產生和發現缺陷。

2、隨著時間的推移,修復缺陷的費用呈幾何級數增長

必須意識到:需求評審很重要;設計評審不可少;文件更新要及時;開發測試要思考。