測試方法的七種分類

audience_fzn發表於2018-08-05

一、按開發階段分:

測試金字塔與業務測試分析

1.UI介面層:

比較複雜,需要一定的資料庫,作業系統方面的基礎知識

  • 功能驗證測試
  • 相容性測試與使用者測試:相容性測試與平臺有關,web(瀏覽器),APP(作業系統)

2.業務邏輯層

  • 客戶端模擬測試:APP測試
  • 內外介面測試:
    • 內部:n個開發人員,各開發人員之間測試
    • 外部:倆個專案或者倆個公司之間進行測試(參照物不同)
  • SDK介面測試

SDK:一般是指軟體工程師特定的軟體包建立的開發工具集合

3.資料處理層

  • 單元測試:程式碼測程式碼
  • CodeReview:檢查程式碼風格和語法等

按開發階段分為四類

   1.單元測試:又稱模組測試,對軟體組成的單元進行測試,其目的是檢驗軟體基本組成單位的正確性,測試的物件是軟體設計的最小單位——模組

  • 測試階段:編碼後或者編碼qian
  • 測試物件:最小模組
  • 測試人員:白盒測試工程師或開發人員
  • 測試依據:程式碼和註釋,詳細設計文件
  • 測試方法:白盒測試
  • 測試內容:模組介面測試,區域性資料測試,路徑測試,錯誤處理測試,邊界測試

    2.整合測試:又稱聯合測試,組裝測試將程式模組採用適當的整合策略組裝起來,對系統的介面及整合後的功能進行正確性的測試工作,主要目的是檢查軟體單位之間的介面是否正確

  • 測試階段:一般在單元測試之後
  • 測試物件:模組間的介面
  • 測試人員:白盒測試工程師或軟體開發工程師
  • 測試依據:單元測試的模組+概要設計文件
  • 測試方法:黑盒測試和白盒測試相結合
  • 測試內容:模組之間的資料傳輸、功能衝突,模組組裝功能正確性,全域性資料結構,單模組缺陷對系統的影響

   3.系統測試:一個系統的測試,包括對其功能,效能以及軟體所執行的軟硬體環境進行測試。大部分時間在系統測試執行階段,包括迴歸測試,冒煙測試

  • 測試階段:整合測試之後
  • 測試物件:整個系統(軟、硬體)
  • 測試人員:黑盒測試工程師
  • 測試依據:需求規格說明書
  • 測試方法:黑盒測試
  • 測試內容:功能,介面,可靠性,易用性,效能,相容性,安全性等

冒煙測試:物件是每一個新編譯的需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以繼續後續的正式測試工作。冒煙測試的執行者是版本編譯人員

//新買回來的手機,第一件失去就是把常用功能都試一遍,第二件事情就是將所有的功能都試一遍

迴歸測試:修改了舊程式碼以後,重新進行測試,確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。自動迴歸測試將大幅降低系統測試,維護升級等階段的成本

測試流程:冒煙——>系統——>迴歸

    4.驗收測試:部署軟體之前的最後一個測試操作,他是技術測試的最後一個階段,也叫交付測試,驗收測試的目的是確保軟體準備就緒,按照專案合同,任務書,雙方越大的驗收依據文件,向軟體購買都展示該軟體系統滿足原始需求

  • 測試階段:系統測試通過之後
  • 測試物件:整個系統(包括軟硬體)
  • 測試人員:主要是終端使用者或者需求方
  • 測試依據:使用者需求,驗收標準
  • 測試方法:黑盒測試
  • 測試內容:同系統測試

 

二、按測試實施組織

1.Alpha測試:出廠前最後一次測試,開發和測試人員不參與

  • 預釋出環境,專案以外的人員參與,使用者不參與

2.beta測試:由軟體的終端使用者們在一個或多個客房場所進行

  • 使用者環境,使用者參與,是一種驗收測試

3.第三方測試:軟體評測機構,或外包給一個公司

 

三、按是否執行劃分

1.靜態測試:不執行被測程式本身,僅通過語法,結構,過程,介面等來檢查程式的正確性。對需求規格說明書,軟體測試說明書,源程式做結構分析,流程圖分析,符號執行來找錯。分析如下:

  • 檢查項:程式碼風格和規則稽核;程式設計和結構的稽核,業務邏輯的稽核
  • 靜態質量:功能的有效性,可靠性,可用性,有效性,可維護性,可移植性
  • 程式碼靜態分析和文件測試都屬於靜態測試

2.動態測試:通過執行被測程式,檢查執行結構與預期結果的差異,並分析執行效率,正確性和健壯性等效能

  • 由構造測試用例,執行程式,分析程式的輸出結果,三部分組成
  • 大多數軟體測試都是動態測試

 

四、按是否手工劃分:

1.手工測試:是由人去一個一個輸入用例,然後觀察結果,和機器測試相對應,屬於比較原始但是必須的一個步驟

  • 優點:自動化無法代替探測性測試,發生思維類無既定的結果的測試
  • 缺點:執行效率滿,量大易錯

2.自動化測試:就是在預設條件下,執行系統或應用程式,評估執行結果,預先條件應包括正常條件和異常條件。簡單來說,自動化測試就是把以人為驅動的測試行為轉化為機器執行的一種過程

  • 自動化測試按測試物件來分,還可以分為介面測試,UI測試。(介面測試的ROI(產出投入比)比UI測試高)
  • 自動化測試比如:功能測試自動化,效能測試自動化,安全測試自動化

五、按是否檢視程式碼劃分

1.黑盒測試:也稱為功能測試,測試中將被測軟體當成一個黑盒子,不關心盒子的內部結構是什麼,只關係軟體的輸入資料和輸出資料

2.白盒測試:又稱為結構測試,邏輯驅動測試,白盒測試指的是開啟盒子,去研究裡面的原始碼和程式結果

  • 介面測試也是白盒測試的一種

3.灰盒測試:是介於白盒測試和黑盒測試之間的一種測試方法,灰盒測試多用於整合測試階段,不僅關注輸入輸出,還關注程式內部的清空

六、按測試地域劃分

1.國際化測試

2.本地化測試

七、按測試物件劃分

  • 功能測試——對物件的各個功能進行測試
  • 效能測試——對資源的利用,吞吐量,響應時間,處理角度等進行的監測等
  • 介面測試——介面是否美觀,完整。排版,佈局是否合理,整體風格是否一致等等
  • 容錯性測試——異常情況下軟體是否具有防護性的措施或滿足災難性恢復手段
  • 安全測試——例如web的安全性測試,需要熟悉各種網路協議,TCP\HTTP,防火牆,CDN等
  • 相容性測試——web測試(瀏覽器),app測試(不同作業系統)
  • 易用性測試——使用者體驗
  • 文件測試——文件的術語,正確性,完整性,一致性,易用性
  • 業務測試
  • 安裝測試——安裝,解除安裝
  • 記憶體洩漏測試

相關文章