基本介紹
- 中文名:軟體可測試性
- 外文名:Software testability
- 性質:支援測試的程度
- 領域:計算機
簡介,背景知識,軟體元件的可測試性,需求的可測試性,可測試性,
簡介
軟體工件的可測試性不是一個內在性質,不像軟體大小一様可以直接量測。軟體可測試性是一個外在性質,由待測試的軟體及測試目標、方法及測試資源(測試環境)之間的相互關係來決定。
背景知識
依照實證的假設,軟體測試的工作量及有效性和以下幾個因素有關:
- 軟體需求的性質。
- 軟體本身的性質(像大小、複雜度及可測試性)。
- 測試方法的的性質。
- 開始及測試流程的性質。
- 和測試流程有關人員的資格和動機。
軟體元件的可測試性
軟體元件(模組或類別)的可測試性和以下因素有關:
- 可控制性:是否可以將待測元件的狀態控制到如測試條件要求。
- 可觀察性:是否可以觀察(中間或最後的)測試結果。
- 可隔離性:待測元件是否可以隔離測試。
- 關注點分離:待測元件是否有單一且清楚定義的任務。
- 易懂性:待測元件是否有說明文檔,或是本身可讀性很高。
- 可自動化性:待測元件是否可以自動測試。
- 異質性:是否需要不同的測試方法及工具平行測試。
軟體元件的可測試性可以用以下方式提升:
- 可測性設計(design for testability),類似硬體的為測試而設計。
需求的可測試性
具有測試性的軟體需求需求要符合以下的條件:
- 一致性
- 完整性
- 明確不含糊
- 可量化(像“反應時間快”的需求是無法被驗證的),可被度量的
- 實務上的軟體驗證及確認(不只是理論上可行,在有限資源下也是可實現的)
可測試性
可測試性是有關實驗假說的一種性質,包括二個方面:
簡單來說,若假說有可測試性,表示實際上有可能可以根據結果判斷假說的正確與否。