软测练习题讲解PPT文档格式.ppt
《软测练习题讲解PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《软测练习题讲解PPT文档格式.ppt(24页珍藏版)》请在冰豆网上搜索。
2位数字。
试用等价类划分法设计测试用例。
22.已知有以下一段代码Inta,b,c;
If(a0)C=5;
Elseif(b-3)C=4;
ElseC=3请分别采用语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖的方法设计测试用例,.某航空公司规定,乘客可以免费托运不超过20公斤的行李。
当行李重量超过20公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。
对残疾乘客超重部分在舱位等次相同的情况下收费减半。
用判定表描述行李托运费的处理过程并写出相应的测试用例。
根据给出的程序,完成以下要求:
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)找出程序的独立路径集合。
(4)为每条路径设计测试用例。
voidfun(intnum,inttype)intx=0;
inty=0;
while(num-0)if(type=0)break;
elseif(type=1)x=x+10;
elsey=y+20;
程序段的控制流图,环形复杂度计算如下:
流图中有4个区域;
V(G)=E-N+2,V(G)=10(条边)-8(个节点)+2=4;
V(G)=P+1,V(G)=3(个判定节点)14。
因此,该函数的环形复杂度是4。
更重要的是,V(G)的值提供了组成基本集的独立路径的上界,并由此得出覆盖所有程序语句所需的测试设计数量的上界。
3、导出测试用例,根据上面的计算方法,导出基本路径集,列出程序的独立路径。
可得出程序段的基本路径集中有4条独立路径:
路径1:
414路径2:
46714路径3:
4691013414路径4:
4691213414,4、设计测试用例,4.8最少测试用例数计算,为实现测试的逻辑覆盖,必须设计足够多的测试用例,并使用这些测试用例执行被测程序,实施测试。
我们关心的是:
对于某个具体的程序来说,至少需要设计多少个测试用例。
这里提供一种估算最少测试用例数的方法。
我们知道,结构化程序是由3种基本控制结构组成:
顺序型(构成串行操作)、选择型(构成分支操作)和重复型(构成循环操作)。
为了把问题化简,避免出现测试用例极多的组合爆炸,把构成循环操作的重复型结构用选择结构代替。
这样,任一循环便改造成进入循环体或不进入循环体的分支操作了。
最少测试用例数计算(续),用N-S图表示程序的3种基本控制结构:
图中A、B、C、D、S均表示要执行的操作,P是可取真假值的谓词,Y表真值,N表假值。
图中的(c)和(d)两种重复型结构代表了两种循环。
在做了简化循环的假设以后,对于一般的程序控制流,我们只考虑选择型结构。
事实上它已经能体现顺序型和重复型结构了。
最少测试用例数计算(续),显然,要测试这个小程序,需要至少提供4个测试用例才能作到逻辑覆盖,使得ac、ad、bc及bd操作均得到检验。
其实,这里的4是图中的第1个分支谓词引出的两个操作,及第2个分支谓词引出的两个操作组合起来而得到的,即22=4。
并且,这里的2是由于两个并列的操作,即1+1=2而得到的。
例如,下图表达了两个顺序执行的分支结构。
当两个分支谓词P1和P2取不同值时,将分别执行a或b及c或d操作。
最少测试用例数计算(续),对于一般的、更为复杂的问题,估算最少测试用例个数的原则也是同样的:
如果在N-S图中存在有并列的层次A1、A2,A1和A2的最少测试用例个数分别为a1、a2,则由A1、A2两层所组合的N-S图对应的最少测试用例数为a1a2。
如果在N-S图中不存在有并列的层次,则对应的最少测试用例数由并列的操作数决定,即N-S图中除谓词之外的操作框的个数。
最少测试用例数计算(续),例:
如下图所示的两个N-S图,至少需要多少个测试用例完成逻辑覆盖?
对于第一个N-S图:
由于图中并不存在并列的层次,最少测试用例数由并列的操作数决定,即为1+1+1=3。
对于第二个N-S图:
由于图中没有包含并列的层次,最少测试用例数仍由并列的操作数决定,即为1+1+1+1+1=5。
如下图所示的N-S图,至少需要多少个测试用例完成逻辑覆盖?
分析该N-S图:
图中的2345和67是并列的两层。
其中,2345层对应的最少测试用例数为1+1+1+1+1=5,67层对应的测试用例数为1+1+1=3,2345和67这两层组合后对应的测试用例数为53=15。
最后,由于两层组合后的部分是不满足谓词1时所要做的操作,还要加上满足谓词1要做的操作,因此整个程序所需测试用例数为15+1=16。
习题,2、某程序所画出的N-S图如右图所示的,至少需要多少个测试用例才能对该程序实现逻辑覆盖?