1. 程式人生 > >軟體測試入門

軟體測試入門

問題

需要學什麼?軟體測試的含義?測試物件?測試遵循的準則?測試分類,分類的區別?何時開始測試?測試方案如何設計?測試流程?如何提Bug?如何寫報告?為什麼要做自動化測試,怎麼做?

定義

早期定義

軟體測試是對程式能夠按預期執行建立起一種信心。(Bill  Hetzel,1973)

經典定義

測試是為發現錯誤而執行程式的過程(Myers,1979)

IEEE定義(ISO/IEC/IEEE 29119)

使用人工或自動的手段來執行或測量軟體系統的過程,以檢驗軟體系統是否滿足規定的要求,並找出於預期結果之間的差異

測試物件

僅僅是程式本身?答案是NO,測試物件應該是整個軟體生命週期的方方面面!包括軟體概要設計、詳細設計、執行環境、

程式本身、需求、原始碼等等。

要素和目標

質量、人員、資源、流程、技術(要素

最核心的是軟體質量,其他是為質量服務。人是決定因素,技術是手段,流程即規範性,資源即測試的環境、測試資料等。

測試覆蓋率和測試效率(目標

原則

1、測試顯示缺陷的存在,但不能證明系統不存在缺陷。

2、窮盡測試不可能的,應設定即時終止的條件

3、測試應儘早進行

4、缺陷具備群集特性(發現多的模組,要注意)

5、殺蟲劑悖論(因此測試方法要定期修改,發現更多的問題)

6、測試二八原則(80%的時間用在20%的重點模組,達到最佳效率)

7、測試活動依賴於測試背景