測試人必看:五大維度解讀軟體測試分類
軟體測試方法種類繁多,記憶起來也非常混亂, 如果把軟體測試方法進行多個維度的分類, 就會清晰很多。
軟體測試的分類-按開發階段分類
單元測試
又稱模組測試,針對軟體設計中的最小單位-程式模組,進行正確性檢查的測試工作。單元測試需要從程式內部結構出發設計測試用例。多個模組可以平行地獨立進行單元測試。
單元定義: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)一起進行。
探索性測試
探索性測試可以說是一種測試思維技術。它沒有很多實際的測試方法、技術和工具,但是卻是所有測試人員都應該掌握的一種測試思維方式。探索性強調測試人員的主觀能動性,拋棄繁雜的測試計劃和測試用例設計過程,強調在碰到問題時及時改變測試策略。
探索性測試強調測試設計和測試執行的同時性,這是相對於傳統軟體測試過程中嚴格的“先設計,後執行”來說的。測試人員透過測試來不斷學習被測系統,同時把學習到的關於軟體系統的更多資訊透過綜合的整理和分析,創造出更多的關於測試的主意。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2656771/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試——三、軟體測試的分類
- 軟體測試之測試分類_1.4
- 軟體測試分類
- 測試人員必看!!!軟體測試環境搭建有哪些原則?
- 軟體測試探秘:從各類軟體測試入門,領略測試的奧秘
- 軟體測試之登入測試詳解
- 【軟體測試】——介面測試
- 軟體驗收測試之α測試和β測試分別是什麼?
- 軟體測評中心▏軟體功能測試和非功能測試分別是什麼?
- 軟體測試主要種類大全
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 軟體測試要學什麼(3)軟體測試流程詳解
- 軟體測試-測試計劃
- 初步瞭解軟體測試
- 軟體測試分類知識分享,第三方軟體測試機構收費貴不貴?
- 軟體測試
- 軟體測試技術-黑盒測試
- 軟體測試:自動化測試
- 軟體測試工程師必會:BUG分類及推進解決方案工程師
- 軟體測試人員必備的7種思維方式
- 軟體測試教程之手機軟體測試方法
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試
- 軟體測試中的功能測試和非功能測試
- 有效提升軟體產品質量,測試人員必備軟體測試常用方法
- 效能測試解讀
- 軟體測試--環境講解
- 軟體測試經典測試題(4)
- 軟體測試員如何提取測試需求?
- 軟體測試之易用性測試
- 軟體測試計劃與測試方案
- 軟體穩定性測試的測試點
- 軟體測試面試問題_介面測試(二)面試
- 測試人必須瞭解的軟體測試流程及5大測試過程模型,經典乾貨分享!模型
- 軟體測試學習教程—軟體測試基本知識
- 軟體測試入門【1】什麼是軟體測試
- 軟體測試真的很重要!——軟體測試的作用