資深碼農:拿下軟件測試,只需掌握好這兩種方法!

摘要:軟件測試是軟件工程中很是重要的一個環節,本文將從軟件測試的目的、白盒測試和黑盒測試兩大分類和以及各自的具體分類,來闡述軟測試的相關知識。

1、軟件測試的目的

發現缺陷

儘早和儘可能多的發現被測對象中的缺陷,應該是測試人員測試過程當中最常提起的一個測試目標,也是所謂測試價值的一個的重要體現。發現缺陷的目的是推進開發人員定位和修復問題,測試人員經過再測試和迴歸測試,確保開發人員已修復缺陷,並無影響原來正常的區域,從而提升產品質量。開發生命週期的每一個階段,都應該有測試的參與,並儘可能多的發現本階段的缺陷,從而大大提升本階段的缺陷階段遏制能力,從而提升測試效率、下降成本和提升質量。api

2、軟件測試的兩大分類

一、白盒測試

白盒測試是把測試對象看做一個打開的盒子。利用白盒測試法進行動態測試時,須要測試軟件產品的內部結構和處理過程,不需測試軟件產品的功能。併發

白盒測試法的覆蓋標準有邏輯覆蓋、循環覆蓋和基本路勁測試。其中邏輯覆蓋包括語句覆蓋、判斷覆蓋、條件覆蓋、斷定/條件覆蓋、條件組合覆蓋和路徑覆蓋。dom

白盒測試是知道產品內部工做過程,可經過測試來檢測產品內部動做是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預約要求正確工做,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟件驗證。工具

二、黑盒測試

黑盒測試是根據軟件的規格對軟件進行的測試,這類測試不考慮軟件內部的運做原理,所以軟件對用戶來講就像一個黑盒子。post

測試人員以用戶的角度,經過各類輸入和觀察軟件的各類輸出結果來發現軟件存在的缺陷,而不關心程序具體如何實現的一種軟件測試方法。性能

3、白盒測試具體分類

(1)單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。
樁模塊(stud)是指模擬被測模塊所調用的模塊,驅動模塊(driver)是指模擬被測模塊的上級模塊,驅動模塊用來接收測試數據,啓動被測模塊並輸出結果。單元測試

(2)集成測試(integration testing),是單元測試的下一階段,是指將經過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不一樣模塊的接口部門。
集成測試就是用來檢查各個單元模塊結合到一塊兒可否協同配合,正常運行。測試

(3)系統測試(system testing),指的是將整個軟件系統看作一個總體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。
系統測試的主要依據是《系統需求規格說明書》文檔。ui

(4)驗收測試(acceptance testing),指的是在系統測試的後期,以用戶測試爲主,或有測試人員等質量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最後一道工序。spa

驗收測試又分爲a測試和beta測試,其中a測試指的是由用戶、 測試人員、開發人員等共同參與的內部測試,而beta測試指的是內測後的公測,即徹底交給最終用戶測試。

4、黑盒測試具體分類

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

包括邏輯功能測試(logic function testing)

界面測試(UI testing)UI=User Interface

易用性測試(usability testing):是指從軟件使用的合理性和方便性等角度對軟件系統進行檢查,來發現軟件中不方便用戶使用的地方。

兼容性測試(compatibility testing):包括硬件兼容性測試和軟件兼容性測試

(2)性能測試(performance testing)

軟件的性能主要有時間性能和空間性能兩種

時間性能:主要指軟件的一個具體事務的響應時間(respond time)。

空間性能:主要指軟件運行時所消耗的系統資源。

軟件性能測試分爲:

通常性能測試:指的是讓被測系統在正常的軟硬件環境下運行,不向其施加任何壓力的性能測試。

穩定性測試也叫可靠性測試(reliability testing):是指連續運行被測系統檢查系統運行時的穩定程度。

負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限範圍以內連續運行,來測試系統的穩定性。

壓力測試(stress testing):是指持續不斷的給被測系統增長壓力,直到將被測系統壓垮爲止,用來測試系統所能承受的最大壓力。(Validate the system or software can allowed the biggest stress.)

(3)接口測試(Interface Testing)

接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。

推薦一款接口測試和接口文檔生產工具:apipost

5、其餘測試類型

迴歸測試(regression testing)是指對軟件的新的版本測試時,重複執行上一個版本測試時的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)

冒煙測試(smoke testing),是指在對一個新版本進行大規模的測試以前,先驗證一下軟件的基本功能是否實現,是否具有可測性。(validate the major function is deployed or not in software of system when a new build or release is implement.)

隨機測試(random testing),是指測試中全部的輸入數據都是隨機生成的,其目的是模擬用戶的真實操做,並發現一些邊緣性的錯誤。(means or all the test data is random, to validate the some edge bugs.)

本文分享自華爲雲社區《軟件測試的方法 》,原文做者:奔四碼農。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索