软件评测师真题(含答案)(共20分)阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【C程序】intGetMaxDay(intyear,intmonth){intmaxday=0;//1if(month=1month=12){//2,3if(month==2){//4if(year%4==0){//5if(year?0==0){//6if(year@0==0)//7maxday=29;//8else//9maxday=28;}else//10maxday=29;}elsemaxday=28;//11}else{//12if(month=4||month=6||month=9||month=11)//13,14,15,16maxday=30;//17else//18maxday=31;}}returnmaxday;//19}【问题1】(6分)请针对上述C程序给出满足100ü(鉴定覆盖)所需的逻辑条件【问题2】(9分)请画出上述程序的控制流图,并计算其环路复杂度V(G)。【问题3】(5分)请给出问题2中控制流图的线性无关途径。参照答案:【问题1】:Month=1month=12Month==2Year%4==0Year?0==0Year@0==0Month==2Month==4Month==6Month==9Month==11【问题2】:V(G)=11【问题3】:1、21、2、31、2、3、4、12、13、17、191、2、3、4、12、13、14、17、191、2、3、4、12、13、14、15、17、191、2、3、4、12、13、14、15、16、17、191、2、3、4、12、13、14、15、16、18、191、2、3、4、5、11、191、2、3、4、5、6、10、191、2、3、4、5、6、7、9、191、2、3、4、5、6、7、8、19试题分析:判断覆盖:设计足够的测试用例,使得程序中的每个鉴定至少都获得一次“真值”或“假值”,或者说使得程序中的每一种取“真”分支和取“假”分支至少经历一次,因此鉴定覆盖又称分支覆盖对于本题中鉴定的条件有:Month=1month=12Month==2Year%4==0Year?0==0Year@0==0Month==2Month==4Month==6Month==9Month==11【问题2】控制流图是描述程序控制流的一种图示措施。其基本符号有圆圈和箭线:圆圈为控制流图中的一种结点,表达一种或多种无分支的语句;带箭头的线段称为边或连接,表达控制流。基本构造如下所示:控制流程图的环路复杂性V(G)等于:(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)鉴定数+1。V(G)=11【问题3】线性无关途径是指包括一组此前没有处理的语句或条件的一条途径。从控制流图来看,一条线性无关途径是至少包具有一条在其他线性无关途径中从未有过的边的途径:1)1、22)1、2、33)1、2、3、4、12、13、17、194)1、2、3、4、12、13、14、17、195)1、2、3、4、12、13、14、15、17、196)1、2、3、4、12、13、14、15、16、17、197)1、2、3、4、12、13、14、15、16、18、198)1、2、3、4、5、11、199)1、2、3、4、5、6、10、1910)1、2、3、4、5、6、7、9、1911)1、2、3、4、5、6、7、8、19试题二(共15分)阅读希埃尔阐明,回答问题1至问题3,将解答填入答题纸的对应栏内.某商店为购置不一样数量商品的顾客报出不一样的价格,其报价规则如表2-1所示.如买11件需要支付10*30+1*27=327元,买35件需要支付10*30+10*27+10*25+5*22=930元目前该商家开发一种软件,输入为商品数C(1=C=100),输出为因付的价钱P【问题一】(6分)请采用等价类划分法为该软件设计测试用例(不考虑C为非整数的状况).【问题二】(6分)请采用边界值分析法为该软件设计测试用例(不考虑强健性测试,既不考虑C不在1到100之间或者是非整数的状况).【问题三】(3分)列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例测试反法.参照答案:【问题1】:测试用例1:31~100中任意一种数测试用例2:101测试用例3:0测试用例4:1~10中任意一种数测试用例5:11~20中任意一种数测试用例6:21~30中任意一种数【问题2】:0、1、10、11、20、21、30、31、100、101【问题3】:错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法试题分析:【问题1】划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的状况下,可以确立一种有效等价类和两个无效等价类(2)在输入条件规定了输入值的集合或者规定了“必须怎样”的条件的状况下,可以确立一种有效等价类和一种无效等价类(3)在输入条件是一种布尔量的状况下,可确定一种有效等价类和一种无效等价类(4)在规定了输入数据的一组值(假定n个),并且程序要对每一种输入值分别处理的状况下,可确立n个有效...