Loading AI tools
来自维基百科,自由的百科全书
软件可测试性(Software testability)是指一个软件工件(软件系统、模组、需求文件或设计文件等)在一给定的测试环境下,可支援测试的程度。
许多软件系统是不可测试的,或是无法立即测试。例如Google的ReCAPTCHA,若没有任何有关图的元资料,则无法成为可测试的系统。不过若针对每一张图,都有对应说明应有结果的标签,就可以测试此一系统。因此软件工件的可测试性不是内在性质,不像软件大小一様可以直接量测。软件可测试性是外在性质,由待测试的软件及测试目标、方法及测试资源(测试环境)之间的相互关系来决定。
“可测试性”和设计良好程度的相关性可由以下现象看出:低内聚性、高耦合力、存在多余程式码,以及缺乏封装的程式往往也是不容易测试的程式[1]。若软件的可测试性低,可能会造成测试工作的增加。在一些极端的情形下,缺乏可测试性可能会使部分甚至全部的测试或对软件需求的评估无法进行。
为了要找到可测试性以及利用测试找到系统中潜在错误(假设有错误时)的难度的关系,有一种评估可测试性的相对指标,是每一次需要多少的测试用例才能形成完整的测试套件(在测试了所有测试用例后,所得到的结果可以确定此系统符合某规格,或不符合某规格,不会有模糊地带)。若数量不大,表示程式的可测试性高。依照此方式,已有提出可测性等级(testability hierarchy)[2][3]。
依照实证的假设,软件测试的工作量及有效性和以下几个因素有关:
软件元件(模组或类别)的可测试性和以下因素有关:
软件元件的可测试性可以用以下方式提升:
具有测试性的软件需求需求要符合以下的条件:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.