第一章、軟體測試概述
文章目錄
-
- 第一章、軟體測試概述
- 前言
- 1.1 軟體測試的發展
- 1.2 軟體可靠性
- 1.3 軟體缺陷
- 1.4 軟體測試的定義與原則
- 1.5 軟體測試與軟體開發
前言
由于這節課自己沒買課本,在圖書館借了一本相關的書籍來看,是以順帶記錄一些幹貨知識點。主要講解軟體缺陷的定義以及軟體測試的基礎理論等等
1.1 軟體測試的發展
軟體測試是伴随着軟體的産生而産生的,目的是糾正軟體中已知的故障。
下面是軟體測試發展的大概時間線:
- 1957年,作為一種軟體缺陷的測試活動,軟體測試開始與調試差別開來
- 20世紀80年代初,軟體與IT行業進入了大發展階段,軟體趨向大量化,軟體品質也是以越來越重要了
- 20世紀90年代,自動化測試工具開始盛行
- 21世紀初,軟體測試越來越被人們接收,甚至倡導“軟體開發活動應該以測試為主導的思想”
1.2 軟體可靠性
(1)定義:是指軟體産品在規定的條件下和規定的時間區間完成規定功能的能力。
- 規定的條件:比如軟體運作時的外部輸入條件
- 規定的時間區間:指軟體運作的實際時間
- 規定的功能:指軟體産品所提供的服務
(2)影響軟體可靠性的因素:
- 可能軟體自身存在缺陷或者差錯
- 系統的輸入以及使用也有一定影響
(3)更加明确的定義:
- 在規定條件,規定的時間内,軟體不引起系統失效的機率
1.3 軟體缺陷
當我們的軟體規模越來越大、複雜度越來越高時,軟體就會存在各種各樣的問題,這時候就需要通過軟體測試要發現問題,并且讓問題得以解決
(1)軟體缺陷案例:
- 360存在嚴重後果缺陷導緻系統崩潰
電腦中了木馬,使用360安全衛士查出一個名為Backdoor/Win32.Agent.cgg的木馬,檔案位置為C:\Windows\system32\shdocvw.dll。進行清理後看不到Windows工作列和桌面圖示,根本進不去桌面,手工運作Explorer.exe也是一閃就關,後來查明是由于360在處理此木馬時存在嚴重缺陷。360安全衛士隻是簡單的删除了木馬檔案,沒有進行相關的善後處理工作,緻使系統關鍵程序Explorer.exe無法加載。
- 消失在太空
在制造其火星氣候軌道探測器時,一個NASA的工程小組使用的是英制機關,而不是預定的公制機關。這會造成探測器的推進器無法正常運作。正是因為這個 Bug,1999年探測器從距離火星表面130英尺的高度垂直墜毀。此項工程成本耗費3.27億美元,這還不包括損失的時間(該探測器從發射到抵達火星将近一年時間。)
由上面兩個簡單的案例可想而知,軟體缺陷帶了的危害是非常大的!那什麼才算是軟體缺陷呢?
(2)軟體缺陷定義:
軟體缺陷通常被我們叫做Bug哈哈哈~~~,專業來說,就是指計算機或者程式中存在某種破壞正常運作能力的問題、錯誤、或者隐藏的功能缺陷。而這些缺陷會導緻軟體産品在某種程度上不能滿足使用者的需求
從産品内部看:缺陷是軟體産品在開發和運維過程中存在的錯誤、毛病等等
從産品内部看:缺陷是系統所需要實作的某種功能的失效或違背
主要展現在以下幾個方面:
- 軟體沒有實作産品規格說明書所要求的功能子產品
- 出現了産品規格說明書中指明不應該出現的錯誤
- 實作了産品規格說明書中沒有提到的子產品
- 軟體難以了解,不易使用
1.4 軟體測試的定義與原則
(1)測試原則
- 測試顯示bug的存在
- 窮舉測試不可能
- 盡早測試
- 缺陷群:即28定律(80%的問題被發現在20%的系統子產品中)
- 軟體測試是有風險的行為
- 盡可能提供預測的測試結果
1.5 軟體測試與軟體開發
(1)軟體開發各個階段對應的測試任務
軟體開發 | 軟體測試 |
---|---|
需求分析階段 | 測試人員充分發揮能動性,主動熟悉業務 |
設計階段 | 根據設計文檔明确系統設計需求,完善系統測試用例和資料 |
實作階段 | 以開發人員為主,測試人員為輔 |
測試階段 | 進行缺陷跟蹤管理,送出測試總結報告 |
運作維護階段 | 開發人員對系統進行相應的修改,測試人員對修改後的系統進行回歸測試 |