- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软测练习题讲解
* * 练习题讲解 等价类 某程序功能说明书指出,该程序的输入数据为每个学生的学号。其中,学号由以下3个部分构成: (1)入学年份:4位数字(1900~2999)之间的数字。 (2)专业编码:0或1开头的4位数字。 (3)序号:2位数字。 试用等价类划分法设计测试用例。 22. 已知有以下一段代码 Int a,b,c; If(a1b0) C=5; Else if(b-3) C=4; Else C=3 请分别采用语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖的方法设计测试用例 . 某航空公司规定,乘客可以免费托运不超过20公斤的行李。当行李重量超过20 公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。对残疾乘客超重部分在舱位等次相同的情况下收费减半。用判定表描述行李托运费的处理过程并写出相应的测试用例。 根据给出的程序,完成以下要求: (1)画出相应的控制流图。 (2)计算环形复杂度。 (3)找出程序的独立路径集合。 (4)为每条路径设计测试用例。 void fun(int num,int type) { int x=0; int y=0; while(num--0) { if(type==0) break; else if(type==1) x=x+10; else y=y+20; } } ? 程序段的控制流图 环形复杂度计算如下: 流图中有4个区域; V(G)=E-N+2,V(G)=10(条边)-8(个节点)+2=4; V(G)=P+1,V(G)=3(个判定节点)+1=4。 因此,该函数的环形复杂度是4。更重要的是,V(G)的值提供了组成基本集的独立路径的上界,并由此得出覆盖所有程序语句所需的测试设计数量的上界。 3、导出测试用例 根据上面的计算方法,导出基本路径集,列出程序的独立路径。可得出程序段的基本路径集中有4条独立路径: 路径1:4-14 路径2:4-6-7-14 路径3:4-6-9-10-13-4-14 路径4:4-6-9-12-13-4-14 4、设计测试用例 输入数据 预期输出 Test1 num=0 type=0 x=0 y=0 Test2 num=1 type=0 x=0 y=0 Test3 num=1 type=1 x=10 y=0 Test4 num=1 type=2 x=0 y=20 4.8 最少测试用例数计算 为实现测试的逻辑覆盖,必须设计足够多的测试用例,并使用这些测试用例执行被测程序,实施测试。我们关心的是:对于某个具体的程序来说,至少需要设计多少个测试用例。这里提供一种估算最少测试用例数的方法。 我们知道,结构化程序是由 3 种基本控制结构组成:顺序型(构成串行操作)、选择型(构成分支操作)和重复型(构成循环操作)。 为了把问题化简,避免出现测试用例极多的组合爆炸,把构成循环操作的重复型结构用选择结构代替。这样,任一循环便改造成进入循环体或不进入循环体的分支操作了。 最少测试用例数计算(续) 用N-S图表示程序的3种基本控制结构: 图中A、B、C、D、S均表示要执行的操作,P是可取真假值的谓词,Y表真值,N表假值。 图中的 (c) 和 (d) 两种重复型结构代表了两种循环。在做了简化循环的假设以后,对于一般的程序控制流,我们只考虑选择型结构。事实上它已经能体现顺序型和重复型结构了。 最少测试用例数计算(续) 显然,要测试这个小程序,需要至少提供4个测试用例才能作到逻辑覆盖,使得ac、ad、bc及bd操作均得到检验。其实,这里的4是图中的第1个分支谓词引出的两个操作,及第2个分支谓词引出的两个操作组合起来而得到的,即 2×2=4。并且,这里的2是由于两个并列的操作,即1+1=2 而得到的。 例如,下图表达了两个顺序执行的分支结构。当两个分支谓词P1和P2取不同值时,将分别执行a或b及c或d操作。 最少测试用例数计算(续) 对于一般的、更为复杂的问题,估算最少测试用例个数的原则也是同样的: 如果在N-S图中存在有并列的层次A1、A2,A1和A2的最少测试用例个数分别为a1、a2,则由 A1、A2 两层所组合的 N-S图对应的最少测试用例数为a1×a2。 如果在N-S图中不存在有并列的层次,则对应的最少测试用例数由并列的操作数决定,即N-S图中除谓词之外的操作框的个数。 最少测试用例数计算(续) 例:如下图所示的两个N-S图,至少需要多少个测试用例完成逻辑覆盖? 对于第一个N-S图: 由于图中并不存在并列的
文档评论(0)