fbpx
维基百科

軟體可測試性

軟體可測試性(Software testability)是指一個软件工件(軟體系統、模組、需求文件或設計文件等)在一給定的測試環境下,可支援測試的程度。

許多軟體系統是不可測試的,或是無法立即測試。例如Google的ReCAPTCHA,若沒有任何有關圖的元資料,則無法成為可測試的系統。不過若針對每一張圖,都有對應說明應有結果的標籤,就可以測試此一系統。因此软件工件的可測試性不是内在英语Intrinsic and extrinsic properties性質,不像軟體大小一様可以直接量測。軟體可測試性是外在性質,由待測試的軟體及測試目標、方法及測試資源(測試環境)之間的相互關係來決定。

「可測試性」和設計良好程度的相關性可由以下現象看出:低內聚性、高耦合力、存在多餘程式碼,以及缺乏封裝的程式往往也是不容易測試的程式[1]。若軟體的可測試性低,可能會造成測試工作的增加。在一些極端的情形下,缺乏可測試性可能會使部份甚至全部的測試或对軟體需求英语Software requirements的评估無法進行。

為了要找到可測試性以及利用測試找到系統中潛在錯誤(假設有錯誤時)的難度的關係,有一種評估可測試性的相對指標,是每一次需要多少的測試用例才能形成完整的測試套件(在測試了所有測試用例後,所得到的結果可以確定此系統符合某規格,或不符合某規格,不會有模糊地帶)。若數量不大,表示程式的可測試性高。依照此方式,已有提出可測性等級(testability hierarchy)[2][3]

背景知識 编辑

依照实证的假設,軟體測試的工作量及有效性和以下幾個因素有關:

  • 軟體需求英语Software requirements的性質。
  • 軟體本身的性質(像大小、複雜度及可測試性)。
  • 測試方法的的性質。
  • 開始及測試流程的性質。
  • 和測試流程有關人員的资格和动机。

軟體元件的可測試性 编辑

軟體元件(模組或類別)的可測試性和以下因素有關:

  • 可控制性:是否可以將待測元件的狀態控制到如測試條件要求。
  • 可觀察性:是否可以觀察(中間或最後的)測試結果。
  • 可隔離性:待測元件是否可以隔離測試。
  • 关注点分离:待測元件是否有單一且清楚定義的任務。
  • 易懂性:待測元件是否有說明文檔,或是本身可讀性很高。
  • 可自动化性:待測元件是否可以自動測試。
  • 异质性:是否需要不同的測試方法及工具平行測試。

軟體元件的可測試性可以用以下方式提昇:

需求的可測試性 编辑

具有測試性的軟體需求英语Software requirements需求要符合以下的條件:

  • 一致性
  • 完整性
  • 明确不含糊
  • 可量化(像「反應時間快」的需求是無法被驗證的)
  • 實務上的軟體驗證及確認(不只是理論上可行,在有限資源下也是可實現的)

相關條目 编辑

參考資料 编辑

  1. ^ Shalloway, Alan; Trott, Jim. Design Patterns Explained, 2nd Ed . 2004: 133. ISBN 978-0321247148. 
  2. ^ Rodríguez, Ismael; Llana, Luis; Rabanal, Pablo. A General Testability Theory: Classes, properties, complexity, and testing reductions. IEEE Transactions on Software Engineering. 2014, 40 (9): 862–894 [2020-09-15]. ISSN 0098-5589. doi:10.1109/TSE.2014.2331690. (原始内容于2021-04-17). 
  3. ^ Rodríguez, Ismael. A General Testability Theory. CONCUR 2009 - Concurrency Theory, 20th International Conference, CONCUR 2009, Bologna, Italy, September 1–4, 2009. Proceedings: 572–586. 2009. ISBN 978-3-642-04080-1. doi:10.1007/978-3-642-04081-8_38. 

軟體可測試性, software, testability, 是指一個软件工件, 軟體系統, 模組, 需求文件或設計文件等, 在一給定的測試環境下, 可支援測試的程度, 許多軟體系統是不可測試的, 或是無法立即測試, 例如google的recaptcha, 若沒有任何有關圖的元資料, 則無法成為可測試的系統, 不過若針對每一張圖, 都有對應說明應有結果的標籤, 就可以測試此一系統, 因此软件工件的可測試性不是内在, 英语, intrinsic, extrinsic, properties, 性質, 不像軟體大小一様. 軟體可測試性 Software testability 是指一個软件工件 軟體系統 模組 需求文件或設計文件等 在一給定的測試環境下 可支援測試的程度 許多軟體系統是不可測試的 或是無法立即測試 例如Google的ReCAPTCHA 若沒有任何有關圖的元資料 則無法成為可測試的系統 不過若針對每一張圖 都有對應說明應有結果的標籤 就可以測試此一系統 因此软件工件的可測試性不是内在 英语 Intrinsic and extrinsic properties 性質 不像軟體大小一様可以直接量測 軟體可測試性是外在性質 由待測試的軟體及測試目標 方法及測試資源 測試環境 之間的相互關係來決定 可測試性 和設計良好程度的相關性可由以下現象看出 低內聚性 高耦合力 存在多餘程式碼 以及缺乏封裝的程式往往也是不容易測試的程式 1 若軟體的可測試性低 可能會造成測試工作的增加 在一些極端的情形下 缺乏可測試性可能會使部份甚至全部的測試或对軟體需求 英语 Software requirements 的评估無法進行 為了要找到可測試性以及利用測試找到系統中潛在錯誤 假設有錯誤時 的難度的關係 有一種評估可測試性的相對指標 是每一次需要多少的測試用例才能形成完整的測試套件 在測試了所有測試用例後 所得到的結果可以確定此系統符合某規格 或不符合某規格 不會有模糊地帶 若數量不大 表示程式的可測試性高 依照此方式 已有提出可測性等級 testability hierarchy 2 3 目录 1 背景知識 2 軟體元件的可測試性 3 需求的可測試性 4 相關條目 5 參考資料背景知識 编辑依照实证的假設 軟體測試的工作量及有效性和以下幾個因素有關 軟體需求 英语 Software requirements 的性質 軟體本身的性質 像大小 複雜度及可測試性 測試方法的的性質 開始及測試流程的性質 和測試流程有關人員的资格和动机 軟體元件的可測試性 编辑軟體元件 模組或類別 的可測試性和以下因素有關 可控制性 是否可以將待測元件的狀態控制到如測試條件要求 可觀察性 是否可以觀察 中間或最後的 測試結果 可隔離性 待測元件是否可以隔離測試 关注点分离 待測元件是否有單一且清楚定義的任務 易懂性 待測元件是否有說明文檔 或是本身可讀性很高 可自动化性 待測元件是否可以自動測試 异质性 是否需要不同的測試方法及工具平行測試 軟體元件的可測試性可以用以下方式提昇 测试驱动开发 可测性设计 design for testability 類似硬體的為測試而設計 需求的可測試性 编辑具有測試性的軟體需求 英语 Software requirements 需求要符合以下的條件 一致性 完整性 明确不含糊 可量化 像 反應時間快 的需求是無法被驗證的 實務上的軟體驗證及確認 不只是理論上可行 在有限資源下也是可實現的 相關條目 编辑可測試性參考資料 编辑 Shalloway Alan Trott Jim Design Patterns Explained 2nd Ed nbsp 2004 133 ISBN 978 0321247148 含有內容需登入查看的頁面 link Rodriguez Ismael Llana Luis Rabanal Pablo A General Testability Theory Classes properties complexity and testing reductions IEEE Transactions on Software Engineering 2014 40 9 862 894 2020 09 15 ISSN 0098 5589 doi 10 1109 TSE 2014 2331690 原始内容存档于2021 04 17 Rodriguez Ismael A General Testability Theory CONCUR 2009 Concurrency Theory 20th International Conference CONCUR 2009 Bologna Italy September 1 4 2009 Proceedings 572 586 2009 ISBN 978 3 642 04080 1 doi 10 1007 978 3 642 04081 8 38 Robert V Binder Testing Object Oriented Systems Models Patterns and Tools ISBN 0 201 80938 9 Stefan Jungmayr Improving testability of object oriented systems ISBN 3 89825 781 9 Wanderlei Souza Abstract Testability Patterns ISSN 1884 0760 取自 https zh wikipedia org w index php title 軟體可測試性 amp oldid 70481406, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。