1、基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。通常环路复杂性可用以下三种方法求得。*将环路复杂性定义为控制流图中的区域数。*设E 为控制流图的边数,N 为图的结点数,则定义环路复杂性为 V(G)EN2。*若设P 为控制流图中的简单判定结点数,则有 V(G)P1。 导出测试用例 利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。测试用例格式(参考)表1-2测试用例表测试项目名称测试人员编制日期测试覆盖标准测试用例名称编号测试数据预期输出实际输出测试路径12测试结果分析题目:A上图是某银行历史明细帐的查询界面。历史明细帐功能可以查询查询2年内的存折明细(不包括当天
2、)。帐号是一个16位的数字,但是后四位的和除以5总是余3。请根据所学测试用例设计方法给该功能设计测试用例输入数据有效等价类无效等价类帐号1. 全部为数字,16位字符,最后四位数字的和除以5总是32. 有非数字存在3. 为空4. 16位字符5. 最后四位数字的和除以5不一定等于5日期1.起始日期与截止日期均为数字且截止日期小于20160418 为8位数字 起始日期=20140418且截止日期=2016MM=1.3.5.7.8.10.12&1=DD=31Or MM=4,6,9,11&=30Or MM=2&=282.有非数字存在3.为空4.8位字符5.起始日期201604186MM=1.3.5.7.
3、8.10.12&DD313028验证码1.为12742. 除1274以外其他字符密码1. 6-12位字符,不能有特殊符号,不能有空格2. 12位字符3. 存在特殊符号4. 为空5. 存在空格132*11112输入有效47127348ifufh233输入无效37687687543423432345660006520150418201603052016oi-42015okij20165520169999920140318201705052016033120141302612747657 2Zhangtao1906 1#$%#&!Zhnagtao 33 4B问题描述如下:1程序读入三个正整数,这三个
4、正整数代表同一三角形三条边的长度,程序根据这三个值判断三角形属于不等边,等腰,等边三角形中的一种,假定输入的三个正整数的值都是0100。2. 一元二次方程式 AX2+BX+C=0 的求根程序有以下功能:输入A、B、C三个系数;输出根的性质的信息,包括两个相等或不相等的实根,或无实根 打印根的值(如有实根)提示:时,方程的解:或x = 。要求:1根据问题1、2的说明,画出对应的程序流程图2根据边界值分析法,等价类划分法给问题1、2设计测试用例三角形三边分别为,x,y,z1.x+yz & x+zy & y+zx3.0x100&0yz1005.x=y or y=z or x=z6.x=y=z2.x+
5、y=z or x+z=y or y+z100or y100or zx=3 y=4 z=51,3x=101 y=90 z=33x=1 y=1 z=3x=2 y=2 z=31,3,5x=2 y=2 z=21,3,5,6输入三个系数a,b,c1.a,b,c均为有理数3. b*b-4*a*c4. b*b-4*a*c=06. a0 & a2. a,b,c均为无理数5. b*b-4*a*c7. a=0a=2,b=5,c=2输入有效值1,3,6a=1,b=2,c=1 1,4,6a=2, b=2,c=1输入无效值a=2 ,b=3 ,c=2 5a=0 73写程序完成问题1、2的功能(语言任选)问题1:#incl
6、ude void main()float a,b,c;printf(请输入三角形的三条边长x,y,z:n);scanf(%f,&a);b);c);if(a=1&abc=100)if(a+bc|a+cb|b+ca) /*判断是否能构成三角形*/不能构成三角形!else if(a=b&(a!=c)|(a=c&(b!=c)|(b=c&=c) /*判断是否为等腰三角形*/构成等腰三角形nelse if(a=c & a=b) /*判断是否为等边三角形*/构成等边三角形nelse构成一般三角形! printf(请输入1-100之间的数!问题2:#includeint main(void) double a
7、, b, c, result, root1, root2; scanf(%lf%lf%lf, &a, &b, & result = b * b - 4 * a * c; if (result = 0) if (result = 0) root1 = (-b) / (2 * a); printf(有两个相同的实根%.4lfn, root1); else root1 = (-b + sqrt(result) / (2 * a); root2 = (-b - sqrt(result) / (2 * a);有两个不同的实根%.4lf和%.4lfn, root1, root2); else printf
8、(无实根n4对问题1、2用白盒测试用例的设计方法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例5语句覆盖:a)x=2 y=4 z=3, b)x=1 y=1 z=3, c)x=101 y=90 z=33, d)x=2 y=2 z=3 , e)x=2 y=2 z=26判定覆盖7条件覆盖8条件组合覆盖9语句覆盖:a)a=2,b=5,c=2b)a=1,b=2,c=1c)a=2, b=2,c=1d)a=2 ,b=3 ,c=2e)a=010判定覆盖11条件覆盖12条件组合覆盖13利用设计的程序和测试用例,使用这些测试用例进行测试,给出测试的情况。1.1.x = 3 y = 4 z = 52.x
9、 = 1 y = 1 z = 33.x = 101 y = 55 z = 254. x = 5 y = 5 z = 75 x = 6 y = 6 z = 62.1. a = 2 b = 5 c = 22.a = 1 b = 2 c = 13.a=2 b = 3 c = 2 4. a = 0 b = 2 c = 3C下面是冒泡排序的程序,其中 array: 存放一组整数, n: 没 存放数组的长度。(1) 试计算此程序段的环形复杂性;(2) 用基本路径覆盖法给出测试路径;1.Array为空2.Array 非空, N = 13.Array 非空, N 1, 全升序4.Array 非空, N 1,
10、全降序5. Array 非空, N 1, 部分升序,部分降序(3) 考虑循环嵌套,为各测试路径设计测试用例;(4) 添加驱动程序,执行测试用例,分析结果。bool Bubble( int* array, int n ) int i, j, temp; if( !array ) return false; for( i = 0; i n-1; i +) for( j = 0; j arrayj+1 )/ 将较小的元素放在前面 temp = arrayj; arrayj = arrayj+1;arrayj+1 = temp; return true;实验步骤、要求 (1)根据题目编写程序,并调试通
11、过。(2)根据结构性测试技术设计测试用例 1.语句覆盖 array10 = ; n = 0;array1 = 1; n = 1;array5 = 5, 4, 3, 2, 1; n = 5;array5 = 1, 2, 3, 4, 5;array5 = 1, 3, 5, 4, 2; 2.判定覆盖3.条件覆盖4.条件组合覆盖 (3) 根据设计的测试用例集进行测试,计算测试用例的分支覆盖率、条件覆盖率和语句覆盖率int array10; n = 1小工具的实现实验(三)1以某种语言(如C语言)的一个方法为例,试编写小工具实现一下功能a分析程序自动生成控制流图b计算出环形复杂度c根据基本路径法生成测试用例。2以某种语言的为例,编写自动获得程序测试覆盖率小工具(利用程序插装等原理)。如对于某个程序,运行了测试用例以后能给出测试覆盖率等情况。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1