軟件的靜態測試和動態測試【軟件測試分類】

                                     軟件的靜態測試和動態測試


軟件測試一般分爲靜態測試和動態測試



1.靜態測試



靜態測試時指測試程序不在機器上運行,而是採用人工檢測和計算機輔助靜態分析的手段對程序進行檢測。靜態分析中進行人工測試的主要方法有桌前檢查(Desk Checking)、代碼審查和代碼走查。經驗表明,使用這種方法能夠有效發現30%-70%的邏輯錯誤。
值得說明的是,使用靜態測試的方法也可以實現白盒測試。例如:使用人工檢查代碼的方法來檢查代碼的邏輯問題,也屬於白盒測試範疇。



2.動態測試



動態測試是指通過運行程序發現錯誤,分爲黑盒測試法、白盒測試法和灰盒測試法。不管是哪一種測試,都不能做到窮盡測試,只能選取少量最有代表性的輸入數據,期望用較少的代價暴露較多程序的錯誤。這些被選取出來的數據就是測試用例(一個完整的測試用例應該包含數據和期望的輸出結果)。
(1)黑盒法。把被測對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件的接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求。因此,黑盒測試又稱爲功能測試或數據驅動測試。常用的黑盒測試用例的設計方法有等價劃分、邊值分析、錯誤猜測、因果圖和功能圖等。
(2)白盒法。把測試對象看做一個打開的盒子,測試人員瞭解程序的內部結構和處理過程,以檢查處理過程的細節爲基礎,對程序中儘可能多的邏輯路徑進行測試,檢查內部控制結構和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。由於白盒測試是結構測試,所以被測對象基本上是源程序,以程序的內部邏輯爲基礎設計測試用例。常用的白盒測試用例設計方法有基本路徑測試、循環覆蓋測試、邏輯覆蓋測試。
(3)灰盒法。灰盒測試是一種介於白盒測試與黑盒測試之間的測試,它關注輸出對於輸入的正確性。同時也關注內部表現,但這種關注不像白盒測試那樣詳細且完整,而只通過一些表徵性的現象、事件及標誌來判斷程序內部的運行狀態。

發佈了45 篇原創文章 · 獲贊 19 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章