|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统的测试 > 软件测试的基本方法 >
|
考试要求:了解
相关知识点:11个
|
|
|
|
白盒测试是对软件的开发过程中细节做细致的检查,把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有的逻辑路径进行测试。通过在不同点检查程序状态,以确定实际状态是否与预期的状态一致。因此,白盒测试又称为结构测试或逻辑驱动测试。
|
|
|
白盒测试只测试软件产品的内部结构和处理过程,而不测试软件产品的功能。白盒测试用于纠正软件系统在描述、表示和规格上的错误,是进一步测试的前提。
|
|
|
白盒测试方法分为静态测试和动态测试。静态测试是不通过执行程序而进行的测试,用于检查软件的表现和需求规格说明描述是否一致。动态测试是指软件执行时,在模拟或真实的软件环境中对软件系统执行之前、执行之中和执行之后进行测试,根据程序的控制结构设计测试用例,具体原则如下:
|
|
|
(1)保证一个模块中的所有独立路径至少被使用一次。
|
|
|
(2)对所有的逻辑值均需测试true和false。
|
|
|
|
|
|
逻辑覆盖法又称为控制流覆盖,是选择一组实体以满足覆盖标准,如语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,然后再选择一组覆盖该组实体的有限路径。下面通过示例来讲解逻辑覆盖方法。
|
|
|
|
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。
|
|
|
基本路径测试的关注点在于条件判定节点与循环节点对程序路径带来的复杂度的提高,它通过对程序执行路径的遍历来实现程序的覆盖。该法所遵循的基本测试原则是:对程序模块的所有独立执行路径至少测试一次。
|
|
|
|
程序的控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出地表示程序控制流的结构,如下图所示。
|
|
|
|
|
|
结点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。
|
|
|
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
|
|
|
|
环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度提供定量尺度的软件度量。
|
|
|
可以将环形复杂度用于程序基本路径测试。环形复杂度可以提供:程序基本集的独立路径数量和确保所有语句至少执行一次的测试数量的上界。
|
|
|
其中独立路径是指程序中至少引入了一个新的处理语句集合或一个新条件的程序通路,即独立路径必须至少包含一条在本次定义路径之前不曾用过的边。
|
|
|
测试可以被设计为基本路径集的执行过程,但基本路径集通常并不唯一。
|
|
|
环形复杂度以图论为基础,为我们提供了非常有用的软件度量。可用如下三种方法之一来计算环形复杂度:
|
|
|
|
|
|
其中,E是控制流图中边的数量,N是控制流图中的节点数量。
|
|
|
(3)给定控制流图G的环形复杂度V(G),也可定义为
|
|
|
|
|
|
|
|
②计算得到控制流图G的环形复杂度V(G),导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
|
|
|
|
④根据③中的独立路径,设计测试用例的输入数据和预期输出。
|
|
|