视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
软件测试作业
2025-09-26 06:49:49 责编:小OO
文档
软件测试作业

第1题

设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例来测试程序的日期检查功能。

1)划分等价类并编号,下表为等价类划分结果

输入等价类有效等价类无效等价类
日期的类型及长度①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

年份范围⑤在1990~2049之间

⑥小于1990

⑦大于2049

月份范围⑧在01~12之间 

⑨等于00 

⑩大于12

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:

测试数据  期望结果  覆盖的有效等价类 

200211    输入有效    ①、⑤、⑧

3)为每一个无效等价类设计一个测试用例,设计结果如下:

测试数据期望结果覆盖的无效等价类
95June无效输入
20036无效输入
2001006无效输入
1912无效输入
200401无效输入
200100无效输入
200113无效输入
第2题

用基本路径测试法进行测试,为以下程序段设计测试用例。

void Sort(int iRecordNum, int iType) 

{

    int x=0; 

    int y=0;

while (iRecordNum-->0)

    {

        if(0==iType)

        {

            x=y+2;

            break;

        }

        else

            if(1==iType)

                x=y+10;

            else

                x=y+20;

    } 

}

第一步:程序流程图和程序控制流图

画出其程序流程图和对应的控制流图如下:

第二步:计算圈复杂度

有以下三种方法计算圈复杂度:   

A 流图中区域的数量对应于环型的复杂性;   

2-3-4-5-9-2  2-3-6-7-2  6-7-2-8-6

V(G)=3+1

B给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图            中结点的数量;   V(G)=E-N+2=11-9+2=4

C 给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量V(G)=3+1=4

第三步:导出测试用例

根据上面的计算方法,可得出四个的路径。(一条路径是指,和其他的路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的路径的条数。

路径1:2-9

路径2:2-3-4-5-9

路径3:2-3-6-7-2-9

路径4:2-3-6-8-2-9

根据上面的路径,去设计输入数据,使程序分别执行到上面四条路径。

第四步:准备测试用例

为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:

路径1:2-9

输入数据:iRecordNum=0,或者取iRecordNum<0的某一个值

预期结果:x=0

路径2:2-3-4-5-9

输入数据:iRecordNum=1,iType=0

预期结果:x=2

路径3:2-3-6-7-2-9

输入数据:iRecordNum=1,iType=1

预期结果:x=10

路径4:2-3-6-8-2-9

输入数据:iRecordNum=1,iType=2

预期结果:x=20

第3题

用逻辑覆盖法为以下程序段设计测试用例

int logicExample(int x, int y)   

      int magic=0;       

if(x>0 && y>0)

      { 

           magic = x+y+10; // 语句块1         

      }        

      else        

      { 

           magic = x+y-10; // 语句块2        

      }         

if(magic < 0)

      { 

           magic = 0;         // 语句块3        

      } 

      return magic;       // 语句块4    

}

一、语言覆盖

测试用例:

{x=3, y=3}可以执行到语句块1和语句块4,所走的路径:a-b-e-f

{x=-3, y=0}可以执行到语句块2、语句块3和语句块4,所走的路径:a-c-d-f

二、判定覆盖

两个判断(x>0 && y>0)(记为P1)和(magic<0)(记为P2)

测试用例:

数据P1P2路径
x=3,y=3TFa-b-e-f
x=-3,y=0

FTa-c-d-f
三、条件覆盖

两个判断(x>0 && y>0)(记为P1)和(magic<0)(记为P2),三个条件x>0(记为C1)、y>0(记为C2)和magic<0(记为C3)

测试用例:

数据C1C2C3路径
x=3,y=0TFTa-c-e-f
x=-3,y=5

FTFa-c-e-f
四、判定/条件覆盖

测试用例:

数据C1C2C3P1P2路径
x=3,y=3TTTTFa-b-e-f
x=-3,y=0

FFFFTa-c-d-f
五、条件组合覆盖

三个条件x>0(记为C1)、y>0(记为C2)和magic<0(记为C3)

x>0 y>0 x>0 y<=0 x<=0 y>0 x<=0 y<=0

测试用例

数据C1C2C3P1P2路径
x=3,y=3TTTTTa-b-d-f
x=3,y=0TFFFFa-c-e-f
x=-3,y=2FTFFFa-c-e-f
x=-3,y=0

FFFFFa-c-e-f
六、路径覆盖

测试用例:

数据C1C2C3P1P2路径
x=3,y=5TTTTTa-b-d-f
x=0,y=2FTTFFa-c-d-f
这条路径不可能a-b-e-f
x=-8,y=3

FFFFFa-c-e-f

下载本文
显示全文
专题