軟體測試入門
阿新 • • 發佈:2018-12-18
問題
需要學什麼?軟體測試的含義?測試物件?測試遵循的準則?測試分類,分類的區別?何時開始測試?測試方案如何設計?測試流程?如何提Bug?如何寫報告?為什麼要做自動化測試,怎麼做?
定義
早期定義
軟體測試是對程式能夠按預期執行建立起一種信心。(Bill Hetzel,1973)
經典定義
測試是為發現錯誤而執行程式的過程(Myers,1979)
IEEE定義(ISO/IEC/IEEE 29119)
使用人工或自動的手段來執行或測量軟體系統的過程,以檢驗軟體系統是否滿足規定的要求,並找出於預期結果之間的差異。
測試物件
僅僅是程式本身?答案是NO,測試物件應該是整個軟體生命週期的方方面面!包括軟體概要設計、詳細設計、執行環境、
程式本身、需求、原始碼等等。
要素和目標
質量、人員、資源、流程、技術(要素)
最核心的是軟體質量,其他是為質量服務。人是決定因素,技術是手段,流程即規範性,資源即測試的環境、測試資料等。
測試覆蓋率和測試效率(目標)
原則
1、測試顯示缺陷的存在,但不能證明系統不存在缺陷。
2、窮盡測試不可能的,應設定即時終止的條件
3、測試應儘早進行
4、缺陷具備群集特性(發現多的模組,要注意)
5、殺蟲劑悖論(因此測試方法要定期修改,發現更多的問題)
6、測試二八原則(80%的時間用在20%的重點模組,達到最佳效率)
7、測試活動依賴於測試背景