測試的分類
按測試階段劃分
測試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上,包括功能點名稱,重制方法,結果描述或截圖)、寫過單元測試