现有控制流图如下 (1) 根据节点覆盖准则,给出测试路径 (2) 根据边覆盖准则,给出测试路径 (3) 根据边对覆盖准则,给出测试路径
第1题:
使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do (int X,int A,int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = X+1;
5 }
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }
第2题:
2、关于下列说法正确的是
A.软件测试可以建立在多种图的基础之上,比如:源代码推导出的控制流图、规格说明导出的有限状态机,以及各种设计图等
B.可达性可分为语法可达和语义可达两种。其中语法可达要求测试能够执行到某条路径
C.当某个定点v恰好存在于某条路径p时,说明这条测试路径满足对v的测试覆盖
D.测试准则描述了测试路径的一些特性;测试需求给出了一些定义测试准则的要求
第3题:
3、下列关于结构覆盖的说法错误的是
A.结构覆盖是一种常用的图覆盖类型,仅关注点和边而不关注其中具体的内容
B.一个满足边覆盖的测试用例集一定满足点覆盖
C.测试准则C1蕴含测试准则C2,这说明满足C1的测试用例集的错误检测能力要强于满足C2的测试用例集
D.一个测试集合T满足边覆盖当且仅当对于任意一条语法可达的边e,测试路径集合path(T)中都存在一条边p覆盖e
第4题:
●试题二
阅读下列程序和控制流图,将应填入(n)的字句写在答题纸的对应栏内。
【程序】
下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n,int datalist[]){
int k=0;
for(int j=1;j<n;j++)
if(datalist[j]>datalist[k])
k=j;
return k;
}
【控制流图】
【问题1】
该程序的控制流图中A~E分别是什么?
【问题2】
计算控制流图的McCabe环路复杂性。
【问题3】
用基本路径覆盖法给出测试路径。
【问题4】
为各测试路径设计测试用例。
第5题:
根据判定测试题目,给出路径测试的基本路径集和测试用例