軟體測試基礎理論

2021-10-04 04:37:10 字數 4351 閱讀 2965

軟體測試基礎理論(重點)

一、軟體的開發階段劃分

1、需求分析階段

由需求分析人員完成

《需求規格說明書》

2、概要設計階段

3、詳細設計階段

由系統架構師(分析師)完成

《概要設計說明書》、《詳細設計說明書》

4、編碼階段

由開發人員完成

程式問題:哪個階段產生的bug最多?哪個階段最少?

需求分析階段引入的bug最多,其次是設計階段,編碼階段引入的bug最少。

由此得出結論:測試時文件和程式都必須要測;測試工作應該要盡早介入,並且要貫穿整個開發周期始終(盡早測試原則,不斷測試原則)

二、軟體測試的階段劃分

說明:這四個階段中沒有涵蓋文件測試部分的內容。

1、單元測試

1)單元測試是最小的測試單位,通常1個方法(函式)、視窗、功能模組、類等都可以是乙個測試單元。

2)單元測試的主要依據是詳細設計文件。

3)單元測試階段主要採用白盒測試方法。(也有可能要輔助以黑盒測試的方法)

4)在企業的實際應用中,單元測試通常由程式設計師完成,這樣可以節省成本,但是測試質量得不到保證,所以企業通常會採用交換測試,兩輪測試(程式設計師1輪(白盒),測試人員第2輪(黑盒))的方式來加強單元測試的質量。

5)樁模組和驅動模組

在單元測試中,有可能要求測試者編寫「樁模組」和「驅動模組」

驅動模組-->被測模組-->樁模組

2、整合測試(組裝測試)

1)整合測試也叫組裝測試,是在單元測試的基礎上,將模組逐步組裝的測試過程。

2)在整合測試階段,功能模組要逐步組裝形成多個臨時版本。

3)整合測試階段參考概要設計文件

4)整合測試階段主要採用黑盒測試的測試方法,重點、難點、核心模組會輔助以白盒測試方法。

5)冒煙測試

當測試方拿到乙個新的軟體版本時,一般會先做「冒煙測試」(版本驗證測試):使用較少的測試人員(1-3人,經驗豐富),花費較少的時間(0.5-3天),對軟體版本中的核心功能進行測試(一般不寫用例),如果核心功能沒有問題,全組再展開全面測試;如果核心功能問題較多,版本不穩定,就將該版本軟體返回開發組。

6)整合測試階段,當測試組拿到乙個新的軟體版本後,工作的思路:

首先:冒煙測試--確認測試組是否接受測試該版本。

接下來:

返測--對於已修復的缺陷,進行測試--確認缺陷是否修復成功!

回歸測試--對於上乙個版本測過的功能,再測試一遍。

最後:該版本中新功能的測試。(但是有的版本是專門用來修復bug的,沒有新功能)

說明:在實際工作中,不一定工作思路中的內容都要做,要具體情況,具體分析。

3、系統測試

1)在功能全部完成後,對於整合了硬體和軟體的完整系統進行的模擬真實環境的全面測試。

2)系統測試階段的測試重點:(1)整個系統的正確性(2)系統的相容性

3)系統測試階段參考需求文件

4)系統測試階段採用黑盒測試方法

5)確認測試:在系統測試之前,一般會安排一次「確認測試」,主要確認:

(1)軟體是否可以進入全部的系統測試中。

(2)軟體的相關文件是否準備齊全(尤其是交付給使用者的和參與認證的)

說明:確認測試一般時間較短,參與人員較少,所以一般不把確認測試與單元、整合、系統、驗收測試所並列。

4、驗收測試  

uat:user acceptance testing 使用者接受度測試

1)驗收測試理論上是由使用者參與的軟體檢查過程。

2)驗收測試階段分成兩個小階段:

(1)alpha測試

在軟體公司的指定環境中(在軟體公司的指定環境中,會是軟體研發方對bug有更強的控制力),由使用者對軟體進行檢查。(一般經常由軟體公司替代使用者進行驗收,也有可能請第三方公司驗收。)

(2)beta測試

在使用者的實際環境中(此時軟體公司對缺陷的控制力明顯減弱),由終端使用者對軟體進行檢查的過程。

例如:公共類軟體的beta測試

公共類軟體(輸入法、qq、os等)將軟體免費發放給終端使用者,收集使用者在使用軟體中發現的問題(bug)。

三、軟體測試模型

1、軟體測試模型可以表明軟體的開發階段和測試階段(級別)的對應關係。測試模型有:v

模型,w

模型,h模型等

2、v模型(常見面試題)

1)會畫--v模型

2)v模型的優點和缺點

(a)優點:

(1)v模型中開發階段和測試階段(級別)劃分清楚,並且開發階段和測試階段(級別)的對應關係也清晰明確。

(2)v模型中既包含了單元測試(專業級、**級),又包含了驗收測試(使用者級)。

(b)v模型缺點:

v模型中缺少軟體開發前期需求和設計階段的測試內容,不能體現出文件和程式都需要測試的內容,不符合盡早測試原則和不斷測試原則,讓人產生測試只是開發完成後的收尾工作的錯覺。(測試和開發應該是同步的工作過程)

3、w模型

1)w模型可以被看成是雙v模型,第乙個v是開發活動,第二個v是測試活動

2)w模型的特點:w模型包含了需求和設計階段的測試內容,體現了文件測試,並且符合盡早測試和不斷測試原則。體現出開發和測試是同步進行的。

四、軟體測試分類

1、按測試技術分類

1)黑盒測試:又稱為功能測試,是不考慮程式內部結構特徵,只考慮輸入資料和輸出的情況下進行的功能的測試。

2)白盒測試:又稱為結構測試,只考慮程式內部結構,而不考慮程式功能的測試。

3)灰盒測試:是結合和黑盒測試和白盒測試的要素,對軟體進行測試。一般先做黑盒測試,發現缺陷,再通過白盒測試對缺陷進行進一步的調查。(在整合測試階段中經常採用灰盒測試)

擴充套件:白盒測試說明

1)白盒測試測試質量較高,白盒測試成本較高,白盒測試效率較低。

2)白盒測試一般是對風險較大,難度較大的核心模組進行補充測試。

3)白盒測試人員要懂**,白盒測試也需要編寫測試用例。

2、按是否需要執行**進行分類

1)動態測試:需要使程式執行起來,進行的測試

例如:通常功能測試都是動態測試。

2)靜態測試:不需要執行程式就可以進行的測試

例如:文件測試

部分介面測試

(靜態)**測試:檢查**是否符合相應的標準和規範。

白盒測試有可能是靜態測試,也有可能是動態測試。

面試問題:白盒測試和(靜態)**測試的區別?

白盒測試主要關注的是**的邏輯實現,測試者必須要懂**,白盒測試要求寫用例。

**測試主要關注**的規範和標準,測試者不需要懂**,不需要編寫用例,只需要對照**檢查單進行**檢查即可。

3、按軟體的特性分類:

1)功能測試

(1)任何軟體必須要先做功能測試,保證其功能正確。

(2)功能測試既可以手工測試,也可以自動化測試(工具:qtp,selenium)

2)效能測試

(1)分布式軟體(c/s,b/s)需要進行效能測試。

(2)效能測試必須要借助工具,通過自動化的方式實現。(loadrunner,jmeter)

4、其它(名詞)

1)返測:對程式設計師修改的缺陷進行測試,驗證缺陷是否被修復。

2)回歸測試:對上個版本中的所有功能重新測試一遍;驗證在新版本中,程式原有的功能是否依然正常;回歸測試中存在大量的重複性工作(重複執行用例),所以可以使用自動化測試來提高回歸測試的效率。

3)隨機測試(猴子測試):

在測試用例執行完成後,對軟體進行的隨意測試的過程。隨機測試只是時間允許時,對正常測試用例之外的補充。

4)相容測試:

相容測試指所設計的軟體與硬體、軟體之間的相容性測試,相容性測試主要分成3大類:

(1)與硬體相容

與整機相容

與外設相容

(2)與軟體相容

與作業系統相容

與其他應用軟體相容

與瀏覽器相容

與資料庫相容

(3)資料相容

指軟體的不同版本之間的資料相容。

5)功能測試方法的測試策略

等價類劃分+邊界值

因果圖、判定表、正交排列法

測試大綱法  

場景法回答的思路:將每個(每組)測試方法的應用場合和特徵回答清楚。

最後強調:在測試時乙個功能可能需要2-4種測試方法綜合應用進行測試。

6)軟體專案的測試流程(步驟)?

(1)需求分析

(2)制定測試計畫

(3)測試的設計

(4)執行測試,記錄測試結果(對測試結果的分析和記錄)

(5)記錄缺陷,跟蹤和管理缺陷

(6)測試總結(報告)

軟體測試基礎理論

軟體產品的質量 指的是實體特性的綜合,表示實體滿足明確或隱含要求的能力。軟體測試的目的 1 驗證軟體是否滿足軟體開發合同或者專案開發計畫,系統 子系統設計文件,軟體需求規格說明等規定的軟體質量要求。2 通過測試,發現軟體缺陷3 為軟體產品質量的測量和評價提供依據。軟體測試的四個過程 1 測試策劃 主...

軟體測試基礎理論

軟體質量 軟體產品的特性可以滿足使用者功能 效能需求的能力。軟體產品質量的六大特性 功能性 可靠性 可使用性 效率 可維護性 可移植性 測試計畫包括 a.概述 b.測試範圍 c.測試策略d.資源安排 e.進度安排 f.發布標準 g.測試交付件 測試用例 用例編號 用例名稱 所屬功能模組 前置條件 測...

軟體測試基礎(理論)

軟體測試大致工作內容 評審軟體需求規格說明書 制定測試計畫和方案 編寫 評審測試用例 搭建測試環境,準備測試資料 執行測試,發現缺陷,提交缺陷報告,並回歸測試缺陷 分析測試結果,編寫測試報告,度量軟體的質量 軟體測試是什麼 軟體測試的定義 測試的目標 軟體危機 軟體危機的表現 貴 文件不完整 不符合...