黑盒测试理论外文翻译资料

 2023-04-05 20:50:27

英语原文共 30 页,剩余内容已隐藏,支付完成后下载完整资料


黑盒测试理论

穆罕默德Torabi Dashtilowast;大卫盆地

摘要

系统需求测试的目的是驳斥系统满足需求的假设。我们建立了一个基于满意和基本概念的检验和反驳理论。我们使用这个理论可以描述通过黑盒测试反驳的需求,同时也可以通过这样的测试来验证是否满足需求。我们用计算约束扩展我们的理论,并在时间超属性的背景下将反驳与执行分开。总的来说,我们的理论为分析黑盒测试的范围,以及连接来自不同领域的结果(包括测试、验证和执行)提供了一个基础理论。

关键词。测试;驳斥;黑盒系统

1介绍

问题

在黑盒测试中,被测试系统的内部结构,包括其硬件和实现的算法和数据结构,对测试人员来说是未知的。当测试人员不能访问,或者关于被测试系统的辅助信息时,黑盒测试的需求就会出现,除了他们可以通过与系统的接口进行交互来观察之外,例如,通过向系统提供输入并观察其输出。

尽管黑盒设置很简单,测试也很重要,但是黑盒测试的理论还不成熟,并且缺乏对其力量和局限性的深入理解。例如,人们普遍认为,针对需求测试系统的目的是驳斥系统满足需求的假设[16,36]。然而,现有的测试理论不足以回答黑盒环境中的基本问题,例如:给定一类测试,哪一类需求是可以反驳的?或者,哪一类测试(如果有的话)可以反驳一类需求?

我们开发了一个黑盒测试理论,它解释了通过观察系统的行为可以确定什么。我们的理论充分地描述了可反驳和可验证的要求。这意味着它精确地指定了哪些违反的系统需求(分别满足)可以通过黑盒测试来演示,或者不能。用这种方法确定测试的极限,类似于在复杂性理论中确定界定有效计算边界的基本结果。此外,我们的理论帮助测试人员理解他们在执行测试时可能做出的内隐假设的结果,例如,系统是确定性的。我们的理论也为将测试结果与相关学科联系起来提供了基础。

方法

我们从系统和需求的抽象模型(sect;2)开始,并介绍两种类型的需求:义务和禁止(sect;3)。如果需求要求系统显示某些(期望的)行为,那么它就是义务;如果它禁止系统显示(不期望的)行为,那么它就是禁止。在这里,行为可以是,例如,输入/输出对的集合,或跟踪的集合。功能需求通常是义务,而安全需求通常是禁忌。我们表明,这两种需求类型承认一个简单的序论表征。也就是说,给定一组系统的细化(或抽象)部分顺序,义务的满足是抽象封闭的,而禁止则是细化封闭的。

接下来我们转向黑盒测试(sect;4)。给定一个黑盒系统,测试人员可以观察它的输入和输出,但是不能观察后者是如何从前者产生的。因此,测试人员只能通过与它的界面进行交互来分析这样的系统,而不是通过,例如,分析它的软件。在黑盒测试(有时称为“抽样测试”[16])中,测试相当于检查系统行为的一个样本。通过测试获得的样本可以被看作是被测试系统的改进,这是我们在后续章节中明确的概念。测试人员通过抽样只知道系统表现出某些行为。由此,测试人员不能推断系统没有表现出其他行为。这样的结论只能通过样本的详尽性来证明,而单凭黑盒测试是无法证实的。因此,如果对任何违反需求的系统来说,系统满足需求的假设可以通过检查系统的改进来反驳,那么需求就可以通过测试来反驳。

由此可以得出,如果一个需求的违反是建立在证明没有行为的基础上的,则不能通过黑盒测试来反驳。在此基础上,我们证明任何可反驳的要求都是一种禁止,所有非微不足道的义务都是不可反驳的(sect;5)。然后,我们将验证的概念定义为反驳的双重,并表明任何可验证的要求都是一种义务,而非微不足道的禁令不能通过测试来验证(sect;6)。

上面概述的理论旨在从总体上界定黑盒测试的范围和范围。然而,它没有考虑到黑盒测试在实践中的两个主要限制:测试必须在有限的时间内进行,测试预言必须是可计算的。我们专门研究我们的理论以适应这些限制。也就是说,我们引入了有限可驳斥性(和双重有限可验证性)的概念,并描述了有限可驳斥性(可验证)要求的类别(sect;7)。我们的主要结果是将有限可反驳的时间要求与安全特性和超安全超特性联系起来。通过考虑测试神谕被限制为可计算的情况,我们进一步细化了这个理论(sect;8)。我们使用这种专门化来分离那些可被驳斥的属性和那些可通过运行时监视强制执行的属性。

虽然sect;7和sect;8与我们的黑盒测试理论有关,但在sect;9中,我们考虑了一个泛化:在灰盒设置中进行测试,在灰盒设置中,测试人员可能拥有被测试系统的部分信息。获取辅助信息可以扩大可反驳要求的集合,这并不奇怪。我们在这里的主要结果是表明,在辅助信息的帮助下,反驳可以简化为反驳禁令的任务。这一结果进一步说明了上述禁忌与可驳性之间的紧密联系。我们还使用这种概括来解释几个著名的测试技术中隐含的假设(sect;10)。

总之,我们提出了一个基本的理论来推理黑盒测试的强度和局限性。我们的理论是抽象的,有最小的形式机制,这使它易于推广。我们提出了解释有限时间的反驳、计算约束下的反驳和辅助信息辅助的反驳的特殊化和一般化。我们用这些证明新的结果,并得到已知的结果作为特殊情况,如下所述。

贡献

我们的第一个贡献是上面概述的理论。我们使用它来充分描述可以被驳斥和可以通过黑盒测试验证的需求。我们的证据很短;它们通常相当于简单地展开定义。这表明我们的理论在关于黑盒测试的推理中处于正确的抽象水平,观察到该理论适合于前面讨论的直接、直接的扩展,进一步支持了这一主张。

我们的第二个贡献是展示了如何用我们的理论以一种直接的方式导出已知和新的结果。特别地,我们提出有限可驳性理论的不同应用(sect;7)。例如,我们证明了由Clarkson和Schneider[14]建立的超安全时间要求的有限可证伪性可以作为我们理论中的一个特例导出。作为另一个例子,我们使用我们的特性来区分可反驳性和可执行性:我们表明任何可执行的时间要求都是可反驳的,但是可反驳的要求不一定是可执行的。这种分离依赖于分析反驳(和执行)的计算约束,通过算法上可反驳的要求的概念(sect;8)。此外,我们理论的抽象性质允许我们在算法可驳倒性、拓扑学和递归理论之间建立联系。

我们的第三个贡献是利用我们通过黑盒测试对可驳倒性的描述,增强并阐明存在于社区中的测试的民俗理解。举个例子,考虑一下Dijkstra的声明,“程序测试可以用来显示bug的存在,但永远不能显示它们的缺失”,这句话在软件测试社区中被广泛引用。我们做了一个更精确的版本,并表明它的证明是独立于输入域的基数,即。,你必须考虑的测试用例的数量。此外,我们使用我们的表征来纠正围绕Dijkstra声明的民间传说,例如,测试永远不能用来建立一个系统满足一个需求。作为第二个例子,我们强调确定性假设在理解日常的黑盒功能测试中发挥的基本作用(sect;9)。特别地,根据我们的理论,我们检查了三种突出的测试技术,即功能测试、基于模型的测试和模糊测试,并解释了它们隐含的假设(sect;10)。我们在sect;11中讨论了其他相关的工作,并在sect;12中讨论了我们的理论的局限性。

这里描述的部分工作在[47]中发布。当前的文章通过附加的技术细节、示例和解释扩展了前面的工作,这些技术细节涉及可驳倒性、可验证性和黑盒测试的概念。此外,辅助假设下的可驳倒性概念(sect;9)以及对测试实践的系统回顾(sect;10)都是全新的。

2系统与要求

我们给出了系统和需求的简单抽象模型,它们是我们理论的主要组成部分。

系统是能够展示可观察到的行为的实体。操作系统、数字电路和自动售货机都是系统的例子。我们暂时不指定可观察行为的概念,而是将系统作为一组具有相关部分顺序的对象来处理。也就是说,让D表示考虑的所有系统的非空集合,这是我们的论述领域。我们假设(D, ?)是一个部分有序集(偏序集),其中?表示求精关系:S1 ?S2 意味着S2 表现出S的所有行为1.在这种情况下,我们说系统S1细化了系统S2,或者系统S2抽象了系统S1。

在细化和抽象方面有大量的研究;参见[1,34,51]。细化关系的示例包括轨迹包容和各种代数模拟关系。为了通用性的利益,我们不绑定?对任何特定的关系。我们写lceil;Srceil;和lfloor;Srfloor;

分别为抽象系统S和细化系统S的系统集:lceil;Srceil;= {S isin;D | S ?S }和lfloor;Srfloor;= {S isin;D | S ?S}。我们假设偏序集(D, ?)是有界的:它有一个最大的元素⊤和一个最小的元素perp;。“混沌”系统⊤(有时被称为“最弱”系统[27]),是对每个系统的抽象,而“空”系统是Dperp;perp;的,是对每个系统的精细化。简而言之,我们的系统模型是一个四元组(D, ?,perp;,⊤)。

我们注意到⊤和perp;都是虚拟实体,因为没有必要构建它们。我们将使用⊤来推断测试人员的知识局限性。相反,严格地说,perp;对我们理论的发展是不必要的。我们引入它是为了对称,并作为“空”系统的简写。

我们扩展地将需求定义为一组系统。一个属于R的系统满足需求R,例如规定系统是确定性的需求由d中所有的确定性系统组成。现在我们不需要再阐述系统与需求之间的满足关系;我们稍后会举例说明。我们为需求R的特征函数编写chi;R,它将D映射到{0,1}。一个需求R是平凡的,如果D中的所有系统或没有系统满足它,即chi;R是一个常数函数,如果R是平凡的。

很明显(R,sube;)是一个完整的格,其中R是所有需求的集合,sube;是标准集合包含关系。我们定义两个条件R1和R2的合取,表示为R1and;R2,表示为它们的满足,它们的分离,表示为R1 or;R2作为他们的结合。对于非空系统集R,我们写lceil;Rrceil;= Sisin;Rlceil;Srceil;和lfloor;Rrfloor;= Sisin;Rlfloor;Srfloor;。如果R =lceil;Rrceil;,集合R是抽象封闭的,如果R =lfloor;Rrfloor;,集合R是精炼封闭的。这样的集合在序论中称为上集,分别称为下集。

3需求类型

我们定义了义务和禁忌,并证明了区分这些需求类型的引理(sect;3.1)。之后,我们描述那些可以被表达为义务和禁止的结合的要求(sect;3.2)。最后,我们对义务和禁忌给出了直观的解释,分别是系统行为的下限和上限(sect;3.3)。

义务和禁止

如果需求要求系统显示某些(期望的)行为,例如预期的功能和特性,那么它就是一种义务。例如,数据库系统的需求要求它向用户提供提交事务的选项。不能通过向系统添加行为来违反这一需求,例如通过向用户提供查看事务的选项。因此义务R的满足是抽象封闭的:forall;S, S isin;D. Sisin;Rand;S ?S →S isin;A R。如果需求禁止系统显示某些(不希望的)行为,那么需求就是禁止。例如,考虑禁止数据库系统提交格式不正确的事务的需求。不能通过从系统中删除行为来违背这一需求,例如删除提交事务的选项。也就是说,一个禁令R的满足是精闭的:forall;S, S isin;D. Sisin;Rand;S ?S→S isin;R。

重写前两个公式得到如下定义:

定义1。如果R =|R|,则要求R是义务;如果R =|R|,则R是禁止。

下面的例子说明了sect;2、义务和禁忌的系统模型。该示例还介绍了我们一直使用的扩展输入输出系统模型eio

本文。这个模型强调了交互系统的两个特征:(1)区分输入和输出,(2)对任何输入做出反应,要么产生输出(包括不希望的输出,如抛出异常或崩溃),要么发散,即不终止。

例1。以系统模型(2Ntimes;N,sube;,empty;,Ntimes;N)为例,系统引申定义为Ntimes;N的子集,其中N为自然数集,求精关系为标准子集关系。对于输入iisin;N,系统S从集合{Nisin;N | (i, N)isin;S}中非确定性地选择了一个输出o,当{Nisin;N | (i, N)isin;S}为空时,系统S不产生任何输出。我们称这个系统模型为eio。请注意,由于它的外延定义,这个模型没有区分定义了N times; N的相同子集的两个系统,但它们在其他方面是不同的,例如,其中一个运行速度比另一个快。

系统是确定性的要求P是一个禁忌:如果S是确定性的,即forall;iisin;n |{nisin;n | (i, n)isin;S}|le;1,则S的任何细化即子集也是确定性的。特别地,空系统满足确定性的定义。

系统定义总关系的要求O是一种义务:如果S是总的,即forall;iisin;n |{nisin;n | (i, n)isin;S}| gt; 0,则S的任何抽象即超集也是总的,其中⊤是总的。

说明系统可引申定义总函数的要求R,显然既不是禁止也不是义务:从forall;iisin;n |{nisin;n | (i, n)isin;S}| = 1,我们不能断定S的任意子集或超集定义了总函数。注意R = Oand;P。

这里有两点备注。首先,定义1限定了需求满足和细化概念之间的关系。例如,在逻辑学中可以找到类似的公式。一个满意的句子在扩大模型集之后仍然是满意的,而一个有效的句子在减少模型集之后仍然是有效的。在这个意义上,义务类似于可满足性,而禁止类似于有效性。

第二,从语法上重新构造需求描述并不会影响它的类型。例如,系统不能为任何输入产生两个(或更多)不同的输出的禁令可以在语法上重新表述,因为系统可以为每个输入产生最多一个输出而不影响其类型。后者允许某些行为,而前者禁止某些行为。第二个例子,禁止“什么也不做”的需求F是抽象封闭的,仅仅是因为除perp;外的所有系统都满足F,也就是说,F是一种义务,尽管它的声明中出现了“禁止”一词。简而言之,需求的语法伪装在确定其类型方面不起作用。

我们现在通过展示一个非平凡的需求不能同时属于这两种类型来区分义务和禁止。要求R是对chi;的义务R 在?内单调递增,即S ?年代→chi;R(S)le;chi;R(年代)。同样,R是对chi;的禁忌R 是单调递减的,也就是S ?年代→chi;R(年代)le;chi;R(S)。因此,任何既是义务又是禁止的要求必须具有恒定的特征功能,因此是微不足道的。下面的引理是直接的。(所有证据见附录A)

引理1。如果需求R既是义务又是禁忌,那么R是微不足道的。

这个引理意味着禁止不能被义务取代,反之亦然。例如,禁止吸烟没有同等的义务,牺牲一只公羊的义务没有同等的义务。然而引理并不意味着义务和禁止耗尽了一套要求。非单调要求,即特征函数既不是单调递增也不是单调递减的要求,既不是义务,也不是禁忌。例如例1中规定的R = Oand;P,既不是义务,也不是禁止,因为它不是单调的。

许多实际

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[590525],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。