天天看點

測試思想-測試流程 測試流程簡述

測試流程簡述

by:授客 QQ:1033553122

測試過程(以下左圖)與測試階段(或類型)(以下右圖)

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述

圖-1

說明:

1. 

以上左圖描述的通用軟體測試過程。右圖描述的是具體的測試活動階段,按不同的測試階段分可分單元測試、內建測試、确認測試、系統測試、驗收測試,回歸測試,冒煙測試等測試類型。

2. 

回歸測試是指修改了舊代碼後,重新進行測試以确認缺陷的修複,及修改沒有引入新的錯誤或導緻其他代碼産生錯誤。軟體開發的各個階段都會進行多次回歸測試。

3. 

冒煙測試(也叫送出測試),正式測試前對軟體主業務流程和主功能進行驗證與确認,確定後續測試能正常進行的測試。現狀:一般是在新版本送出前,進行正式測試前的進行冒煙測試

4. 

右邊的每個測試活動階段,可以按左側的測試過程進行,文檔評審,測試計劃、測試設計、測試執行、測試總結等(可根據實際情況對測試過程進行适度裁剪)

5. 

左邊的和右邊兩幅圖進融入軟體開發過程中,就産生了以下将說到的各種測試模型

6. 

階段(類型)細分:如下圖

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述

測試過程和開發過程協作(典型模型舉例說明)

W模型為例

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述

圖-2

1.

其中系統設計也叫概要設計。

2.

軟體需求評審,主要是評審軟體需求規格說明書、主要依據是産品需求文檔

3.

系統設計評審,主要是評審系統架構設計等,主要依據系統概要設計說明書

4.

詳細設計評審,主要是評審詳細的設計,比如接口設計是否合理,主要依據詳細設計說明書

ps:現實狀況是,一般的公司,一般的項目都做不到這麼規範的,有些公司甚至沒有文檔,目前筆者見過的比較規範的也就興業銀行的品質管理(瀑布模型對銀行類項目似乎還是比較實用的)

 H模型

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述

圖-3

1.    

V、W模型均存在一些不妥之處。首先,如前所述,它們都把軟體的開發視為需求、設計、編碼等一系列串行的活動,而事實上,雖然這些活動之間存在互相牽制的關系,但在大部分時間内,它們是可以交叉進行的。雖然軟體開發期望有清晰的需求、設計和編碼階段,但實踐告訴我們,嚴格的階段劃分隻是一種理想狀況。試問,有幾個軟體項目是在有了明确的需求之後才開始設計的呢?是以,相應的測試之間也不存在嚴格的次序關系。同時,各層次之間的測試也存在反複觸發、疊代和增量關系。其次,V、W模型都沒有很好地展現測試流程的完整性。

為了解決以上問題,提出了H模型。它将測試活動完全獨立出來,形成一個完全獨立的流程,将測試準備活動和測試執行活動清晰地展現出來。

2.    

H模型圖僅僅示範了在整個生存周期中某個層次上的一次測試“微循環”。圖中的其他流程可以是任意開發流程。例如,設計流程和編碼流程。也可以是其他非開發流程,甚至是測試流程自身。也就是說,隻要測試條件成熟了,測試準備活動完成了,測試執行活動就可以(或者說需要)進行了。

3.    

概括地說,H模型揭示了:

1)軟體測試不僅僅指測試的執行,還包括很多其他的活動。

2)軟體測試是一個獨立的流程,貫穿産品整個生命周期,與其他流程并發地進行。當某個測試時間點就緒時,軟體測試即從測試準備階段進入測試執行階段。

3)軟體測試要盡早準備,盡早執行。

4)軟體測試是根據被測物的不同而分層次進行的。不同層次的測試活動可以是按照某個次序先後進行的,但也可能是反複的。

4.    

結合軟體項目開發流程,不同開發階段,可以根據實際情況,把圖-1的測試過程融合到不同開發階段中。(可根據實際情況對測試過程進行适度裁剪)。如需求分析階段,可以用納入“文檔評審”過程,進行業務需求文檔評審和軟體需求規格說明書評審,同時也納入“測試計劃“,”測試設計“對系統測試進行計劃和設計。系統設計階段,可納入“文檔評審”過程,對系統架構設計說明書,概要設計說明書進行評審

測試過程詳述

測試計劃

測試計劃階段主要工作包括确定測試目的,測試限制,測試需求,測試風險,測試政策,測試資源,測試量化計劃,測試進度,測試計劃工作量,傳遞物;

測試計劃階段活動包括:

1、 

确定測試目的,測試限制,測試需求,測試政策等。

2、 

依據曆史資料、類似項目資料和估計的系統測試用例數,估計測試工作量與測試進度。

3、 

根據估計出的測試工作量和項目計劃,估計測試資源(人力資源及環境資源,工具)

4、 

根據測試工作量、測試資源、進行風險分析與規避。

5、 

編制測試計劃;

6、 

評審測試計劃

測試設計

分析測試需求,設計測試用例,進行測試用例的評審并跟蹤測試計劃的執行情況。

測試設計階段活動包括:

測試相關人員參與軟體需求開發過程,分析軟體測試需求,參與軟體需求評審,確定軟體需求的可測性。

編寫測試需求,并設計測試用例。

組織搭建測試環境,準備測試資料。

評審測試用例設計。

測試執行

通過測試執行過程中的版本控制、測試環境監控、測試執行進度控制以及變更控制等手段,確定測試對象的品質。

測試執行階段活動包括:

測試相關人員進行測試腳本的編寫和修改。

測試相關人員建立測試執行流并進行聯調。

測試相關人員配置設定測試任務給測試執行人員。

測試相關人員根據測試用例執行測試,保證測試用例的覆寫率達到測試計劃要求。

測試相關人員記錄測試結果,跟蹤缺陷的修改狀況并對修改完成的缺陷進行驗證。

測試相關人員對測試環境進行監控,并組織進行測試過程量化資料的搜集工作。

7、 

測試相關人員進行對測試執行進度進行跟蹤控制

測試總結階段

對完成的測試任務進行分析、總結,并給出測試結論或建議。

測試總結階段活動包括:

測試相關人員評估測試活動。

測試相關人員分析測試結果。

測試相關人員組織編寫測試報告。

測試相關人員進行測試報告評審。

測試階段詳述

單元測試活動

主要由開發人員對編寫的代碼進行自測和交叉測試,檢查代碼是否實作子產品功能,是否符合編碼規範,是否存在明顯的邏輯錯誤。

單元測試活動包括:

編寫單元測試用例;

執行單元測試,進行自測和交叉測試;

記錄單元測試結果;

評估單元測試活動的有效性;

內建測試活動

将通過單元測試的子產品逐漸組裝成具有良好一緻性的完整的程式,制訂內建測試實施政策,确定內建測試的實施步驟,設計內建測試用例,逐一地添加子產品進行測試。

內建測試活動包括:

編寫內建測試計劃;

開發內建測試用例;

執行內建測試;

對缺陷修複版本進行回歸測試;

記錄內建測試結果;

進行增量內建子產品測試,重複步驟(二)~(五),直到增量內建結束;

編寫內建測試報告;

8、 

評審內建測試報告。

确認測試活動

确認測試本身就是屬于系統測試,隻是有時候強調它的重要性,而單獨出來。确認測試确認測試又稱有效性測試,的目的是向未來的使用者表明系統能夠像預定要求那樣工作。

軟體測試的工作歸結起來就是兩個V,Verification和Validation

Verification翻譯為驗證,在在

ISO9000

中,“驗證”的嚴格定義是:驗證是通過檢查和提供客觀證據,表明規定要求已經滿足的認可。

Validation翻譯為确認,在

中,“确認”的嚴格定義是:确認是通過檢查和提供客觀證據,表明一些針對某一特定預期用途的要求已經滿足的認可。

從定義上可以看出“驗證”關注是否滿足規定,即需求規格說明書,“确認”關注的是是否滿足預期用途,即使用者的真正需求。我們知道,軟體的設計,編碼實作都是依據軟體的需求規格說明書。對于軟體測試來說單元測試,內建測試,系統測試的目的是驗證軟體是否符合軟體的需求規格說明,是以都可歸于驗證過程。然而需求規格說明書并不能代表使用者的真正需求,而且依據需求的設計也往往同需求會有些偏差,是以得出的軟體産品在經過了系統測試以後還需要進行,确認測試。測試軟體産

品是否就是使用者想要的産品。

最簡單的解釋是:

Verification:Are

we building the product right?

(功能驗證)是否按需求做出了正确的産品

Validation:

Are we building

the right product?

(有效性确認)是否作出了使用者想要的産品。

總之,驗證針對的是軟體規則需求說明書,檢驗軟體是不是根據需求來設計實作的,确認針對的是使用者,檢驗軟體能否滿足使用者的需求。

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述

備注:是否要采用确認測試具體要看被測系統的大小。如果被測系統是比較大型的系統,包括軟體、硬體等,就需要在內建測試後進行專門針

對軟體子系統的确認測試,然後再針對整個系統進行系統測試;如果整個系統就是由軟體構成的,就不需要進行專門的确認測試了,在內建測試後直接進行系統測試

就可以了。

系統測試活動

驗證需求規格說明書中的各個功能點是否齊全、是否正确實作,同時對系統的安裝、部署、适應性、資訊安全、界面等非功能性需求進行測試。

系統測試活動包括:

編寫系統測試計劃;

開發系統測試案例;

執行系統測試;

記錄測試結果;

編寫系統測試報告;

評審系統測試報告

使用者驗收測試(UAT)活動

驗證需求規格說明書中的業務功能是否滿足,并關注系統界面、響應時間等非功能性需求。

使用者驗收測試(UAT)活動包括:

制定UAT測試計劃;

編寫UAT測試用例;

執行UAT測試;

記錄UAT測試結果;

編寫UAT測試報告。

評審UAT測試報告。

---------------------以上無絕對描述,具體情況具體分析--------------------------

每家公司不一樣,項目不一樣,人力資源不一樣,開發模式不一樣(比如靈活開發),流程自然就不一樣,,但是總體大緻思想是一緻的,可以根據實際情況進行适度裁剪,該有的還是要有的,即便是靈活測試……以上總結,主要是幫助新手入門,讓新手有個大概的印象

作者:授客

QQ:1033553122

全國軟體測試QQ交流群:7156436

Git位址:https://gitee.com/ishouke

友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!

作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!

           微信打賞                       

支付寶打賞                  全國軟體測試交流QQ群  

測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述
測試思想-測試流程 測試流程簡述