题目

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

逻辑覆盖法是设计白盒测试用例的主要方法之一,它通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。

gz_open (const char*mode)

    {

    char*p= (char*)mode;    //1

    char   fmode[4];

  
 char*m=fmode;

    char smode= '�';

    char level='�';

    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
1、请给出满足100%DC(判定覆盖)所需的逻辑条件。
2、请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。
3、假设函数gz_open的参数mode是由26个小写字母'a'-'z'、数字'0'-'9'以及空格组成的字符串,请使用基本路径测试法构造1个测试用例,使之覆盖所有基本路径。



作答
本题暂不支持做答,请点击“解析“以对比解题思路
答案/解析
查看试卷及答案