軟體測試基本理論

2022-04-24 20:32:35 字數 4191 閱讀 5784

一、 軟體的開發階段劃分

1、 需求分析階段

由需求分析師完成

產出物:《需求文件》

2、 設計階段

1) 概要設計

產出物:《概要說明書》

2) 詳細設計

產出物:《詳細說明書》

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

3、 編碼階段

程式設計師注:一般公司只有產品文件和原型,,所以如果你的公司這些文件都有,那麼請珍惜吧。。。。

常見面試題:

哪個階段bug最多?哪個階段bug最小?

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

所以:1)測試不能只測程式,文件也要測。

2)測試工作應該從開發開始就介入,並且應該貫穿整個開發周期始終。

注:身在小公司的我,不得不告訴你們,文件不需要測,一般是不需要編寫測試用例的(測試我負責),但是我們得要求自己編寫用例,因為這家公司只是我們測試路上的路人甲,並不是我們的重點。測試時間短暫,感覺領導不太重視,測試可能沒有測完,領導就喊著要上線。我希望從我手上流出去的產品不說完美,但是盡量沒有那麼多bug,總感覺有那麼點憂桑。

二、軟體測試的階段劃分

1、單元測試

1)單元測試是最小的測試單位,一般就是乙個功能模組,乙個方法(函式),乙個類等

2)單元測試依據的是《詳細設計文件》

(單元測試是根據詳細設計文件寫功能)

3)單元測試以白盒測試為主,可能輔助以黑盒測試

4)單元測試可能要求測試人員編寫驅動模組和樁模組

(被被測模組呼叫的那個模組)

總結:驅動模組à被測模組à樁模組

5)在實際工作中,單元測試往往由程式設計師完成--(節約成本,但是不嚴格)

2、整合測試

1)整合測試也叫組裝測試,在單元測試的基礎上把軟體的功能模組逐步合併在一起進行的過程

2)功能合併的過程一般是逐步完成的,會形成很多的臨時的版本

3)整合測試依據的是《概要設計文件》

4)整合測試階段以黑盒測試為主,核心模組適當採用白盒測試。

名詞解釋

:冒煙測試

(版本驗證測試)使用較少的人(1-3人,經驗豐富)、較少的時間(0.5-2天),對軟體的核心功能進行測試,如果軟體核心功能沒問題,就讓全組投入全面測試,如果問題較多,,版本不穩定,就打回開發組。

5)整合測試中,拿到新的內部版本,基本工作思路:

l 首先要進行冒煙測試(有可能省略),驗證該版本是否可以接受

l 返測

:對之前的bug,在本版本中解決的,檢查是否通過。

l 回歸測試

:對上一版本中的所有功能再測試一遍----驗證修改的**或新加了功能,以前的功能是否依然正常。

l 對該版本新組裝的功能進行測試 ---- 但如果有些版本只是用於修復以前的bug,也有可能沒有新功能。

3、系統測試

1)整個功能全部組裝完成後,對模擬整合了硬體、軟體的完整系統進行的測試。

2)系統測試的重點在於

a)整個系統在模擬真實環境下是否可以正確執行

b)系統與硬體、軟體的相容性問題

3)系統測試的依據是《需求文件》

4)系統測試全部為黑盒測試

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

a、確認該系統是否進入全面的系統測試階段(可以理解為一次大的冒煙測試)

b、確認相關文件是否準備齊全(尤其是給使用者的文件,參與認證的文件)

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

4、 使用者驗收階段   --- 驗收測試

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

1) 使用者參與的乙個檢查過程

2) 可以分為兩個小階段:

a)alpha測試

:在開發環境中,由終端使用者對軟體進行檢查,一般經常由軟體公司代使用者完成。

b)beta

測試 :在使用者的實際環境中,由終端使用者對軟體進行檢查

對於公共類軟體(作業系統,遊戲,輸入法),一般把軟體免費發放給終端使用者,通過使用者使用收集bug ---- 公測版本

三、軟體測試的模型

1、軟體測試模型表達的是測試階段和開發階段的對應關係。

2、兩個常見模型1)v

模型(重點

)a、會畫

b、優缺點

優點:(1)開發和測試階段劃分明確,對應關係明確

(2)測試階段既包含單元測試(**、專業級)又包含驗收測試(使用者級)

缺點:沒有體現需求、設計階段的文件測試工作,容易造成誤解,以為測試工作只是開發完成後的收尾工作2)w

模型(了解)

a、可以理解為雙

v模型,第乙個

v是開發活動,第二個

v是測試活動

b、比v

模型更加強調了

文件測試階段

的重要,體現了測試物件不僅是程式需求和設計同樣需要測試。

測試與開發是同步進行的c、w

模型更符合盡早測試和不斷測試的原則

四、軟體測試的分類

1、按測試技術劃分

1)黑盒測試 :(功能測試的基本特徵)又叫功能測試、資料驅動測試,是不考慮程式內部結構,只需考慮輸入和輸出情況下進行的功能測試

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

3)灰盒測試 :結合黑盒和白盒測試的要素,對軟體進行測試,一般先做黑盒測試,當發現有

bug,對

bug進行定位,對有可能有問題的**再進行白盒測試的過程(在整合測試中經常使用)

補充說明

:1)測試階段中黑盒測試為主

2)白盒測試測試常常對風險較大,難度較大的模組進行測試

3)白盒測試要求測試人員懂得**,效率較低,時間成本高

4)白盒測試也需要編寫測試用例

2、按是否需要執行**劃分

:1)靜態測試 :不需要執行程式

2)動態測試 :需要執行程式才能進行的測試

黑盒(功能)測試一般都是動態測試

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

3) 靜態測試包括:

a、 介面測試

:主要測實際介面與需求要求是否符合

b、 文件測試

:主要測試文件和說明是否真正符合

c、 **測試

:主要測試**是否符合相應的標準和規範

常見問題:靜態的**測試和白盒測試的區別:

(1) 白盒測試主要關注**的邏輯功能實現,測試者必須要懂**,要求寫測試用例

(2) 靜態**測試主要關注**的規範性、標準性,測試人員不需要懂**,不需要寫測試用例,只需參考**審查單檢查即可

3、按軟體的特性分類

1)功能測試 :

(1) 任何軟體都必須要做功能測試

(2) 軟體要先做功能測試,保證其功能正確。

分布式軟體需要在功能正確的前提下,在考慮效能

(3) 功能測試分為:手工功能測試和功能自動化測試

(需要借助於工具完成

)2)效能測試 :

(1)分布式(

c/s,

b/s)需要做效能測試

(2)效能測試只有自動化(要借助工具完成)

4、其它(常見的名詞術語)

1)返 測 :在新版本中對程式設計師修改的

bug進行測試,驗證

bug是否被修改

2)回歸測試 :對上個版本中的所有功能重新測試一遍,檢驗新版本中原有的功能是否依然正確,回歸測試存在大量的重複性工作,所以企業會使用自動化工具實現

3)隨機測試(猴子測試):在測試用例執行完成之後,對軟體進行隨意的測試的過程【只是時間充足時,對正常測試用例之外的補充測試】

4)相容測試 :指對被測軟體與硬體、軟體之間的相容性的測試,

相容性測試可以分為三大類:

(1)硬體相容

a、與整機相容

b、與外設相容

(2)軟體相容

a、作業系統

b、應用軟體之間的相容:防毒軟體,工具類軟體

c、不同瀏覽器的相容

d、資料庫的相容

(3)資料相容

不同版本間的資料相容

5)測試流程(步驟)

(1)需求 :閱讀需求,理解需求

(2)測試計畫 :測試經理對整個專案做乙個巨集觀的計畫

(3)設計測試用例

(4)執行測試

(5)記錄測試執行結果,並填寫《缺陷報告》,記錄缺陷

(6)跟蹤管理缺陷

(7)測試總結報告或測試評估報告

軟體測試基本理論

1.什麼是軟體測試 在g.j.myers 的經典著作 軟體測試之藝術 the art of software testing 中,給出了測試的定義 程式測試是為了發現錯誤而執行程式的過程 這個定義,被業界所認可,經常被引用。除此之外,g.j.myers 還給出了與測試相關的三個重要觀點,那就是 l ...

軟體測試基本理論 一

從即日起,關於 軟體測試 基礎教程正式開篇.本教程適合想學習軟體測試方面的同學.完全從0開始,由淺入深開始學習.本教程持續更新,歡迎關注.是線性模型的一種,在所有模型中占有重要地位,是所有其他模型的乙個基礎.每乙個階段執行一次,按線性順序進行軟體開發.測試階段在軟體實現後,必須在 完成後留出足夠多的...

軟體測試基本理論 IBM模式

ibm 從菜鳥到測試架構師 乙個測試工程師的成長日記 warning ibm的業務性質是做大型企業的it解決方案,仍然屬於比較中規中矩的傳統企業。所以對傳統的軟體企業有比較大的借鑑意義,但是對於網際網路等新興企業的從業人員,還是採取保留式的態度,取其精華即可。1968年nato會議提出了 軟體危機 ...