This page looks best with JavaScript enabled

Testing Terminology

 ·  ☕ 1 min read

Test Case

test_case

  • 一個Test Case包含Test Input(測試輸入)、Test Oracle(預期輸出)、Enivironment(測試環境)
  • 有時test case等於test input,端看如何定義
  • 需要描述test case的環境

Testing vs. Debugging

test_vs_debug

  • Testing是執行test case並找出failure
  • Debugging則是定位處fault並矯正fault

Validation vs. Verification

Validation

  • 確認SPEC符合客戶的需求

Verification

  • 確認SPEC與實現是否一致

靜/動態測試

Static Testing

  • without excuting programs
  • 嚴格來講不算測試

Dynamic Testing

  • with excuting programgs
  • 大部分討論的都是動態測試

黑/白盒測試

Black-box Testing

  • without source code
  • 在測試中不需要知道內部的結構

White-box Testing

  • with source code
  • 需要原始碼,去分析可能出現的問題

灰盒測試?

  • 錯誤 - 白盒+黑盒測試
  • 正確 - 指透過其他程式或反編譯,獲得部分訊息,進而進行測試
  • 例子 - 在android中,透過反編譯得到結構訊息進行測試

Testing Level

testing level

  • 這些level定義的範圍是模糊的、非標準化,在不同公司可能有不同定義
  • 在Google中分為小、中、大測試 Google軟件測試之道

V-Model

V-model

  • 需求、設計、Coding、測試的流程
  • 由於現今的開發流程快速,這個模型可能已不大適用

測試過程

test_process

資料來源

V-Model
南京大學軟件測試課程

Share on

Bill Zhong
WRITTEN BY
Bill Zhong
Software Engineer