軟件測試的定義:
使用人工或自動手段,來運行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
軟件測試的目的:
- 測試是程序的執行過程,目的在於發現錯誤
- 一個成功的測試用例在於發現至今未發現的錯誤
- 一個成功的測試是發現了至今未發現的錯誤的測試
- 確保產品完成了它所承諾或公布的功能,並且用戶可以訪問到的功能都有明確的書面說明。
- 確保產品滿足性能和效率的要求
- 確保產品是健壯的和適應用戶環境的
軟件測試的原則:
1.測試證明軟件存在缺陷:無論執行怎樣的測試操作都不能證明當前軟件是有缺陷的。
2.不能執行窮盡測試:有些功能是無法將所有的測試情況都羅列出來,所以任何的操作都有結束的時間。
3.缺陷存在群集現象:對於軟件功能來說,【28理論】核心功能只占20%,非核心內容占80%,在實際工作當中,我們會集中測試20%的核心內容,所以這個部分發現錯誤的幾率會大於80%,因此我們就會遇到缺陷都集中在這20%功能模塊里的現象。
4.某些測試需要依賴特殊的環境:eg:電池的適應溫度,天氣環境
5.測試應該盡早介入:為了更多的發現和更好的解決軟件中的缺陷,我們追求測試工作盡早的開展。
6.殺蟲劑現象:同樣的一個測試用例不能重復使用多次,因為軟件會產生免疫。
7.不存在缺陷謬論:任何軟件不可能是完美的。