软件测试按照各种方式分类
軟件測試的分類
- 一、軟件的含義
- 二、軟件測試的分類
- (一)按照方法(測試技術)分類
- 1、黑盒測試
- 2、白盒測試
- 3、灰盒測試
- (二)按照階段分類
- 1、單元測試
- 2、集成測試
- 3、確認測試
- 4、系統測試
- 5、驗收測試
- 6、回歸測試
- (三)按照測試實施組織劃分
- 1、開發方測試
- 2、用戶測試
- 3、第三方測試
- (四)按照方向分類
- 1、功能測試
- 2、性能測試
- 3、安全測試
- 4、UI界面測試
- 5、兼容性測試
- 6、易用性測試
- 7、穩定性測試
- 8、app專項測試
- (五)按照對象分類
- 1、APP測試
- 2、WEB測試
- 3、小程序測試
- 4、接口測試
- 5、物聯網測試
- 6、車聯網測試
- 7、AI測試
- 8、大數據測試
- 。。。
- (六)按照狀態(是否執行代碼)分類
- 1、靜態測試
- 2、動態測試
- (七)其他分類
- 1、冒煙測試
- 2、回歸測試
一、軟件的含義
二、軟件測試的分類
(一)按照方法(測試技術)分類
1、黑盒測試
通過軟件的外部表現發現其缺陷和錯誤。黑盒測試法把測試對象看成一個黑盒子,完全不考慮程序內部結構和處理過程。黑盒測試是在程序的界面處進行測試,其只為驗證軟件程序的各項功能是否按照相關文檔的要求實現。
2、白盒測試
白盒測試又稱結構測試。是通過對程序內部結構的分析、檢測來尋找問題。白盒測試可以把程序看成裝在一個透明的白盒子里,也就是清除了解程序結構和處理過程,檢查是否所有的結構及路徑都是正確的,檢查軟件內部動作是否按照設計說明的規定正常進行。
3、灰盒測試
介于白盒和黑盒測試之間,灰盒測試關注輸出對于輸入的正確性;同時也關注內部表現,但這種關注不如白盒測試細致,只是通過一些表征性的現象、事件、標志來判斷內部的運行狀態。灰盒測試結合了以上兩種測試方法的要素,考慮到了用戶端、特定的系統知識和操作環境。其在系統組件的協同性環境中評價應用軟件設計。
(二)按照階段分類
1、單元測試
單元測試又稱模塊測試,是針對軟件設計的最小單位——程序模塊進行正確性檢驗的測試工作,其目的在于檢查每個程序單元是否能夠正確的實現詳細設計說明書中的模塊功能、性能、接口和設計約束等要求,發現模塊內部可能存在的各種錯誤。
2、集成測試
集成測試也可以稱為組裝測試,通常在單元測試得基礎上,將所有的程序模塊進行有序的、遞增的測試模式。集成測試是檢驗程序單元或部件的接口關系,逐步集成為符合概要設計要求的程序或軟件,總共有兩種集成方式,一種是自低向上的,一種是自頂向下的。軟件集成也是一個持續的過程,在不斷的集成過程中,功能的穩定性非常重要,在每個版本提交時都需要進行冒煙測試。
3、確認測試
確認測試是通過檢驗和提供客觀證據,證實軟件是否滿足特定預期用途的需求。確認測試是檢測與證實軟件是否滿足軟件需求說明書中規定的要求,其一般在系統測試前面進行,時間非常短,只是看系統的功能方面是否滿足要求。
4、系統測試
系統測試是為了驗證和確認系統是否達到其原始目標,而對集成的硬件和軟件系統進行的全面的測試,以保證軟件在真實的環境中能夠按照要求運行,滿足用戶在實際工作中的需求。
5、驗收測試
按照項目任務書或者雙方約定的合同等具有法律效率的文件,對整個系統進行評審,以確認是否接收該系統。
(1)α測試-----又叫內測
(2)β測試-----又叫公測
6、回歸測試
是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。
(三)按照測試實施組織劃分
1、開發方測試
通常也叫“驗證測試”或“α測試”;開發方通過檢測和提供客觀證據,證實軟件的實現是否滿足規定需求。驗證測試是在軟件開發環境下,由開發者檢測與證實軟件的實現是否滿足指定要求。這個可以和軟件的系統測試同時進行。
2、用戶測試
在用戶的應用環境下,用戶通過運行和使用軟件,檢測與核實軟件實現是否符合自己預期的要求。通常情況用戶測試不是指用戶的“驗收測試”,而是指用戶的使用性測試,由用戶提交在使用過程中發現的缺陷與bug,然后再由開發人員進行修改。與其相關的有一種測試叫“β測試”,其指的是把軟件產品有計劃的免費發放到市場,讓用戶大量使用,并評價、檢查軟件,以搜集軟件潛在的缺陷,然后讓開發人員進行修改即可。
3、第三方測試
介于開發方與用戶方之間的測試組織組織的測試,其在一定程度上獨立于雙方,第三方測試也叫獨立測試。也就是說第三方測試是由在技術、管理和財務上與開發方和用戶方相對獨立的組織進行的軟件測試。一般情況下是在模擬用戶真實環境下,進行軟件確認測試。
(四)按照方向分類
1、功能測試
根據需求文檔,測試能不能實現相應功能
2、性能測試
測試系統的性能瓶頸
-
壓力測試:對于分布式網絡,測試不同用戶數量來測試系統的反應,主要關注性能指標,系統不同表現。
-
負載測試:高壓狀態下多用戶高并發測試(30萬-50萬),主要關注系統是怎么崩潰的。(內存泄漏,cpu無響應,數據庫無反應,網絡堵塞)
-
并發測試/容量測試:主要指當測試多用戶并發訪問同一個應用、模塊、數據時是否產生隱藏的并發問題,如內存泄漏、線程鎖、資源爭用問題,幾乎所有的性能測試都會涉及并發測試;系統最大支撐的相關數量,數據庫最大數據數量,用戶數量。
1、為什么要做性能測試?
1)目前絕大多數應用都是基于網絡的分布式應用,我們無法知道用戶數量,用戶場景的不確定性,導致系統測試時,不僅僅是功能,業務邏輯,接口測試,還要測試系統性能。一個用戶沒問題,但是用戶一旦多了就可能出現各種各樣的問題,所以需要進行系統性能測試。
2)用戶數量增加,系統負債增加,進行系統性能測試,知道系統承受的并發用戶數量,帶寬是否夠用,cpu是否夠用,內存是否夠用,硬盤速度是否跟得上。從服務端來看,測試服務器是否能承載用戶多并發,系統是否穩定,從用戶角度看響應時間速度。
可參考原文:性能測試總結
3、安全測試
- 滲透測試
- DDOS攻擊
- 跨域攻擊
- SQL注入
- 暴力破解
4、UI界面測試
主要檢查界面是否好看、界面風格是否保持統一、界面按鈕大小是否保持一致、界面是否和設計圖保持一致等等。
5、兼容性測試
- 對于app而言:
首先,測試軟件在Android和iOS上是否兼容;其次,測試不同的Android版本是否兼容。例如:不同的系統、不同的屏幕、不同的分辨率、不同的品牌;(可以根據市場的占有率進行選擇占比高的Android進行測試) - 對于web而言:
測試不同的瀏覽器是否兼容。例如:谷歌、新的edge、火狐、IE、360、QQ瀏覽器。。。
6、易用性測試
進行用戶體驗測試,學習成本越低越好、功能越簡潔越好
7、穩定性測試
8、app專項測試
- 弱網測試
測試app能不能在不同的網絡下正常使用:2G、3G、4G、5G、WiFi、熱點 - 場景交互測試
例如:不同的app互相切換、前后臺切換、來電話、短信、微信語音、分屏等等。 - 資源爭用測試
同類型的app同時工作時,哪個app的優先 - 權限測試
測試使用對應的功能,是否提示給權限、關閉權限后,是否影響其他的功能的使用 - 離線測試
- 安裝、卸載、更新
- 消息推送
測試app關閉后是否還能收到消息推送
斷網后,在聯網,之前的消息是否能收到 - 資源監控
app的大小、流量、電量、內存、CPU
(五)按照對象分類
1、APP測試
2、WEB測試
3、小程序測試
4、接口測試
5、物聯網測試
6、車聯網測試
7、AI測試
8、大數據測試
。。。
(六)按照狀態(是否執行代碼)分類
1、靜態測試
指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。
2、動態測試
是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能指標。
(七)其他分類
1、冒煙測試
這是在正式測試前對軟件進行一個預測,檢查軟件是否具備可測性
2、回歸測試
檢查上一次測試時發現的問題有沒有被修改
總結
以上是生活随笔為你收集整理的软件测试按照各种方式分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中断处理的tasklet(小任务)机制-
- 下一篇: 电子工程学院的师兄弟姐们们,老师叫你们回