- 什麼是軟件?
在開發的角度: 軟件=數據結構+算法
從測試的角度: 軟件=程序+文檔
所以軟件測試的對象是什麼?
程序和文檔都要測試
拓展內容:
軟件開發分爲哪幾個階段?
- 需求分析階段
由需求分析人員完成
產出物:需求規格說明書
2)設計階段
由系統架構師(系統分析師)完成
產出物:概要設計說明書和詳細設計說明書
3)編碼階段
由開發人員
產出物:程序
問題:哪個階段產生的bug最多?哪個階段產生的bug最少?
產生bug最多的階段是需求分析階段,大約佔總缺陷的55%左右,
其次就是設計階段,大約佔總缺陷的25%左右,最少的就是編碼階段
大約佔總缺陷的15%,還有約5%的缺陷來自於配置或者是兼容性的問題。
得出的結論:
- 軟件測試不能只測程序,還要測文檔
- 測試工作應該儘早介入,項並且應該貫穿整個目的始終
從上面我們可以得出兩個原則:儘早測試原則和不斷測試原則
- 如何定義軟件缺陷(什麼樣的情況纔算是軟件缺陷)
凡是符合以下條件都屬於軟件缺陷:
- 需求中要求要實現的功能沒有實現
- 實現了需求中沒有要求的功能(畫蛇添足)
- 軟件中出現了指明不應該出現的錯誤
- 需求雖然沒有明確說明,但是應該實現的功能沒有實現
說明:需求並不是完美,有可能遺漏,所以測試人員不能夠因爲需求的
錯誤而造成測試的錯誤
- 程序運行緩慢,不宜於操作,要站在用戶的角度上,一切不好的地方都是缺陷
根據美國電子和電器協會對軟件缺陷的定義:
- 從軟件產品的內部看
要求測試人員對專業技能比較高,(白盒)
- 從軟件產品的外部看
要求測試人員對專業技能不高,只要懂得操作軟件的功能即可(黑盒)
- 軟件測試(Test)
什麼是軟件測試?
簡單來說,從現有的軟件中,我們儘可能多的查找軟件缺陷的過程。
說明:軟件測試強調的是查找軟件缺陷的過程,與有沒有找到bug結果無關
- 軟件測試的基本步驟(簡單、部分步驟)
設計、編寫《測試用例》-->執行測試-->記錄測試結果,將預期結果和實際的結果進行對比,如果發現結果不一致,發現bug-->編寫一個《缺陷報告》:記錄缺陷,提交給開發人員進行修復