'新夢想軟件測試:五大維度解讀軟件測試分類'

"

軟件測試方法種類繁多,記憶起來也非常混亂, 如果把軟件測試方法進行多個維度的分類, 就會清晰很多。


"

軟件測試方法種類繁多,記憶起來也非常混亂, 如果把軟件測試方法進行多個維度的分類, 就會清晰很多。


新夢想軟件測試:五大維度解讀軟件測試分類


軟件測試的分類-按開發階段分類

單元測試

又稱模塊測試,針對軟件設計中的最小單位-程序模塊,進行正確性檢查的測試工作。單元測試需要從程序內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。

單元定義:C中指一個函數,Java中指一個類,在圖形化的軟件中,單元一般指一個窗口,1個菜單。

集成測試

又叫組裝測試,通常在單元測試的基礎上,將所有程序模塊進行有序的、遞增的測試。重點測試不同模塊的接口部分。

系統測試

指的是將整個軟件系統看為一個整體進行測試,包括對功能、性能、以及軟件所運行的軟硬件環境進行測試。

系統測試在系統集成完畢後進行測試,前期主要測試系統的功能是否滿足需求,後期主要測試系統運行的性能是否滿足需求,以及系統在不同的軟硬件環境中的兼容性等。

軟件測試的分類-驗收測試的分類

α測試

· Alpha 是內測版本,即現在所說的CB。

· 此版本表示該軟件僅僅是一個初步完成品, 通常只在軟件開發者內部交流, 也有很少一部分發布給專業測試人員。

· 一般而言, 該版本軟件的bug 較多, 普通用戶最好不要安裝。

β測試

· Beta是公測版本,是對所有用戶開放的測試版本。

· 該版本相對於α 版已有了很大的改進,消除了嚴重的錯誤, 但還是存在著一些缺陷,需要經過大規模的發佈測試來進一步消除。

· 這一版本通常由軟件公司免費發佈, 用戶可從相關的站點下載。

· 通過一些專業愛好者的測試, 將結果反饋給開發者, 開發者們再進行有針對性的修改。

· 該版本也不適合一般用戶安裝。


"

軟件測試方法種類繁多,記憶起來也非常混亂, 如果把軟件測試方法進行多個維度的分類, 就會清晰很多。


新夢想軟件測試:五大維度解讀軟件測試分類


軟件測試的分類-按開發階段分類

單元測試

又稱模塊測試,針對軟件設計中的最小單位-程序模塊,進行正確性檢查的測試工作。單元測試需要從程序內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。

單元定義:C中指一個函數,Java中指一個類,在圖形化的軟件中,單元一般指一個窗口,1個菜單。

集成測試

又叫組裝測試,通常在單元測試的基礎上,將所有程序模塊進行有序的、遞增的測試。重點測試不同模塊的接口部分。

系統測試

指的是將整個軟件系統看為一個整體進行測試,包括對功能、性能、以及軟件所運行的軟硬件環境進行測試。

系統測試在系統集成完畢後進行測試,前期主要測試系統的功能是否滿足需求,後期主要測試系統運行的性能是否滿足需求,以及系統在不同的軟硬件環境中的兼容性等。

軟件測試的分類-驗收測試的分類

α測試

· Alpha 是內測版本,即現在所說的CB。

· 此版本表示該軟件僅僅是一個初步完成品, 通常只在軟件開發者內部交流, 也有很少一部分發布給專業測試人員。

· 一般而言, 該版本軟件的bug 較多, 普通用戶最好不要安裝。

β測試

· Beta是公測版本,是對所有用戶開放的測試版本。

· 該版本相對於α 版已有了很大的改進,消除了嚴重的錯誤, 但還是存在著一些缺陷,需要經過大規模的發佈測試來進一步消除。

· 這一版本通常由軟件公司免費發佈, 用戶可從相關的站點下載。

· 通過一些專業愛好者的測試, 將結果反饋給開發者, 開發者們再進行有針對性的修改。

· 該版本也不適合一般用戶安裝。


新夢想軟件測試:五大維度解讀軟件測試分類


γ測試

Gamma版本,指的是軟件版本正式發行的候選版。該版本已經相當成熟了, 與即將發行的正式版相差無幾, 成為正式發佈的候選版本。

軟件正式版本推出之前的幾個版本, 需要有人測試一下, 看看是不是有問題。在開發該軟件的公司內部由該公司內部人員測試的稱為: Alpha 測試, Alpha 測試主要看有沒有功能缺失或系統錯誤, Alpha 測試完後一般不會有大問題了。然後把軟件拿給用戶測試,稱為: beta 測試, 主要是看用戶對軟件外觀、使用方便等的反應。這麼多的測試版一方面為了最終產品儘可能地滿足用戶的需要, 另一方面也儘量減少了軟件中的bug。然後做過一些修改, 成為正式發佈的候選版本時, 叫做gamma( 現在叫做RC - Release Candidate) 。

簡單來說,阿爾法測試主要是測試人員在開發環境下的測試,貝塔測試是在實際環境中的測試,或者公司內部人員在模擬真實環境中的測試。

軟件測試的分類-按照是否查看源代碼

黑盒測試

又稱數據驅動測試,完全不考慮程序內部結構和內部特性,注重於測試軟件的功能需求,只關心軟件的輸入數據和輸出數據。

白盒測試

· 指的是把盒子打開,去研究裡面的源代碼和程序結構。

· 在軟件公司,往往採用黑盒測試&白盒測試相結合的方式。

· 軟件的整體功能和性能進行黑盒測試

· 軟件的源代碼採用白盒測試

灰盒測試

灰盒測試,是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的內部邏輯,常常是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態。

軟件測試的分類-黑盒測試分類

功能測試

是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。

· 邏輯功能測試(functiontesting)

· 界面測試(UItesting)

· 易用性測試(usability testing)

· 安裝測試(installationtesting)

性能測試

是軟件測試的高端領域,性能測試工程師的待遇和白盒測試工程師不相上下,通常我們所說的高級軟件測試工程師一般就是指性能測試或是白盒測試工程師。

· 時間性能(事務響應時間等)

· 空間性能(系統資源消耗)

· 一般性能測試

· 穩定性測試

· 負載測試:通過負載測試來確定在各種工作負載下,系統各項性能指標的變化情況

· 壓力測試:通過確定一個系統的瓶頸或者剛好不能接受的性能點,來獲得系統能夠提供的最大服務級別


"

軟件測試方法種類繁多,記憶起來也非常混亂, 如果把軟件測試方法進行多個維度的分類, 就會清晰很多。


新夢想軟件測試:五大維度解讀軟件測試分類


軟件測試的分類-按開發階段分類

單元測試

又稱模塊測試,針對軟件設計中的最小單位-程序模塊,進行正確性檢查的測試工作。單元測試需要從程序內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。

單元定義:C中指一個函數,Java中指一個類,在圖形化的軟件中,單元一般指一個窗口,1個菜單。

集成測試

又叫組裝測試,通常在單元測試的基礎上,將所有程序模塊進行有序的、遞增的測試。重點測試不同模塊的接口部分。

系統測試

指的是將整個軟件系統看為一個整體進行測試,包括對功能、性能、以及軟件所運行的軟硬件環境進行測試。

系統測試在系統集成完畢後進行測試,前期主要測試系統的功能是否滿足需求,後期主要測試系統運行的性能是否滿足需求,以及系統在不同的軟硬件環境中的兼容性等。

軟件測試的分類-驗收測試的分類

α測試

· Alpha 是內測版本,即現在所說的CB。

· 此版本表示該軟件僅僅是一個初步完成品, 通常只在軟件開發者內部交流, 也有很少一部分發布給專業測試人員。

· 一般而言, 該版本軟件的bug 較多, 普通用戶最好不要安裝。

β測試

· Beta是公測版本,是對所有用戶開放的測試版本。

· 該版本相對於α 版已有了很大的改進,消除了嚴重的錯誤, 但還是存在著一些缺陷,需要經過大規模的發佈測試來進一步消除。

· 這一版本通常由軟件公司免費發佈, 用戶可從相關的站點下載。

· 通過一些專業愛好者的測試, 將結果反饋給開發者, 開發者們再進行有針對性的修改。

· 該版本也不適合一般用戶安裝。


新夢想軟件測試:五大維度解讀軟件測試分類


γ測試

Gamma版本,指的是軟件版本正式發行的候選版。該版本已經相當成熟了, 與即將發行的正式版相差無幾, 成為正式發佈的候選版本。

軟件正式版本推出之前的幾個版本, 需要有人測試一下, 看看是不是有問題。在開發該軟件的公司內部由該公司內部人員測試的稱為: Alpha 測試, Alpha 測試主要看有沒有功能缺失或系統錯誤, Alpha 測試完後一般不會有大問題了。然後把軟件拿給用戶測試,稱為: beta 測試, 主要是看用戶對軟件外觀、使用方便等的反應。這麼多的測試版一方面為了最終產品儘可能地滿足用戶的需要, 另一方面也儘量減少了軟件中的bug。然後做過一些修改, 成為正式發佈的候選版本時, 叫做gamma( 現在叫做RC - Release Candidate) 。

簡單來說,阿爾法測試主要是測試人員在開發環境下的測試,貝塔測試是在實際環境中的測試,或者公司內部人員在模擬真實環境中的測試。

軟件測試的分類-按照是否查看源代碼

黑盒測試

又稱數據驅動測試,完全不考慮程序內部結構和內部特性,注重於測試軟件的功能需求,只關心軟件的輸入數據和輸出數據。

白盒測試

· 指的是把盒子打開,去研究裡面的源代碼和程序結構。

· 在軟件公司,往往採用黑盒測試&白盒測試相結合的方式。

· 軟件的整體功能和性能進行黑盒測試

· 軟件的源代碼採用白盒測試

灰盒測試

灰盒測試,是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的內部邏輯,常常是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態。

軟件測試的分類-黑盒測試分類

功能測試

是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。

· 邏輯功能測試(functiontesting)

· 界面測試(UItesting)

· 易用性測試(usability testing)

· 安裝測試(installationtesting)

性能測試

是軟件測試的高端領域,性能測試工程師的待遇和白盒測試工程師不相上下,通常我們所說的高級軟件測試工程師一般就是指性能測試或是白盒測試工程師。

· 時間性能(事務響應時間等)

· 空間性能(系統資源消耗)

· 一般性能測試

· 穩定性測試

· 負載測試:通過負載測試來確定在各種工作負載下,系統各項性能指標的變化情況

· 壓力測試:通過確定一個系統的瓶頸或者剛好不能接受的性能點,來獲得系統能夠提供的最大服務級別


新夢想軟件測試:五大維度解讀軟件測試分類


軟件測試的分類-按是否運行分類

靜態測試

指不實際運行被測軟件,而只是靜態地檢查程序代碼、界面或文檔中可能存在的錯誤過程。

動態測試

是指實際運行被測程序,輸入相應的測試數據,檢查實際輸出結果和預期結果是否相符的過程。

軟件測試的分類-其他

冒煙測試

冒煙測試就是完成一個新版本的開發後,對該版本最基本的功能進行測試,保證基本的功能和流程能走通。如果不通過,則打回開發那邊重新開發;如果通過測試,才會進行下一步的測試(功能測試,集成測試,系統測試等等)。冒煙測試優點是節省測試時間,防止build失敗。缺點是覆蓋率還是比較低。

迴歸測試

迴歸測試我有兩層理解,一是就是當你修復一個bug後,把之前的測試用例再次應用到修復後的版本上進行測試。二是當一個新版本開發好後,而且冒煙測試通過,此時可以先用上一個版本的測試用例對新版本進行測試,看是否有bug。

隨機測試

隨機測試主要是對被測軟件的一些重要功能進行復測,也包括測試那些當前的測試用例沒有覆蓋到的部分。另外,對於軟件更新和新增加的功能要重點測試。重點對一些特殊點情況點、特殊的使用環境、併發性、進行檢查。尤其對以前測試發現的重大Bug,進行再次測試,可以結合迴歸測試(Regressivetesting)一起進行。

探索性測試

探索性測試可以說是一種測試思維技術。它沒有很多實際的測試方法、技術和工具,但是卻是所有測試人員都應該掌握的一種測試思維方式。探索性強調測試人員的主觀能動性,拋棄繁雜的測試計劃和測試用例設計過程,強調在碰到問題時及時改變測試策略。

探索性測試強調測試設計和測試執行的同時性,這是相對於傳統軟件測試過程中嚴格的“先設計,後執行”來說的。測試人員通過測試來不斷學習被測系統,同時把學習到的關於軟件系統的更多信息通過綜合的整理和分析,創造出更多的關於測試的主意。

"

相關推薦

推薦中...