測試—測試方法

白菜W同學發表於2020-10-06

一、是否關注被測物件的邏輯結構

(一)黑盒測試/手工

定義:把程式看作一個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。主要針對軟體介面和軟體功能進行測試。

1. 黑盒測試的主要設計方法:

  • 等價類劃分法
  • 邊界值分析法
  • 錯誤推測法
  • 因果圖法
  • 正交試驗分析法
  • 狀態遷移圖法
  • 流程分析法

2. 黑盒測試優缺點

優點:

  • 容易實施,不需要關注內部的實現
  • 更貼近使用者的使用角度

缺點:

  • 測試覆蓋率角度,一般只能覆蓋到程式碼量的不到40%
  • 針對黑盒測試的自動化測試,複用率較低,維護成本高

3. 黑盒測試型別

  • 功能測試
  • 效能測試
  • 安全性測試
  • 可靠性測試
  • 易用性測試

(二)白盒測試/單元測試

定義:白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基於程式碼的測試。白盒測試是一種測試用例方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。"白盒"法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文字。

1. 白盒測試的分析方法:

  • 靜態分析方法:控制流分析、資料流分析、資訊流分析
  • 動態分析方法:邏輯覆蓋、程式插裝

2. 白盒測試優缺點

優點:

  • 一般在測試前期進行,通過達到一定的邏輯,覆蓋率指標,成本較低
  • 可以檢測程式碼中的每一條分支和路徑
  • 對程式碼測試比較徹底

(三)灰盒測試

定義:灰盒測試是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於整合測試階段,不僅關注輸出、輸入的正確性,同時也關注程式內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程式的內部邏輯,常常是通過一些表徵性的現象、事件、標誌來判斷內部的執行狀態。

二、是否需要藉助工具

(一)手工測試

  • 資料庫: MySQL oracle
  • 抓包工具: Charles fiddler
  • 專案管理工具: 禪道、QC、leangoo
  • 介面測試工具: POSTMAN

(二)自動化測試

  • UI自動化測試:selenium、robotframework、移動端appium
  • 介面自動化測試:jmeter、程式碼測試python+unittest、程式碼測試java+junit/testng
  • 壓力自動化:jmeter、loadrunner

自動化測試優點
1.減少重複性的測試
2.增加軟體的信任度
3.高效率、速度快
4.高複用性
5.機械、發現缺陷率低
6.準確、可靠


相關文章