Skip to main content

https://www.facebook.com/rick.kyhwang/posts/10210605483812694

說明一些關於 #軟體測試的 觀念:

  • 功能 (Functional)、整合 (Integration)、回歸 (Regression) 、效能 (Performance) 是不同的目標、目的 (請注意次序性)
  • 測試這些事情所具備的條件、資源、環境是不一樣的
  • 定義參閱 [1]

舉例

  • #功能:處理一張圖檔的縮圖處理 - 重點在於功能可否運作
  • #整合:處理一張圖縮圖 + 浮水印 + 改檔名 - 幾個功能放在一起運作邏輯
  • #回歸:1) 重新驗證曾經出現的 bug/detect, 2)重跑功能 + 整合所有的 test cases.
  • #效能:處理一萬張縮圖處理 - 重點在於完成所需的資源、時間

優先序:功能 > 整合 > 回歸 > 效能

觀察到的現象

  1. 很多人會把 功能 跟 效能 擺在一起測試,混為一談,特別是在規劃測試環境時,這兩個不能混為一談,會沒完沒了。
  2. 測試效能的前提是:功能能夠順利通過驗證。如果功能測試的可測性有問題,效能測試意義就不大。
  3. #整合測試 的排列組合無窮多,必須有使用者場景 (User Scenario) 支撐,參見 [3] 的案例分析
  4. 測試 也是 #解偶,不是啥東西都要扯在一起才能測。想想 AWS 怎麼測 EC2、VPC、DynamoDB ...

軟體測試的二分法

  1. 功能驗證 (FVT):#假設功能還沒好,目的是確認商業功能正確性,像是邏輯完整性、資料正確性、驗證與錯誤處理 … 等,強調功能本身的 #內聚力。
  2. 系統驗證 (SVT):#假設功能都好了,增加 外在環境因素 之後,把這些 功能 放到不同的環境會有什麼問題?強調外在 #耦合性、真實世界 的情境。

相關文章

[1] https://rickhw.github.io/2017/03/18/SQA/Stages-In-Software-Testing/
[2] https://rickhw.github.io/2018/03/18/SQA/Gossip-System-Testing/
[3] https://rickhw.github.io/2017/12/03/SQA/Regression-Test-Is-Tough/
[4] https://rickhw.github.io/2018/07/22/SQA/Performance-Test/