一文带你了解软件测试的价值,以后别再说软测天天在划水啦
一、軟件測試的目的
發現缺陷
盡早和盡量多的發現被測對象中的缺陷,應該是測試人員測試過程中最常提起的一個測試目標,也是所謂測試價值的一個的重要體現。發現缺陷的目的是推動開發人員定位和修復問題,測試人員通過再測試和回歸測試,確保開發人員已修復缺陷,并沒有影響原來正常的區域,從而提高產品質量。開發生命周期的每個階段,都應該有測試的參與,并盡量多的發現本階段的缺陷,從而大大提高本階段的缺陷階段遏制能力,從而提高測試效率、降低成本和提高質量。
二、軟件測試的兩大分類
1、白盒測試
白盒測試是把測試對象看作一個打開的盒子。利用白盒測試法進行動態測試時,需要測試軟件產品的內部結構和處理過程,不需測試軟件產品的功能。
白盒測試法的覆蓋標準有邏輯覆蓋、循環覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判斷覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
白盒測試是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。
2、黑盒測試
黑盒測試是根據軟件的規格對軟件進行的測試,這類測試不考慮軟件內部的運作原理,因此軟件對用戶來說就像一個黑盒子。
測試人員以用戶的角度,通過各種輸入和觀察軟件的各種輸出結果來發現軟件存在的缺陷,而不關心程序具體如何實現的一種軟件測試方法。
三、白盒測試具體分類
(1)單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。
樁模塊(stud)是指模擬被測模塊所調用的模塊,驅動模塊(driver)是指模擬被測模塊的上級模塊,驅動模塊用來接收測試數據,啟動被測模塊并輸出結果。
(2)集成測試(integration testing),是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不同模塊的接口部門。
集成測試就是用來檢查各個單元模塊結合到一起能否協同配合,正常運行。
(3)系統測試(system testing),指的是將整個軟件系統看做一個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。
系統測試的主要依據是《系統需求規格說明書》文檔。
(4)驗收測試(acceptance testing),指的是在系統測試的后期,以用戶測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最后一道工序。
驗收測試又分為 a 測試和 beta 測試,其中 a 測試指的是由用戶、 測試人員、開發人員等共同參與的內部測試,而 beta 測試指的是內測后的公測,即完全交給最終用戶測試。
四、黑盒測試具體分類
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
五、其他測試類型
回歸測試(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.)
最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!
在我的QQ技術交流群里(技術交流和資源共享,廣告勿擾)
可以自助拿走,群號:310357728?群里的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦
如果對你有一點點幫助,各位的「點贊」就是小編創作的最大動力,我們下篇文章見!
?
?
總結
以上是生活随笔為你收集整理的一文带你了解软件测试的价值,以后别再说软测天天在划水啦的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播回放:巧用Webpack、Eui C
- 下一篇: 生硬的论文,非得写什么架构设计