版权归原作者所有,如有侵权,请联系我们

[科普中国]-外部功能测试

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

外部功能测试是指引导测试去发现错误,并保证定义好的输入能够产生与预期结果相同的输出以及接口与调用关系,如兼容关系。在计算机程序或软件系统中,外部功能对于用户来说是不可或缺的,用户一般是通过软件系统的外部功能来获取系统的有关服务。外部功能测试对于一个软件的可用性和方便性十分重要。外部功能测试属于功能测试。

功能测试功能测试又称为黑盒测试、数据驱动测试或基于需求规格说明的测试,是一种常用的测试方法。黑盒测试是已知产品的功能设计规格,通过测试来检测每个功能是否都能符合要求。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,而不考虑实现功能的方法、途径,程序是否能适当地接收输人数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构。主要针对软件界面和软件功能进行测试。

功能黑盒测试法主要用于测试软件的功能需求,通过测试可以发现下列错误:

是否有不正确或遗漏的功能:在接口上。输入是否能正确的接受:能否输出正确的结果;是否有数据结构错误或外部信息(例如数据文件)访问错误:性能上是否能够满足要求;是否有初始化或终止性错误2。

方法目前常用的比较成熟的黑盒测试的方法主要有:等价类划分法、边界值分析法、因果图法和错误推测法。下面对这几种方法加以介绍并指出其优缺点。

(一)等价类划分法

等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例。测试用例由有效等价类和无效等价类的代表数据组成,从而保证测试用例具有完整性和代表性。

使用该方法设计测试用例主要有两个步骤:(1)确定等价类;(2)生成测试用例。

1.确定等价类

等价类是指被测软件的一个输入数据的集合,该集合中的任一元素对于揭露被测程序中的错误而言是等价的,即若该集合中的一个元素测试程序发现不了某类功能上明显的错误,那么其它元素测试该程序也发现不了这种错误。

确定等价类是将每一个输入条件划分为有效等价类和无效等价类。

有效等价类指程序规格说明书中规定的、合理的、有意义的输入数据。通过测试有效等价类中的数据可以测试被测软件是否实现了规格说明书中预先规定的功能和性能。无效等价类是有效等价类的补集,指软件规格说明书中没有规定的、没有意义的、不合理的输入数据集合。

2.生成测试用例

①为每一个等价类设置一个唯一的编号。

②设计新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)。

③设计新的测试用例,覆盖一个仅一个尚未被覆盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖。

(二)边界值分析法

边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。实际的测试工作证明,考虑了边界条件的测试用例比那些没有考虑边界条件的测试用例具有更高的测试回报率。这里所说的边界条件,是指输入和输入等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。

利用边界值分析法设计测试用例的原则:

1.如果输入条件规定了值的范围,那么应针对范围的边界设计有效的等价类测试用例,针对刚刚越界的情况设计无效等价类输入测试用例。

2.如果输入条件规定了输入值的数量(包括个数的多少,时间的长短),则应对该数量的最大值、最小值及比最大值小一、最小值大一的情况分别设计有效的输入测试用例。

3.如果程序中使用了一个内部数据结构,则应该内部数据机构的边界值设计测试用例。

4.如果程序的规格说明给出的输入域或输出域是有序集合,则应该取集合的第一个元素和最后一个元素设计测试用例。

(三)因果图法

因果图法也是较常用的一种黑盒测试方法,是一种简化了的逻辑图。因果图能直观地表明输入条件和输出动作之间的因果关系,能帮助测试人员把注意力集中到与程序功能有关的输入组合上。

因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

利用因果图法设计测试用例的步骤:

1.将规格说明分解为可执行的片段。该步骤必不可少,因为因果图不善于处理较大的规格说明。

2.分析并确定可执行片段中哪些是原因,哪些是结果。原因是指输入条件或者输入条件的等价类,而结果指输出条件。

3.为每一个原因和结果赋予唯一的标号,并根据规格说明书中的描述,画出因果图。

4.通过仔细地跟踪图中的状态变化情况,将因果图转换成一个有限项的判定表。表中的每一列代表一个测试用例。

(四)错误推测法

错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测当前被测程序中可能存在的缺陷和错误,有针对性地设计测试用例。

用错误推测法设计测试用例的基本思想是:列举出程序中可能犯出现的错误或容易发生错误的特殊情况的清单,然后根据清单和已经设计好的测试用例来编写特定的测试用例。例如,程序中出现的输入数据为“0”或者字符为空就是一种错误易发情况;在出现输入或输出的数量不定的地方,数量为“没有”和“一个”也是错误易发情况。特别需要注意的是,在阅读规格说明时联系程序员可能做的假设来确定测试用例,测试人员要站在用户的角度来考虑输入信息,而不必去管这些信息对于被测程序是合理还是不合理的输入。

外部功能测试的内容可用性测试可用性测试(Usability testing),是一项通过用户的使用来评估产品的技术,由于它反应了用户的真实使用经验,所以可以视为一种不可或缺的可用性检验过程。也就是说,可用性测试是指让用户使用产品(服务)的设计原型或者成品,通过观察,记录和分析用户的行为和感受,以改善产品(服务)可用性的一系列方法。它适用于产品(服务)前期设计开发,中期改进和后期维护完善的各个阶段,是用户中心设计的思想的重要体现。

可用性测试是可用性评估方法中最为常用的一种,作为人机交互研究的一个重要领域,已经被广泛研究。

方便性配置 OS 后可使计算机系统更容易使用。一个未配置 OS 的计算机系统是极难使用的,因为计算机硬件只能识别 0 和 1 这样的机器代码。用户要直接在计算机硬件上运行自己所编写的程序,就必须用机器语言书写程序;用户要想输入数据或打印数据,也都必须自己用机器语言书写相应的输入程序或打印程序。如果我们在计算机硬件上配置了 OS,用户便可通过 OS 所提供的各种命令来使用计算机系统。比如,用编译命令可方便地把用户用高级语言书写的程序翻译成机器代码,大大地方便了用户,从而使计算机变得易学易用。

兼容性评价计算机性能的一个指标。指计算机设备或程序能兼用于多种不同系统的性能.下面分别说明硬件兼容性和软件兼容性。

硬件兼容性指一种机器的目标码可以在另一种机器上执行,所得结果与原机器的执行结果完全相同.实现硬件兼容性有两种途径:一是两种机器采用完全相同的指令系统;二是在第二种机器中设置一些专用指令,遇到该机器所没有的指令时,就将其翻译成对应的指令,使执行结果完全相同.经过少许调整或不需调整就能用于其他系统中的部件、外部设备或其他设备,称为兼容硬件。

软件兼容性指用某种语言编写的源程序可在两种不同的机器上分别进行翻译并加以执行,所得的结果基本相同,但两种机器的指令系统可能有很大差异。