版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称:学生姓名:文学号:、院系:计算机 班级:1202 组别:丄任课教师:张建东指导老师:张建东目录一、学生选课系统选课以及退选流程图2二、 语句覆盖:42.1 :语句覆盖过程分析:2.2 :语句覆盖测试用例:三、 判定覆盖:53.1 :判定覆盖过程分析:3.2 :判定覆盖测试用例:四、 条件覆盖:64.1 :条件覆盖过程分析:4.2 :条件覆盖测试用例:五、 判定-条件覆盖:75.1 :判定-条件覆盖过程分析:5.2 :判定-条件覆盖测试用例:六、 条件组合覆盖:86.1 :条件组合覆盖过程分析:6.2 :条件组合覆盖测试用例:七、 路径覆盖:97.1 :路径覆盖过程分析:7.2
2、 :路径覆盖测试用例:八、 实验总结:11九、 源代码:12实验一白盒测试用例设计、学生选课系统选课以及退选流程图:输出:这门 课程选过了是否重新选课输出:这门 课人数已满输出:选课 成功!注释:条件A为,判定课程号是否存在?条件B为,判定是否在课程号范围内?条件C为,判定是否确认选课?条件D为,判断该课程是否已经选过了?条件E为,判定是否继续选课?条件H为,判定选课人数是否已满?1.2学生选课系统退选流程图:T输出:课程 号输入有误输出:该课 程不存在F退选课程T是否重新退选课D输出:退选 成功FF输出:你还禾选此门课注释:条件A为,判定课程号是否输入有误?条件B为,判定课程号是否存在?条件
3、C为,判断是否重新退选?条件D为,判定退选是否成功?二、语句覆盖:2.1 :语句覆盖过程分析:语句覆盖的基本思想是设计若干测试用例,使得运行被测试程序时,每个 可执行语句至少被执行一次。2.2 :语句覆盖测试用例:选课功能语句覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果O k/NgP1a=0,TT该课程不存在,重选Oe=1kP2a!=0,0<b&&b<C no ,c=1,d=1, e!=1FTTTF该课程选过了,选课结束O kP3a!=0,0<b&&b<C no ,c=1,d!=1, e!=1 hvmaxFTTFFT
4、选课成功O kP4a!=0,0<b&&b<Cno ,c=1,d!=1,h>maxFTTFF该课程人数已满,选课结束O k222退选功能语句覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1a>C no|a<0,T课程号输入有Ok误,重退选P2a<C no&&a>0,FTT课程不存在,重Okb=0,c=1退选P3a<C no&&a>0.FFFT退选成功,不冉Okb!=0,c!=1,d=1退选P4a<C no&&a>0,FFF未选此课,退选Okb!=0
5、,c!=1,d!=1结束三、判定覆盖:3.1 :判定覆盖过程分析:判定覆盖的基本思想是设计若干用例,使得运行被测程序,使每个判定的 真假分支至少经历一次。3.2 :判定覆盖测试用例:选课功能判定覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果Ok/N gP1a=0,e=1TT该课程不存在,重选OkP2a!=0,0>b|b>C no,e!=1FFF超出课程范围,选课结束OkP3a!=0,0<b&&b<CnFTFF不选该课程,选课结束Oko,c!=1,e!=1P4a!=0,0<b&&b<Cno,C=1,d=1,e
6、!=1FTTTF该课程选过来,选课结束OkP5a!=0,0<b&&b<Cno,C=1,d!=1,e!=1,h=maxFTTFFT选课人满,选课结束OkP6a!=0,0<b&&b<Cno, C=1,d!=1,HvmaxFTTFF选课成功Ok322退选功能判定覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1a>C no|a<0,T课程号输入有误OkP2a<C no&&a>0,FTT课程号不存在,Okb=0,c=1重新退选P3a<C no&&a>0,FFFT
7、退选成功,结束Okb!=0,c!=1,d=1退选P4a<C no&&a>0,FFF未选此门课程,Okb!=0,c!=1,d!=1结束退选四、条件覆盖:4.1 :条件覆盖过程分析:条件覆盖的基本思想是,设计若干测试用例,运行程序,使得每个判断中 的可能取值至少满足一次。4.2 :条件覆盖测试用例:选课功能条件覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果Ok/NgP1a=0,b=1TT该课程不存在,重选OkP2A!=0,0<b&&b<Cno, c=1,d!=1, h=maxFTTFT选课人满,选课结束OkP3A!=0,0
8、<b&&b<Cno,c=1,d!=1,H!=maxFTTTF该课程选过来,选课结束OkP4A!=0,FTFTF选课成功Ok0<b&&b<Cno,c!=1,e!=1,P5A!=0,FFF该课程不存在,Okb>C no,e!=1重选P6A!=0,FFF该课程不存在,Okb<0,e!=1重选422退选功能条件覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1A>C noT课程号输入有误OkP2A<0,b=0,c=1T课程号输入有误OkP3a<C no&&a>0FTT课程号不存
9、在,重新退选Ok5b!=0,c=1P4a<C no&&a>0FFFT退选成功,结束退选Okb!=0,c!=1,d=1P5a<C no&&a>0FFF未选此门课程,结束退选Ok5b!=0,d!=1五、判定-条件覆盖:5.1 :判定-条件覆盖过程分析:判定-条件覆盖的基本思想是,设计若干测试用例,运行程序,使得判断 条件中的所有可能至少执行一次,同时,所有判断的可能结果至少执行一次。5.2 :判定-条件覆盖测试用例:选课功能判定-条件覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果Ok/NgP1a=0,b=1TT该课程不存在
10、,重选OkP2A!=0,0<b&&b<C noFTTFT选课人满,选课结束OkJc=1,d!=1,h=maxP3A!=0,0<b&&b<C noFTTTF该课程选过来,结束选课OkJc=1,d!=1,H!=maxP4A!=0,0<b&&b<C noFTTTF选课成功OkJc=1,e!=1,P5A!=0, b>C no,e!=1FFF该课程不存在,重选OkP6A!=0,b<0,e!=1FFF该课程不存在,重选OkP7a!=0,0<b&&b<C noFTFF取消选课,结束选课
11、OkJc!=1,e!=1522退选功能判定-条件覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1A>C noT课程号输入有误OkP2A<0,b=0,c=1T课程号输入有误OkP3a<C no&&a>0,b!=0,c=1FTT课程号不存在,重新退选OkP4a<C no&&a>0,b!=0,c!=1,d=1FFFT退选成功,结束退选OkP5a<C no&&a>0,b!=0,d!=1FFF未选此门课程,结束退选Ok六、条件组合覆盖:6.1 :条件组合覆盖过程分析:条件组合覆盖的基本思想
12、是,设计若干测试用例,运行程序,使得每个条 件中的所有可能至少出现一次,并且每个判定的结果也至少出现一次。6.2 :条件组合覆盖测试用例:选课功能条件组合覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果Ok/NgP1a=0,b=1TT该课程不存在,重选OkP2A!=0,0<b&&b<C noJc=1,d!=1,h=maxFTTFT选课人满,选课结束OkP3A!=0,0<b&&b<C noJc=1,d!=1,H!=maxFTTTF该课程选过来,选课结束OkP4A!=0,0<b&&b<C noJF
13、TTTF选课成功Okc=1,e!=1.P5A!=0,FFF该课程不存在,Okb>C no,e!=1重选P6A!=0,FFF该课程不存在,Okb<0,e!=1重选P7a!=0,FTFF取消选课,结束Ok0<b&&b<C no选课Jc!=1,e!=1Pa!=0,FFF取消选课,结束80>b&&b>C noJ选课622退选功能条件组合覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1A>C noT课程号输入有误OkP2A<0,b=0,c=1T课程号输入有误OkP3a<C no&&a
14、>0,b!=0,c=1FTT课程号不存在,重新退选OkP4a<C no&&a>0,FFFT退选成功,结束退选Okb!=0,c!=1,d=1P5a<C no&&a>0,FFF未选此门课程,结束Okb!=0,d!=1退选P6A>C no|a<0,T课程号输入有误Ok七、路径覆盖:7.1 :路径覆盖过程分析:路径覆盖的基本思想是,设计所有的测试用例,来覆盖程序中的所有可能 的执行路径。7.2 :路径覆盖测试用例:选课功能路径覆盖测试用例:编号输入条件A条件B条件C条件D条件E条件H预期结果Ok/NgP1a=0T该课程不存在,重
15、选OkP2a=0,e=1T该课程不存在,重选OkP3a=0,b<=0&& b>=0TF是否重新选课OkP4a=0,b>0&&bTTF是否重新选课Ok<Cn o,c!=1P5a=0,b>0&&bTTTT这门课程选过Ok<Cn o,c!=1,d=1了P6a=0,b>0&&bTTTFT这门课的人数Ok<Cn o,c!=1,d!=已满1,h=maxP7a=0,b>0&&bTTTTF选课成功!Ok<Cn o,c!=1,d!=1,h ! =maxP8e=1T重新选课O
16、kP9e!=1F退出系统Ok722退课功能路径覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1a>C no|a<0T课程号输入有误OkP2A<=C no|a>=0B=0FT该课程不存在OkP3A<=C no|a>=0B! =0,d=1FTT退选成功OkP4A<=C no|a>=0B! =0,d ! =1FTF你还未选此门课OkP5C=1T重新退选OkP6C! =1F退出系统Ok八、实验总结:对于白盒测试,在设计测试用例时首先对程序进行分析, 从程序的内部结构出发 设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计
17、等。设 计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的 测试比较透彻,但不容易生成测试用例,而且测试工作量很大。因为白盒测试是 基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要 求。同时,对于白盒测试的案例设计,要注意以下几点(1 )保证每个模块中的所有独立路径至少被执行一次;(2) 对所有的逻辑值均需要测试真、假两个分支;(3) 在上下边界及可操作范围内运行所有循环;(4) 检查内部数据结构以确保其有效性。在测试中,也出现了一些不足:在选课模块中,有一个条件语句是判断所输入的课
18、程号是否存在。当所输入 课程号不存在的时候,程序跳转到重新开始选课。这个判定,存在缺陷。只能判 断数字,对于其他的数据类型,缺少错误输入判断。在选课模块中,有一个条件语句是判断是否确认选择。输入选项有1和2,当输入为其他数据类型时,程序界面一闪而过,退回到学生界面。在退选模块中,有一个条件语句是判断是否确认退选。输入选项有1和2, 当输入为其他数据类型时,程序出错。九、源代码:voidselect(int XH)/* 选课 */leapl: system("color 70");int cn ,i,j,C n,k;int p=0;char t20;printf("
19、课程号 课程名上课时间上课地点上课老师老师编号课程人数n"); /*添加*/for(k=0;kv=CPMAX;k+) /* 添加 */if(Couk.Cno=0) break;for(i=0;i<k;i+)printf("%3d %10s %9.2f",Coui.Cno,Coui.Cname,Coui.time);printf(” %10s %8s %9d %9dn",Coui.place,Coui.teacher,Coui.Tno,Coui.p n);/*添加*/printf("请输入课程序号n");scan f("
20、%d",&cn);Cn=cn-1;if(CouC n.C no=0)printf("该课程不存在n");printf("是否继续选课? 1是 2 否n");scan f("%d",&j);if(j=1) system("cls");goto leap1;else if(Cn<CNO&&Cn >=0)printf("课程号 课程名上课时间上课地点上课老师师编号 课程人数n");prin tf("%3d %10s %9.2f"
21、,CouC n.C no,CouC n.C name,CouC n.time);printf(" %10s %8s %9d %9dn",CouC n.place,CouC n.teacher,CouCn.T no,CouC n.p n);printf("是否选择该课程? 1是2否n");sca nf("%d",&j);if(j=1)for(j=1;jv(SCMAX-1);j+)if(Stude ntXHj=cn) p=1;if(p=1)printf("该门课程已经选过了 n");printf("是
22、否重新选课? 1是2否n");scan f("%d",&i);if(i=1) system("cls");goto leap1;else if(Stude ntXHSCMAX-1>0)printf("你所选课程已满不能再进行选择n"); else if(CouC n.pn=CPMAX)printf("该门课人数已满");printf("是否重新选课? 1是2否n");scan f("%d",&i);if(i=1) system("cl
23、s");goto leap 1;/*1111*/elseif(StudentXH1=0) StudentXH1=CouCn.Cno;elseif(Stude ntXH2=0)Stude ntXH2=CouC n.C no;elseStude ntXH3=CouC n.C no;elseStude ntXH4=CouC n.C no;CouC n.p n=CouC n.p n+1;printf(” 选课成功! n");printf("是否继续选课? 1是2 scan f("%d",&j);if(j=1) system("cls&
24、quot;);goto leap1;elseprintf("是否继续选课? 1是2 sca nf("%d",&j);if(j=1) system("cls");goto le ap1; elseif(Stude ntXH3=0)否 n");否 n");printf("该课程不存在n");printf("是否继续选课? 1是 2 否n");scan f("%d",&j);if(j=1) system("cls");goto leap
25、1;printf("任意键返回n");sca nf("%s", &t);system("cls");prin tf("%s 欢迎回来! n",SXH.S name); system("color 80");printf(" #n");Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff vl
26、I 1)prin tf("#n");prin tf("#n");prin tf("# 1 选课查询#n");prin tf("#n");prin tf("#2 选课#n");prin tf("#n");printf("printf(" #n");printf("#n");printf("#n");printf("# 3选课退选#n");#B返回#n”);Tf T7ff Tf T7ff T
27、f Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf vl I 1) sea nf("%d",&i);if(i=1)system("cls");search(XH);else if(i=2) system("cls");select(XH);else if(i=3) system("cls");DropC(XH); elsesystem(
28、"cls");jiemia n();void DropC(int XH)/* 课程退选 */Ieap2: int i,j,k;char l20;int m=0;printf("您已选择的课程为:n");老师编号printf("课程号 课程名上课时间上课地点上课老师课程人数n");for(j=1;jv=4;j+)if(Stude ntXHj=0) pri ntf("空n");else%9.2fprin tf("%3d%10s",CouStude ntXHj-1.C no,CouStude ntXH
29、j-1.C name,CouStude nt XHj-1.time);printf(" %7s %8s %9d %9dn",CouStudentXHj-1.pIace,CouStude ntXHj-1.teacher,CouStude ntXHj-1.T no,CouStude ntXHj-1.p n)/*输出所查询的课程*/printf("请输入退选的课程号:n");scan f("%d",&i);if(i>CNO|i<0)printf("输入有误 n");goto Ieap2;else if
30、(Coui-1.C no=0)printf("该课程不存在n");printf("是否重新退选课程?1是2否n");sca nf("%d",&k);if(k=1) system("cls"); goto leap2;elsefor(j=1;jv=4;j+)if(StudentXHj=Coui-1.Cno) m=1;break;if(m=1)Stude ntXHj=O;Coui-1.p n=Coui-1.p n-1;printf(” 退选成功! n");printf("是否继续退选课程? 1是2否n");sea nf("%d",&k);if(k=1) system("cls"); goto leap2;elseprintf("你还没选择这门课程n");printf("是否重新退选课程?1是2否n"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江宁波市鄞州区公立学校招聘编外员工1人备考题库【综合题】附答案详解
- 2026四川宜宾珙县总工会第一次招聘社会化工会工作者1人备考题库【有一套】附答案详解
- 2026湖南湘科控股集团有限公司本部审计专干岗、企建宣传岗、财务共享中心系统管理岗招聘3人备考题库(各地真题)附答案详解
- 2026江西赣州市全南县公用市政建设集团有限公司招聘1人备考题库附答案详解【突破训练】
- 2026陕西延安市志丹县人力资源和社会保障局公益性岗位招聘50人备考题库完美版附答案详解
- 2026江苏镇江市卫生健康委员会所属镇江市第一人民医院招聘32人备考题库附参考答案详解【预热题】
- 2026广东云浮市新兴县招募见习岗位人员2人备考题库及完整答案详解(网校专用)
- 2026安徽滁州来安县公安局汊河派出所招聘备考题库及参考答案详解(培优)
- 2026春季河北邯郸市曲周县博硕人才选聘87人备考题库含完整答案详解【易错题】
- 2026河南郑外集团郑开学校附中教师招聘1人备考题库附参考答案详解(模拟题)
- 取水许可管理办法变更申请书(空表)
- 2024中国中信金融资产管理股份有限公司广西分公司招聘笔试冲刺题(带答案解析)
- 2024年新改版青岛版(六三制)四年级下册科学全册知识点
- 鱼类性别控制技术研究进展专题培训课件
- 旧桥拆除专项施工方案
- 小学生古诗词大赛备考题库(300题)
- 化学预氧化简介
- GB/T 9978.2-2019建筑构件耐火试验方法第2部分:耐火试验试件受火作用均匀性的测量指南
- GB/T 17711-1999钇钡铜氧(123相)超导薄膜临界温度Tc的直流电阻试验方法
- 建设项目办理用地预审与选址意见书技术方案
- 研究生学术道德与学术规范课件
评论
0/150
提交评论