全球旧事资料 分类
有效的图示法。程序流程图详细地反映了程序部控制流的处理和转移过程,它一般是进行模块编码的参考依据。在程序流程图中,通常拥有很多种图示元素,例如,“矩形框”表示一个计算处理过程,而“菱形框”表示一个判断条件等。通常测试人员为某个程序模块做白盒测试过程中,在做与路径相关的各种分析的时候,这些非常细节的信息往往是不太重要。因此,为了更清晰突出地显示出程序的控制结构,反映控制流的转移过程,一种简化了的程序流程图便出现了,就是程序的控制流图。在控制流图中一般只有两种简单的图示符号:节点和控制流。
f1)节点。以标有编号的圆圈表示。它一般代表了程序流程图中矩形框所表示的处理、以及领形框所表示的判定条件,以及两条活多条节点的汇合点等。一个节点就是一个基本的程序块,它可以是一个单独的语句(如if条件判断语句,或循环语句),也可以是多个顺序执行的语句块。
2)控制流。以带箭头的弧线表示,用来连接相关的两个节点。它与程序流程图中的控制流所表示的意义是一致的,都是知识了程序控制的转移过程。为了便于处理,每个控制流也可以标有名字,这是继就相当于向图中的边。每条边必须要终止某一节点。
1212控制流图的基本控制结构的图形符号
在控制流图中,其基本的控制结构所对应的图形符号如下图。
(a)顺序结构(b)IFELSE结构(c)多分支结构(d)循环结构
122六种覆盖方法
首先为了下文的举例描述方便,这里先给出一程序流程图。
f1语句覆盖1)主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。2)用例设计:(如果此时将A路径上的语句1〉T去掉,那么用例如下)
X
Y
路径
150
50
OBDE
290
70
OBCE
3)优点:可以很直观地从源代码得到测试用例,无须细分每条判定表
达式。
4)缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但
对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。在本
例中去掉了语句1〉T去掉,那么就少了一条测试路径。在if结构
中若源代码没有给出else后面的执行分支,那么语句覆盖测试就不
会考虑这种情况。但是我们不能排除这种以外的分支不会被执行,
而往往这种错误会经常出现。再如,在DoWhile结构中,语句覆盖
执行其中某一个条件分支。那么显然,语句覆盖对于多分支的逻辑
运算是无法全面反映的,它只在乎运行一次,而不考虑其他情况。
2判定覆盖
1)主要特点:判定覆盖又r
好听全球资料 返回顶部