軟體可測試性 軟體可測試性Software testability是指一個软件工件軟體系統模組需求文件或設計文件等在一給定的測試環境下可支援測試的程度 許多軟體系統是不可測試的或是無法立即測試例如Google的ReCAPTCHA若沒有任何有關圖的元資料則無法成為可測試的系統不過若針對每一張圖都有對應說明應有結果的標籤就可以測試此一系統因此软件工件的可測試性不是内在英语Intrinsic and extrinsic properties性質不像軟體大小一様可以直接量測軟體可測試性是外在性質由待測試的軟體及測試目標方法及測試資源測試環境之間的相互關係來決定 可測試性和設計良好程度的相關性可由以下現象看出低內聚性高耦合力存在多餘程式碼以及缺乏封裝的程式往往也是不容易測試的程式若軟體的可測試性低可能會造成測試工作的增加在一些極端的情形下缺乏可測試性可能會使部份甚至全部的測試或对軟體需求英语Software requirements的评估無法進行 為了要找到可測試性以及利用測試找到系統中潛在錯誤假設有錯誤時的難度的關係有一種評估可測試性的相對指標是每一次需要多少的測試用例才能形成完整的測試套件在測試了所有測試用例後所得到的結果可以確定此系統符合某規格或不符合某規格不會有模糊地帶若數量不大表示程式的可測試性高依照此方式已有提出可測性等級testability hierarchy