1、m,&n,&p,&q); if(m0&n5|q0,n5,qm=2,n=3,p=4,q=1T1,T2,F3,F46,pm=-1,n=7,p=7,q=-2F1,F2,T3,T4mm=-2,n=4,p=3,q=3F1,F2,F3,F4判定覆盖:判定条件输入:m=3,n=2,p=9,q=-3输出:m=5,n=4,p=-1,q=-20 and n5 or qp条件覆盖:m=1,n=7,p=6,q=2 m=1,n=7,p=9,q=3T1,F2,T3,F4m=-3,n=4,p=1,q=-1 m=-3,n=4,p=3,q=0F1,T2,F3,T4判定-条件覆盖:m=1,n=2,p=6,q=-1 m=5,n=4
2、,p=3,q=0m=-1,n=9,p=4,q=2 m=-1,n=9,p=4,q=2条件组合覆盖:覆盖条件m=1,n=7,p=6,q=1 m=1,n=7,p=7,q=2m=-1,n=2,p=3,q=-1 m=-1,n=2,p=3,q=0m=-1,n=7,p=3,q=1 m=-1,n=7,p=3,q=0四实验内容中遇到的问题、解决方法和体会。答:遇到的问题:实验过程中,编写程序有点问题,总是输不出结果,不断进行检查和调试,以至于花费很多时间。解决方法:通过自己检查和调试和向同学寻求帮助得以解决问题,最后运行得到结果。体会:通过这次实验,我知道了只有自己动手去做,才会知道自己还有哪些不足,才能不断提
3、高自己的实践能力。同时,我还知道了白盒覆盖的几种覆盖方法以及它们之间的区别。总之,我们要知道理论和实践相结合的重要性,通过不断实践来提高自己的能力。基于白盒测试的用例设计与验证(二)(1)熟悉二分查找算法,能正确实现程序(2)掌握白盒测试的基本路径测试法,重点掌握如何根据程序控制流计算程序的环路复杂度,并且确定程序基本路径。(1)选择一门语言,完成二分查找的实现;。源代码:int find(int *arry,int leng,int key) int low=1; int mid; int high=leng; while(lowarrymid-1) low=mid; else if(key
4、 high=mid; else return mid; return 0;int main() int a10; int i,m,n; for(i=0;i10|m1); n=find(a,10,m);查询值为a%dn,n-1);(2)完成相应的程序控制流图,并计算出程序的环路负责度;(3)确定程序的基本路径,设计相应的测试用例,覆盖确定的基本路径。程序控制流图如下:由程序控制图可知环路复杂度为5,因此有5条基本路径。基本路径1:A-B-A基本路径2:A-B-C-D-E-A基本路径3:A-B-C-D-E-F-H-C-D-E-A基本路径4:A-B-C-D-E-G-I-C-D-E-A基本路径5:A-
5、B-C-D-E-F-H-C-D-E-G-I-C-D-E-A测试用例图:预期输出结果输出通过路径M=0 Error !-基本路径1M=5a4查询值为a4基本路径2M=3a2查询值为a2基本路径3M=7a6查询值为a6基本路径4M=4A3查询值为a3基本路径5运行结果:三实验内容中遇到的问题、解决方法和体会。编写的程序有错误不知道该怎么改。 解决方法:通过向同学寻求帮助解决,最后运行得到结果。 体会:通过这次实验,感觉自己C语言的基础太差,以后要加强对C语言的学习。通过这次实验,我还知道了怎样计算出程序的环路复杂度,还有如何完成相应的程序控制流图。基于黑盒测试的用例设计与验证(一)(1) 理解黑盒
6、测试的基本原理;(2) 掌握黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。(1)选择一门语言,完成以下程序:输入三个整数,三角形三条边的长度,输出三角形所属的类型。#include c & b + c a & a + c b) return 1; else return 0;double dengbian(double a, double b, double c) if (a = b & b = c)double dengyao(double a, double b, double c) if (a = b | b = c | a = c) double zhijia
7、o(double a, double b, double c) if (a*a + b*b = c*c | b*b + c*c = a*a | a*a + c*c = b*b) double a, b, c;请输入三角形三边: %lf, &a);b);c); if (triangle(a, b, c) if (dengbian(a, b, c) printf(等边三角形n else if (dengyao(a, b, c) & zhijiao(a, b, c) 等腰直角三角形n else if (dengyao(a, b, c) 等腰三角形n else if (zhijiao(a, b, c)
8、 直角三角形n else 一般三角形n不能构三角形n(2)依据黑盒测试中的等价类划分法,边界值分析法设计相应的测试用例。等价类划分: 编号 等价类输入输出 1三边为数字字符 2 3 4一般三角形 2两边之和大于第三边 3两边相等且两边之和大于第三边 3 3 4等腰三角形 4两边相等且满足a*a+b*b=c*c 2*2 +2*2=8等腰直角三角形 5能构成三角形且满足a*a+b*b=c*c 3*3 +4*4=25直角三角形 6能构成三角形且三边相等 2 2 2等边三角形 7三边中出现了非数字字符 a 2 3不能构成三角形 8两边之和小于第三边 2 3 6 9三边中出现了负数 -1 1 3 边界值
9、分析法编号边界值测试用例的设计思路1数字字符出现了除数字字符之外的符号如输入:a 2 3,则不能构成三角形,反之成立2边长三边大于0如果输入的数中有小于0的数,则不能构成三角形,反之成立3三边边长之和如果两边之和小于第三边,则不能构成三角形,反之成立(3)利用设计的测试用例测试编写的程序。编写代码出现了一点问题,用等价类划分时不知道该怎么划分。通过查看书本和向同学寻求帮助解决。通过这次实验,我知道了黑盒测试的基本原理,掌握了黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。在此次实验中也遇到了一些问题,不过出现问题才能知道我们的不足之处,然后改正并完善。所以遇到困难应该想
10、办法解决,大胆尝试,这样才能提高自己的能力。基于黑盒测试的用例设计与验证(二)(2) 掌握黑盒测试的判定表设计方法;(3) 能够根据判定表完成测试用例的生成。输入年月日,输出该日的下一日日期。 int year,month,day,flag=0; m:please input year month day:%d %d %dyear,&month,&day); if(year%4=0&year%100!=0)|year%400=0) flag=1; /当年份为闰年时,flag为1 if(month=2) /月份为2 if(day=28&flag=0)|(day=29&flag=1) day=1;
11、 month+; /如果是平年的第28天或者闰年的第29天,则day复位,month加一 else if(day=29&flag=0) /平年输入29天为错误 there is not 29th February!,year); goto m; else /其他日期,则day加一 day+; else if(month=12) /月份为12 if(day=31) /如果是输入31,则day复位,month复位,year+ day=1; month=1; year+; else /如果是其他日期,则day+ else if(month=1|month=3|month=5|month=7|mont
12、h=8|month=10) /月份为1,3,5,7,8,10 if(day=31) /如果输入31,则day复位,month加一 else /如果是其他日期,则day加一 else /月份为4,6,9,11 if(day=30) /如果输入30,则day复位,month加一 the next day is %4d %4d %4dn,year,month,day);(2)利用黑盒测试中的判定表法确定程序的条件项,条件桩,动作项,动作桩,完成并优化判定表。 条件桩:(1)1=month= 12 (2)1=day= 31 (3)2月平年28天,闰年29天 动作桩:(1)日期加1 (2)日期复位 (3
13、)月份加1 (4)月份复位 (5)年份加1 (6)不可能条件序号45789101112131415每月30天每月31天,12月除外12月2月平年-闰年1=日期=27日期=30天日期=31天日期=28天日期=29天动作日期加1日期复位月份加1月份复位年份加1不可能(3)根据判定表完成测试用例的设计,并结合编写的程序完成实际的测试工作。 测试用例2009 04 302009 5 1每月31天2013 07 312013 8 12月平年28天2001 02 282001 3 12月闰年29天2000 02 292000 3 112月31天2014 12 312015 1 12月输入30天2000 02 30错误的输入每月30天时输入312008 06 31月份大于122012 13 25输入中含有非数字字符2011 0a 12实验中编写代码的时候出现了许多问题,导致运行的不到结果;还有写判定表的时候不知道该怎么写,大脑有点混乱,不过最后判定表写出来了,虽然不知道是否正确。代码部分通过调试和向同学求助解决,最后运行得到正确的结果;判定表部分通过自己查看书本和不断思考解决。通过这次实验,我知道了判定表并不是像我们想象的那么好写,如果思绪紊乱就可能写不出来;同时我们要不断地锻炼自己,这样才能更好地提高自己的实践能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1