白盒测试练习及答案

上传人:桔**** 文档编号:487850473 上传时间:2022-08-03 格式:DOC 页数:9 大小:349.50KB
返回 下载 相关 举报
白盒测试练习及答案_第1页
第1页 / 共9页
白盒测试练习及答案_第2页
第2页 / 共9页
白盒测试练习及答案_第3页
第3页 / 共9页
白盒测试练习及答案_第4页
第4页 / 共9页
白盒测试练习及答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《白盒测试练习及答案》由会员分享,可在线阅读,更多相关《白盒测试练习及答案(9页珍藏版)》请在金锄头文库上搜索。

1、1、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(A)是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有 、 、 、 四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是(B)或(C);实现条件覆盖至少应采取的测试用例组是(D);实现路径覆盖至少应采取的测试用例组是(E)或(F)。供选择的答案A: 语句覆盖BF: 和组 、组 、组 条件覆盖 判定覆盖 和组 和组 、组 路径覆盖 和组、组解答:A.B.C.D.E.F.2. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(入值可以

2、达到条件覆盖。(B)int func(int a,b,c)int k=1;if ( (a0) | (b0) )k=k+a;elsek=k+b;if (c0)k=k+c;return k;a,b,c)的输A. (a,b,c) = (3,6,1)、(-4,-5,7)C. (a,b,c) = (6,8,-2)、(1,5,4)B. (a,b,c) = (2,5,8)、 (-4,-9,-5)D. (a,b,c) = (4,9,-2)、(-4,8,3)3. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(入值可以达到判定覆盖。( D )a,b,c)的输int func(int a,b,c)int

3、 k=1;if ( (a0) &(b0) )elsek=k+b;if (c0)k=k+c;return k;k=k+a;A. (a,b,c) = (3,6,1)、(-4,-5,7)C. (a,b,c) = (6,8,-2)、(1,5,4)B. (a,b,c) = (2,5,8)、(-4,-9,-5)D. (a,b,c) = (4,-9,-2)、 (-4,8,3)4. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(入值可以达到判定条件覆盖。( B )a,b,c)的输int func(int a,b,c)int k=1;if ( (a0) | (b0) )elsek=k+b;if (c

4、0)k=k+c;return k;k=k+a;A. (a,b,c) = (3,6,1)、(-4,-5,7)C. (a,b,c) = (6,8,-2)、(1,5,4)B. (a,b,c) = (2,-5,8)、 (-4,9,-5)D. (a,b,c) = (4,9,-2)、(-4,8,3)5、下面是一段求最大值的程序,其中datalist是数据表, n 是 datalist的长度。int GetMax(int n, int datalist )int k=0;for ( int j=1; j datalistk ) k=j;return k;( 1) 画出该程序的控制流图,并计算其McCabe环

5、路复杂性。( 2) 用基本路径覆盖法给出测试路径。( 3) 为各测试路径设计测试用例。答:1intk = 0;2intj = 1;3while ( j datalistk )6k = j;7j+;89return k;控制流图如 上, McCabe 环路复杂性为3。2. 测试路径:Path1: 2 3 9Path2: 2 3 5 6 7 8 3 9Path3: 2 3 5 7 8 3 93. 测试用例:Path1: 取n=1, datalist0 = 1,预期结果:k=0Path2: 取 n=2, datalist0 = 1, datalist1 = 0,预期结果:k=0Path3: 取 n=

6、2, datalist0 = 0, datalist1 = 1,预期结果:k=16、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element 的数组 V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素Vi 的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ) :void SelectSort ( datalist & list ) / 对表 list.V0到 list.Vn-1进行排序 ,n 是表当前长度。for ( int i = 0; i list.n-1; i+ ) int k = i;/在 list.Vi.ke

7、y到 list.Vn-1.key中找具有最小关键码的对象for ( int j = i+1; j list.n; j+)if ( list.Vj.getKey ( ) list.Vk.getKey ( ) ) k = j;/ 当前具最小关键码的对象 if ( k != i ) Swap ( list.Vi, list.Vk ); / 交换(1)试计算此程序段的McCabe复杂性;(2) 用基本路径覆盖法给出测试路径;(3) 为各测试路径设计测试用例。解答: (1)1 int i = 0;2 while ( i list.n-1 )3 int k = i;4 int j = i+1;5 whil

8、e ( j list.n )6 if ( list.Vj.getKey ( ) list.Vk.getKey ( ) )7k = j;8j+;9 10 if ( k != i )11 Swap ( list.Vi, list.Vk );12 i+;13 1412 1435678910111213McCabe= 5(2) 5Path1: 1 214Path2: 1 2 3 5 10111213214Path3: 1 2 3 5 101213214Path4:12356789510111213 2 14Path5:1235689510111213214 (3)为各测试路径设计测试用例:Path1

9、: 取 n = 1路径 :取 n = 2,预期结果:路径 不可达路径 :取 n = 2,预期结果:路径 不可达路径 :取 n = 2, V0 = 2, V1 = 1,路径 :取 n = 2, V0 = 2, V1 = 1,路径 :取 n = 2, V0 = 1, V1 = 2,路径 :取 n = 2, V0 = 1, V1 = 2,预期结果:预期结果:预期结果:预期结果:k = 1, V0 = 1, V1 = 2k = 1,路径 不可达k = 0,路径 不可达k = 0, V0 = 1, V1 = 27、下面是快速排序算法中的一趟划分算法,其中datalist是数据表,它有两个数据成员:一是元素类型为Element 的数组 V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素 Vi 的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ) :int Partition ( datalist &list, int low, int high ) / 在区间 low, high 以第一个对象为基准进行一次划分,k 返回基准对象回放位置。intk = low;Element pivot = list.Vlow;/基准对象for ( int i = low+1; i = high; i+ )/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号