軟體測試按測試方法分:靜態測試、動態測試、白盒測試、黑盒測試、灰盒測試
1.靜態測試
測試不執行的部分,只是檢查和審查,比如,檢查車子的輪胎。
1.1靜態測試的方式:
互審、走查、會議
2.動態測試
通用意義上的測試,使用和執行軟體,比如,開車上路。
3.白盒測試
可以訪問程式**,通過檢查**協助測試,測試員通過檢查**判斷出或多或少可能出錯的數目,並據此定製測試。
3.1白盒測試的主要邏輯覆蓋:
語句覆蓋、條件覆蓋、條件組合覆蓋、分支覆蓋、路徑覆蓋
3.2白盒測試的優點:
①迫使測試人員去仔細思考軟體的實現,理解原理;
②可以檢測**中的每條分支和路徑;
③提示隱藏在**中的錯誤;
④對**的測試比較徹底。
3.3白盒測試的缺點:
①昂貴;
②無法檢測**中遺漏的路徑和資料敏感性錯誤;
③不能直接驗證需求的正確性。
3.4白盒測試的主要方法:
**檢測法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法
4.黑盒測試
即功能性測試,只需要知道軟體要做什麼,不需要知道軟體是怎麼執行的。只要進行一些輸入,就能得到某種輸出結果。
4.1黑盒測試可以發現的錯誤有:
①是否有不正確或遺漏的功能;
②在介面上,輸入是否正確的接受,能否輸出正確的結果;
③是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤;
④效能上是否能夠滿足要求。
⑤初始化和終止錯誤。
4.2黑盒測試用例主要使用的方法有:
等價類劃分法、邊界值法、判定表法、因果圖法、場景法、錯誤推斷法、正交實驗分析法、狀態圖法、流程分析法
4.3黑盒測試的優點:
①容易實施,不需要關注內部的實現;
②更貼近使用者的使用角度。
4.4黑盒測試的缺點:
①測試覆蓋率較低;
②針對黑盒的自動化測試,復用率較低,維護成本較高。
5.灰盒測試
介於黑、白盒測試之間的,關注輸出對於輸入的正確性,同時也關注內部表現。
6.靜態黑盒測試
檢查產品說明書,並在軟體編寫之前找出問題。
7.動態黑盒測試
不深入**細節測試軟體的方法,測試員輸入資料、接受輸出、檢驗結果。
7.1測試軟體有兩種基本方法:
通過性測試和失效性測試
7.2通過性測試:實際上是確認軟體至少能做什麼,而不會考驗其能力。軟體測試員並不需要想盡辦法讓軟體奔潰,僅僅運用最簡單、最直觀的測試用例。
7.3失效性測試:確信軟體在普通情況下能正確執行後,採用各種手段搞垮軟體來找出軟體缺陷,純粹是為了破壞軟體而設計和執行的測試用例。
8.靜態白盒測試
在不執行軟體的條件下有條理的仔細審查軟體設計、體系結構和**,從而找出軟體缺陷的過程,有時稱為結構化分析。
8.1正式審查
進行靜態白盒測試的過程。
8.2正式審查有4個基本要素:
確定問題、遵守規則、準備、編寫報告。
8.3正式審查的間接效果:
交流、質量、小組同志化、解決方案。
8.4同事審查:召集小組成員進行初次正式審查的最簡單方法
8.5走查:比同事審查更正規化的下一步
8.6檢驗:最正式的審查型別,具有高度組織化,要求每乙個參與者都接受訓練
8.7檢驗與同事審查和走查的不同在於表述**的表述者不是原來的程式設計師,這就迫使表述者學習和了解要表述的材料,從而有可能在檢驗會議上提出不同的看法和解釋
8.8編碼標準和規範:**雖然可以正常執行,但是不符合語言的語法和文法規則。
8.9堅持編碼標準和規範的3個重要原因:
可靠性、可讀/維護性、移植性。
8.10通用**審查清單:
資料引用錯誤、資料宣告錯誤、計算錯誤、控制流程錯誤、子程式引數錯誤、輸入/輸出錯誤、其他檢查。
9.動態白盒測試
利用檢視**功能(做什麼)和實現方式(怎麼做)得到的資訊來確定哪些需要測試、哪些不需要測試、如何開展測試,程式設計師可以檢視並使用**內部的結構,從而設計和執行測試。
9.1動態白盒測試包括:
①直接測試底層函式、過程、子程式和庫;
②以完整程式的方式從頂層測試軟體,但是根據對軟體執行的了解調整測試用例;
③從軟體獲得讀取變數和狀態資訊的訪問權,以便確定測試與預期結果是否相符,同時,強制軟體以正常測試難以實現的方式執行;
④估算執行測試用例時」命中「的**量和具體**,然後調整測試,去掉多餘的測試用例,補充遺漏的用例。
9.2動態白盒測試和除錯的區別
動態白盒測試:目標是尋找軟體缺陷;
除錯:目標是修復軟體缺陷。
軟體測試 軟體測試方法分類
目錄 軟體測試方法分類 一 從是否關心內部結構來看 1.白盒測試 2.黑盒測試 3.灰盒測試 二 從是否執行 看 1.靜態測試 2.動態測試 三 從開發過程級別看 1.單元測試 2.整合測試 3.系統測試 4.驗收測試 四 從執行過程是否需要人工干預來看 1.手工測試 2.自動化測試 五 從測試實施...
軟體測試之 軟體測試方法
1 介紹測試方法 2 區分黑盒測試 灰盒測試和白盒測試 邏輯覆蓋測試 3 區分靜態測試 控制流分析 資料流分析 資訊流分析 同行評審 和動態測試 動態測試工具 4 了解手工測試和自動化測試。在介紹以上軟體測試方法時,需要先了解軟體產品的概念,軟體研發過程中產生的所有文件和 都可以稱之為軟體產品,同時...
軟體測試方法
測試的本質,就是 想盡一切辦法尋找軟體的缺陷!測試是乙個貫穿於整個開發過程的連續過程,從某個意義上說,軟體開發的過程實際上就是測試過程,測試最基本的原理就是比較預期結果是否與實際執行結果相同,如果相同則測試成功,否則測試失敗。測試的工作模式 1 編寫和維護一套詳盡的單元測試用例 2 先構造單元測試和...