複製鏈接
請複製以下鏈接發送給好友

軟件可測試性

鎖定
軟件可測試性(Software testability)是指一個軟件工件(軟件系統、模組、需求文件或設計文件等)在一給定的測試環境下,可支援測試的程度。
中文名
軟件可測試性
外文名
Software testability
性    質
支援測試的程度
領    域
計算機

軟件可測試性簡介

軟件工件的可測試性不是一個內在性質,不像軟件大小一様可以直接量測。軟件可測試性是一個外在性質,由待測試的軟件及測試目標、方法及測試資源(測試環境)之間的相互關係來決定。
若軟件的可測試性低,可能會造成測試工作的增加。在一些極端的情形下,缺乏可測試性可能會使部分甚至全部的測試或軟件需求無法進行。 [1] 

軟件可測試性背景知識

依照實證的假設,軟件測試的工作量及有效性和以下幾個因素有關:
  • 軟件需求的性質。
  • 軟件本身的性質(像大小、複雜度及可測試性)。
  • 測試方法的的性質。
  • 開始及測試流程的性質。
  • 和測試流程有關人員的資格和動機。 [1] 

軟件可測試性軟件元件的可測試性

軟件元件(模組或類別)的可測試性和以下因素有關:
  • 可控制性:是否可以將待測元件的狀態控制到如測試條件要求。
  • 可觀察性:是否可以觀察(中間或最後的)測試結果。
  • 可隔離性:待測元件是否可以隔離測試。
  • 關注點分離:待測元件是否有單一且清楚定義的任務。
  • 易懂性:待測元件是否有説明文檔,或是本身可讀性很高。
  • 可自動化性:待測元件是否可以自動測試。
  • 異質性:是否需要不同的測試方法及工具平行測試。
軟件元件的可測試性可以用以下方式提升:

軟件可測試性需求的可測試性

具有測試性的軟件需求需求要符合以下的條件:
  • 一致性
  • 完整性
  • 明確不含糊
  • 可量化(像“反應時間快”的需求是無法被驗證的),可被度量的
  • 實務上的軟件驗證及確認(不只是理論上可行,在有限資源下也是可實現的) [1] 

軟件可測試性可測試性

可測試性是有關實驗假説的一種性質,包括二個方面:
  1. 在邏輯上的性質,包括偶然性、可廢止性或是可證偽性,也就是説邏輯上此假説是有可能出現反例
  2. 實務上的性質,意思是指若存在反例,反例有再現性
簡單來説,若假説有可測試性,表示實際上有可能可以根據結果判斷假説的正確與否。 [2] 
參考資料
  • 1.    Stefan Jungmayr: Improving testability of object-oriented systems, ISBN 3-89825-781-9
  • 2.    Robert V. Binder: Testing Object-Oriented Systems: Models, Patterns, and Tools, ISBN 0-201-80938-9