软件水平考试(中级)软件评测师下午(应用技术)试题模拟试卷4
试题一
阅读下列说明,回答问题。
逻辑覆盖法是设计白盒测试用例的主要方法之一,它通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
gz_open (const char * mode) { char*p= (char*)mode; //1 char fmode[4]; char*m=fmode; char smode= \’\0\’;
charlevel=\’\0\\’; intstrategy=0; do { if (*p==\’r\’) //2 smode -\’r\’; //3 if (*p >=\’0\’&&*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}
1.请给出满足100%DC(判定覆盖)所需的逻辑条件。
[*]
解析:本问题考查白盒测试用例设计方法中的判定覆盖法。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有4个判定,所以满足判定覆盖一共需要8个逻辑条件。
2.请画出上述程序的控制流图,并计算其控制流图的环路复杂度VG.。
控制流图
[*]
环路复杂度V(G)=6
解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
根据题中程序绘制的控制流图如下所示。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,if(*p>=’0’&&*p<=’9’)这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。
3.假设函数gz_open的参数mode是由26个小写字母’a’-’z’、数字’0’-’9’以及空格组成的字符串,请使用基本路径测试法构造1个测试用例,使之覆盖所有基本路径。
构造一个6个字符构成的字符串(设为x,y,z,u,v,w 6个字符),使得每个字符覆盖一条基本路径。其中,x=’r’,y=’f’,z∈[’0’-’9’],u<’0’,v>’9’并且v!= ’f’,w任意,这6个字符可任意排列。例如,mode=’rOf aa’。
解析:本题考查白盒测试用例设计方法中的基本路径法。涉及到的知识点包括:根据控制流图和环路复杂度设计测试用例。注意环路复杂度只是测试用例数的上限。
本题中程序的环路复杂度为6,因此测试用例上限为6,但本题程序比较特殊,只需要一个测试用例即可实现
试题二
【说明】为了庆贺成立10周年,某书店为购买不同数量的顾客采取不同的优惠活动,其报价规则如下表所示:
1、购买120本书可以享受九折优惠;
2、购买21—40本书可以字受八五折优惠;
3、以此类推,每增加20本书,就可以享受到更加优惠的折扣,100本封顶(即不考虑超过100本的情况)。现在该商家开发一个软件,输入为商品数:X(1<=X<=100),输出为所付的款:Y。
4.请采用等价类划分法为该软件设计测试用例(不考虑X为非整数的情况)
用例1:0
用例2:1~20中任意一个数
用例3:21~40中任意一个数
用例4:41~60中任意一个数
用例5:61-80中任意一个数
用例6:81-100中任意一个数
用例7:101
解析:本题考査黑盒测试用例设计中的等价类划分法。等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。本题中主要范围限制为1<=X<=100,即可以划分为两个无效和一个有效等价,但由于每一个小的等价类是单独处理的,因此需要再进一步的划分。划分等价类的6条原则:
(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类;
(2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可以确立一个有效等价类和一个无效等价类;
(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;
(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;
(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类。
5.请采用边界值分析法为该软件设计测试用例
0、1、2、19、20、21、22、39、40、41、42、59、60、61、62、79、80、81、82、99、100、101
解析:本题考查黑盒测试用例设计中的边界值分析法。边界值分析法:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。边界值设计测试用例,应遵循的原则:
(1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;
(2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据;
(3)根据规格说明的每个输出条件,使用前面的原则(1);
(4)根据规格说明的每个输出条件,应用前面的原则(2);
(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例;
(6)如果程序中使用了一个内部数据结构,则应当选择这内部数据结构边界上的值作为测试用例;
(7)分析规格说明,找出其他可能的边界条件;依据边界值设计测试用例的原则,测试用例应选择:0、1、2、19、20、21、22、39、40、41、42、59、60、61、62、79、80、81、82、99、100、101
6.列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例测试方法。
错误推测法、因果图法、场景法、正交试验法。(任意三种即可)
解析:本小题考查常见的黑盒测试用例的设计方法。黑盒测试的方法有等价
本文档预览:3600字符,共7137字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载