搜题集 >职业资格类 >软考 >试题详情
问题详情

逻辑覆盖法是设计白盒测试用例的主要方法之一,它通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
gz_open (const char*mode)
{
char*p=(char*)mode;//1
charfmode[4];
char*m=fmode;
charsmode= '\0';
char level='\0\';
int strategy=0;
do {
if(*p=='r')//2
smode - 'r';//3
if(*p>='O'&&*p<='9'){//4,5
level=*p-'0';//6
}else if(*p=='f'){//7
strategy=1;//8
}else{//9
*m++=*p;
}
*p++;//10
}while(m!=fmode+sizeof (fmode));//11
} //12
3、请给出满足100%DC(判定覆盖)所需的逻辑条件。(6分)
4、请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。(6分)
5、假设函数gz_open的参数mode是由26个小写字母'a'-'z'、数字'0'-'9'以及空格组成的字符串,请使用基本路径测试法构造1个测试用例,使之覆盖所有基本路径。(6分)

相关专题: 复杂度  

未搜索到的试题可在搜索页快速提交,您可在会员中心"提交的题"快速查看答案。 收藏该题
查看答案

相关问题推荐

算法复杂度包括时间复杂度和空间复杂度。对于时间复杂度,一般可以用平均性态和最坏情况复杂性来衡量:对于空间复杂度,一般指执行该算法所需要的【】。

一种密码攻击的复杂度可分为两部分,即数据复杂度和()。

A、时间复杂度

B、处理复杂度

C、空间复杂度

D、计算复杂度

算法复杂度包括时间复杂度和

  • A.规模复杂度
  • B.程序复杂度
  • C.空间复杂度
  • D.结构复杂度

下列叙述中正确的是

  • A.一个算法的空间复杂度大,则其时间复杂度必定小
  • B.一个算法的空间复杂度大,则其时间复杂度也必定大
  • C.算法的时间复杂度与空间复杂度没有直接关系
  • D.一个算法的时间复杂度大,则其空间复杂度必定小

插入排序是一种简单实用的工具,在对数组排序时,我们可能用二分查找,对要插入的元素快速找到在已经排好元素序列中的位置。下面的描述中正确的是()。

A、二分查找的时间复杂度为O(lgN),因此排序的时间复杂度为O(N*lgN)

B、二分查找的时间复杂度为O(N),因此排序的时间复杂度为O(N*lgN)

C、二分查找的时间复杂度为O(lgN),因此排序的时间复杂度为O(N*N)

D、二分查找的时间复杂度为O(N),因此排序的时间复杂度为O(N*N)

联系客服 会员中心
TOP