天天看點

軟體測試相關知識點

測試的分類

按測試階段劃分

測試V模型

按測試實施的組織劃分

開發方測試、使用者測試、第三方測試

按測試方法、技術劃分

白盒、黑盒、灰盒

靜态(不運作代碼,包括會議記錄,代碼,開發文檔檢查等)、動态(運作代碼)

手工、自動化

性能測試、相容性測試、易用性測試等等

黑盒、白盒、灰盒測試

黑盒測試:軟體測試人員不知道軟體内部是如何實作的,隻知道實作的功能,也有些稱為功能測試或行為測試。

白盒測試:測試人員知道如拿進内部的實作,也稱為透明盒測試或開盒測試

灰盒測試:是黑盒測試和白盒測試的有機結合。測試人員研究需求規約,然後與開發人員溝通并了解系統的内部結構。目的是整理一些不明确的需求規約,掌握程式的邏輯以設計深層次的測試用例,更多的情況下是減少測試工作量,提高測試效率

1、白盒測試方法:語句覆寫、分支覆寫、條件覆寫、分支-條件覆寫、條件組合覆寫、路徑覆寫

語句覆寫:每個可執行的語句至少執行一次(優點:簡單;缺點:對于隐藏添加和細節條件無法測試)

分支覆寫:每個判斷的取真分支和取假分支至少經曆一次(優點:簡單;缺點:忽略每個條件的取值情況)

條件覆寫:每個判斷中每個條件的可能取值至少滿足一次(優點:增加了對判斷中每個條件的測試;缺點:條件覆寫不一定包含分支覆寫)

分支-條件覆寫:判斷條件中的所有條件的可能取值至少執行一次,同時,所有判斷的可能結果至少執行一次(優點:能同時滿足分支、條件兩種覆寫;缺點:未考慮條件的組合情況)

條件組合:所有可能的條件取值組合至少執行一次(優點:條件組合覆寫準則滿足判定覆寫、條件覆寫和判定/條件覆寫準則;缺點:線性地增加了測試用例的數量)

路徑覆寫:覆寫程式中的所有可能的執行路徑

2、黑盒測試方法:等價類劃分法、邊界值分析法、因果圖法、場景法

軟體生命周期:1投标、立項 2需求分析 3設計4編碼 5測試 6釋出 7維護 8退役

軟體測試原則:    

1.完全測試不可能

2.軟體測試是有風險的 

3.測試無法顯示潛伏的軟體缺陷

4.找到的軟體缺陷越多,說明未發現的軟體缺陷也越多 

5.殺蟲劑怪現象

6.并非所有的軟體缺陷都能修複 

7.難以說清的軟體缺陷 

8.産品說明書不斷變化

9.軟體測試人員在産品小組中不易受歡迎 

10.避免測試的随意性

3、軟體缺陷術語:錯誤,缺陷,失效,事故

一種解釋

錯誤(error):人類會犯錯誤。

缺陷(fault):缺陷是錯誤的結果。( bug )

失效(failure):當缺陷執行時會發生失效

事故(incident):當出現失效時,給使用者造成不同程度的損失。

錯誤:在整個軟體生命周期不希望或不能接受的人為錯誤,其結果是導緻軟體缺陷的産生。相對于軟體本身是一種外部行為。 

缺陷:軟體缺陷是存在于軟體(程式/資料/文檔 )之中的那些不希望或不可接受的偏差(如少一個逗點/多一個語句)。其結果是軟體運作于某一個特定條件時出現軟體故障,這是稱軟體缺陷被激活。(bug ) 

失效:是指軟體運作過程中出現的一種不希望或不可接受的外部行為結果。 

事故:當出現失效時,給使用者造成不同程度的損失。 

4、軟體測試V模型

需求分析  驗收測試設計 -->驗收測試

概要設計  系統測試設計 -->系統測試

詳細設計 內建測試設計-->內建測試

編碼      單元測試設計 -->單元測試

5、verification按照說明書了,validation不但按照說明書,而且符合使用者需求和習慣等

軟體可靠和軟體品質高:可靠性隻是軟體品質的一個方面

5、我項目中做過的關于測試方面的工作有:軟體測試計劃(包括測試流程圖(泳道圖)、每個功能點都有一個測試表(包括:測試目标,方法,完成标準,需考慮的特殊事項)、測試報告(出現的問題記錄在bugfree上,包括功能點名稱,重制方法,結果描述或截圖)、寫過單元測試