下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:*专业:*班级:*学号: *2011-5-25实验一:黑盒测试一、实验目的:了解三角形问题的边界值分析测试用例。二、实验要求:在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为1, 100。在三角形问题中,有四种可能的输 出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值 域)等价类。R1 = <a,b,c>:边为a,b,c的等边三角形R2 = <a,b,c>:边为a,b,c的等腰三角形R3 = <a,b,c>:边为a,b,c的一般三角形R4 = <a,b,
2、c>:边为a,b,c不能组成三角形三、实验程序:#include "iostream.h"void main()int a,b,c;cout<<"请输入 1<=a<=100 或 1<=b<=100 或 1<=c<=100"<<endl;cin>>a>>b>>c;if(1<=a&&a<=100)&&(1<=b&&b<=100)&&(1<=c&&c&
3、lt;=100)if(a+b>c&&a+c>b&&c+b>a)if(a=b&&a=c&&c=b) cout<<"三角形为等边三角形"<<endl;else if(a=b|a=c|c=b)cout<<"三角形为等腰三角形"<<endl;else if(a*a+b*b)=c*c|(c*c+b*b)=a*a|(a*a+c*c)=b*b)cout<<"三角形为直角三角形"<<endl;els
4、e cout<<"a,b,c可组成三角形"<<endl;else cout<<”不存在a,b,c组成的三角形"<<endl;else cout<<"a或b或c的值不合法,无法判断"<<endl;四、测试用列:用列IDabc预期输出1P 1111三角形为等边三角形2221三角形为等腰三用形3345三角形为直角三角形4P 22 n2三角形为等边三角形5233三角形为等腰三用形6435三角形为直角三角形7r 54 n3三角形为直角三角形8112/、存在a,b,c组成的二角形942
5、2/、存在a,b,c组成的二角形10P 242/、存在a,b,c组成的二角形11425/、存在a,b,c组成的二角形12000a或b或c的值不合法,无法判断13P 011a或b或c的值不合法,无法判断142012a或b或c的值不合法,无法判断1513130a或b或c的值不合法,无法判断16P 100100 n100三角形为等边三角形171001000a或b或c的值不合法,无法判断1810012101a或b或c的值不合法,无法判断1910012100/、存在a,b,c组成的二角形20909080三角形为等腰三用形五、等价类划分:输入条 件有效等价类编号无效等价 类编号三角形a+b>c&am
6、p;&a+c>b&&c+b>a&&a=b&&c=b1a<1,a>100,b<1,b>100, c<1,c>1005a+b>c&&a+c>b&&c+b>a&&a=b|c=b2a+b>c&&a+c>b&&c+b>a&&3非三角形a+b<c|a+c<b|c+b<a4六、实验结论:通过实验要求的条件编写的程序和测试用列的预期输出证明给该程序是正确的实验
7、二:黑盒测试1.一、实验目的:了解xtDate函数的边界值分析测试用例。二、实验要求:程序有三个输入变量 month、day、year (month、day和year均为整数值,并且满足:1W month w 121 w day w、311900wyear w 2050 ),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。例如,输入为 2005年11月30日,则该程序的输出为2005年12月1日。请用等价类测试和边界测试法设计测试用例。三、 实验程序:#include "stdio.h"int IsLeapYear(int Year);in
8、t IsCurrentDate(int Year,int Month,int Day);int ReturnNextDay(int Year,int Month,int Day);int LeapYear_Month_SumDay12=31,29,31,30,31,30,31,31,30,31,30,31;void main() int Year=0,Month=0,Day=0,NextDay=0;printf("pleace enter right Date(example:2005 6 27):n");scanf("%d%d%d",&Year
9、,&Month,&Day);NextDay=ReturnNextDay(Year,Month,Day);switch (NextDay) case 0: printf("not a current daten"); break;case 1: if (Month=12) Year+;Month=1; else Month+; break;if (NextDay!=0) printf("The you input next date is %d-%d-%d.n",Year,Month,NextDay);int IsLeapYear(int
10、Year) if (Year%4=0) if (Year%400) return 1;else if (Year%100=0) return 0;else return 1; else return 0; int IsCurrentDate(int Year,int Month,int Day) if (Year<1900) && (Year>2050) && (Month>12) && (Month<1) && (Day<1) &&(Day>31) )printf("
11、 输入的数据有错,请重新输入! ");else return 1;int ReturnNextDay(int Year,int Month,int Day) int ThisMonthSumDay;if (IsCurrentDate(Year,Month,Day)=1) ThisMonthSumDay=LeapYear_Month_SumDayMonth-1;if (Month=2)if (IsLeapYear(Year)=0) ThisMonthSumDay-; if (Day<ThisMonthSumDay) return +Day; else if (Day=ThisMo
12、nthSumDay) return 1; else return 0; else return 0;四、实验用例:用例IDYearMonthDay预期输出12000112000-1-222000231/、可能320013302001-3-31419004151900-4-1652001229/、可能620042282004-2-29五、等价类划分:输入条件编号有小等价类编号无效等价类输入年份11900<=n<=20507n>205011n<1900输入月份21<=y<=128y>12|y>1输入日期31<=r<=319r>31|
13、r<1闰年41<=r<=2910r>29|r<1非闰年51<=r<=2811r>28|r<12.一、实验目的:了解找零钱组合的方法二、实验要求:假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在10元内,现有一 个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1)四种。请结 合等价类划分法和边界值分析法为上述 程序设计 出相应的测试用例。三、实验程序:#include"iostream.h"
14、void main() char i;int a,b; a代表商品价钱,b代表顾客付的钱。 do cout<<"请输入商品价钱 a(1 100):"cin>>a;cout<<”请输入顾客付款 b(1 100):"cin>>b;cout<<"最佳找零方案:"<<endl;cout<<(b-a)/50<<"张 50 元"<<endl;cout<<(b-a)%50)/10<<"张 10 元&
15、quot;<<endl;cout<<(b-a)%10)/5<<"张 5 元"<<endl;cout<<(b-a)%5<<"张 1 元 n"<<endl;cout<<"你还要继续吗?输入 n表示结束"<<endl; cin>>i;while(i!='n');四、等价类划分:输入条件有效等价类编R无效等价类编R付款金额1<=b<=1001b>10011b<13商品金额1<a&
16、lt;1002a>=10011a<=14五、测试用例:测试用例输入数据预期输出实际输出ba最佳找钱路径110050一张50一弓50210040一张 50、一张 10一弓5 50、一张 10315040无法推算无法推算4100150无法推算无法推算实验三:白盒测试、实验目的: 根据流程图编写程序,并使用逻辑覆盖测试方法测试、实验要求:三、实验程序:#include"stdio.h"void main() int x=0,y=0,k=0;float j=5;printf("请输入X, Y的值)scanf("%d%d%dn",&x
17、,&y,&j);语句 1: k=x*y-1 ; j=sqrt(k);语句 2: j=x*y+10 ;语句 3: j=j%3;要求:(1)画出该程序的控制流图(2)分别以语句覆盖、判定覆盖、条件覆盖、判定 /条件覆盖、组合覆盖和路径覆盖方法 设计测试用例,并写出每个测试用例的执行路径。if(x>16|y>10)j=j%3; printf("%dn",j);else return 0;else if(x>0|y>0)j=x*y+10;printf("%dn",j);else k=x*y-1;j=sqrt(k);prin
18、tf("%dn",j);if(x>8&&y>5)四、控制流程图:五、语句覆盖:测试的路径为 x=10,y=6;程序执行的路径为:1k3>7;六、判定覆盖:测试的路径为:x=17,y=11 ; x=9 , y=7 ; x=7 , y=6 ; x=-1 , y=-2;(1)当测试路径为x=17,y=11时,程序执行的路径为:1 - 3 7;(2)当测试路径为x=9 , y=7时,程序执行的路径为:13 一f(3)当测试路径为x=7 , y=6时,程序执行的路径为:1 2 5 7;(4)当测试路径为x=-1 , y=-2时,程序执行的路径为:1&
19、gt;2 >4>7;七、条件覆盖:(1) 第一个判定(x>8)&&(y>5):1、条件x>8取真值记为T1 ,取假值记为-T12、条件z<5取真值记为T2,取假值记为-T2(2) 第二个判定(x>0)|(y>0):1、条件x>0取真值记为T3,取假值记为-T32、条件y>0取真值记为T4,取假值记为-T4(3) 第三个判定(x>16)|(y>10):1、条件x>16取真值记为T5,取假值记为-T52、条件y>10取真值记为T6,取假值记为-T6根据条件覆盖的基本思想,要使上述6个条件可能产生的1
20、2种情况至少满足一次,设计测试用例如下:测试用例执行路径覆盖条件覆盖分支X=17,y=111-3-6-7P T1,T2,T3,T4,T5,T63-6-7X= -1,y= -11-2-4-7-T1,-T2,-T3,-T4,-T5,-T62-4-7八、判定/条件覆盖:根据判定/条件覆盖的基本思想,只需设计以下两个测试用例便可以覆 盖6个条件的12种 取值以及6个判定分支。测试用例执行路径覆盖条华覆盖分支X=17,y=111-3-6-7T1,T2,T3,T4,T5,T63-6-7X= -1,y= -11-2-4-7-T1,-T2,-T3,-T4,-T5,-T62-4-7九、组合覆盖:对函数中的各个判
21、定的条件取值组合加以标记:1、x>8, y>5 记做T1 T2,第一个判定的取真分支;2、x>8, y<=5 记做T1-T2,第一个判定的取假分支;3、x<=8, y>5 记做-T1 T2,第一个判定的取假分支;根据组合覆盖的基本思想,设计测试用例如下:测试用例执行路径覆盖条件覆盖组合号x=17,y=111-3-6-7T1,T2,T3,T4,T5,T61、5、9x=9,y= -11-2-5-7T1 ,-T2,T3 ,-T4,T5 ,-T62、6、10x= 9,y=61-2-5-8T1,T2,T3,T4,-T5,-T63、7、11X= -1,y= -11-2-
22、4-7-T1,-T2,-T3,-T4,-T5,-T64、8、124、5、6、7、8、9、x<=8, y<5 x>0, y>0 x>0, y<=0 x<=0, y>0 x<=0, y<=0 x>16, y>1010、 x>16, y<=10记做-T1 -T2, t己做T3 T4, 记做T3 -T4, t 己做-T3 T4, 记做-T3 -T4, 记做T5 T6, 记做T5 -T6,11、x<=16, y>10 记做-T5 T6,12、x>=16, y<10 记做-T5 -T6,第一个判定的
23、取假分支;第一个判定的取假分支和第二个判定的取真分支; 第一个判定的取假分支和第二个判定的取真分支; 第一个判定的取假分支和第二个判定的取真分支; 第一个判定的取假分支和第二个判定的取假分支; 第一个判定的取真分支和第三个判定的取真分支; 第一个判定的取真分支和第三个判定的取真分支; 第一个判定的取真分支和第三个判定的取真分支; 第一个判定的取真分支和第三个判定的取假分支;十、路径覆盖:根据路径覆盖的基本思想,在满足组合覆盖的测试用例中修改其中一个测试用例,则可 以实现路径覆盖:测试用例执行路径覆盖条件x=9,y=61-3-7T1,T2,T3,T4,-T5,-T6X=17,y=61-3-6-7
24、T1,T2,T3,T4,T5,-T6X=5,y=61-2-5-7T1,T2,T3,T4,-T5,-T6X= -1,y= -11-2-4-7-T1,-T2,-T3,-T4,-T5,-T6实验四 : 白盒测试一、实验目的:计算生日是星期几二、实验要求:已知公元1 年 1 月 1 日 是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。应用逻辑覆盖方法和基本路径测试方法为上面的问题设计测试用例。要求: ( 1)画出该程序的控制流图;( 2)用基本路径测试方法给出测试路径;( 3)为各测试路径设计测试用例。三、实验程序:#include <iostream.h>void main
25、() int year,month,day;int t=0,t1=0,a=0,b=2050,c=0;cout<<"请输入 year:"<<endl;cin>>year;cout<<"请输入 month:"<<endl;cin>>month;cout<<"请输入 day:"<<endl;cin>>day;cout<<year<<","<<month<<"
26、,"<<day<<endl;1 for(year=1;year<b;year+)2 if(year%4=0&&year%100!=0)|(year%400=0)3 c=year/4;t1=(year-1)*365+c-1;switch(month)case 1:a=day;break;case 2:a=31+day;break;case 3:a=60+day;break;case 4:a=91+day;break;case 5:a=121+day;break;case 6:a=152+day;break;case 7:a=182+day;break;case 8:a=213
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 26786-2011工业热电偶和热电阻隔爆技术条件》专题研究报告
- 《GBT 3780.24-2017 炭黑 第 24 部分:空隙体积的测定》专题研究报告
- 员工体检依从性提升干预方案
- 合并胃食管反流哮喘儿童的吸入方案优化
- 合并焦虑的COPD患者生活质量干预方案的路径优化
- 可穿戴设备支持下的跌倒预防个性化方案
- 可穿戴设备在肿瘤康复期的监测与干预策略
- 2025年湖北省监督数据分析应用中心专项招聘资格复审参考题库附答案
- 2025新疆华电天山发电有限公司招聘(44人)考前自测高频考点模拟试题附答案
- 2025广东深圳市优才人力资源有限公司招聘聘员派遣至龙岗街考前自测高频考点模拟试题附答案
- 溜井放矿管理办法
- 四川辅警考试试题及答案
- 计量检定校准技术服务合同协议书
- pmc人员管理制度
- 分批次供货方案(3篇)
- 2015海湾消防GST-QKP04、GST-QKP04-2 气体灭火控制器安装使用说明书
- 安全驾驶车辆课件下载
- 安徽省淮南市东部地区2024-2025学年上学期期末考试八年级数学试题(原卷版+解析版)
- 2025年制冷工(技师)职业技能鉴定理论考试指导题库(含答案)
- 初三体育教案全册
- 中国大唐集团公司工程中、高级专业技术资格评审条
评论
0/150
提交评论