版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称:学生姓名:刘成立、龙甜学号14122402596院系:计算机 班级:1202 组别:1任课教师:张建东指导老师:张建东目录一、学生选课系统选课以及退选流程图2二、 语句覆盖:42.1:语句覆盖过程分析:2.2:语句覆盖测试用例:三、 判定覆盖:53.1:判定覆盖过程分析:3.2:判定覆盖测试用例:四、 条件覆盖:64.1:条件覆盖过程分析:4.2:条件覆盖测试用例:五、 判定-条件覆盖:75.1 :判定-条件覆盖过程分析:5.2:判定-条件覆盖测试用例:六、 条件组合覆盖:86.1 :条件组合覆盖过程分析:6.2:条件组合覆盖测试用例:七、 路径覆盖
2、:97.1:路径覆盖过程分析:7.2:路径覆盖测试用例:八、 实验总结:11九、 源代码:12实验一白盒测试用例设计、学生选课系统选课以及退选流程图:1.1学生选课系统选课流程图:输出:这门 课程选过了输出:这门 课人数已满输出:选课 成功!选课TT是否重新选课注释:条件A为,判定课程号是否存在?条件B为,判定是否在课程号范围内?条件C为,判定是否确认选课?条件D为,判断该课程是否已经选过了?条件E为,判定是否继续选课?条件H为,判定选课人数是否已满?12学生选课系统退选流程图: 是否重新退选课输出:退选 成功注释:条件A为,判定课程号是否输入有误?条件B为,判定课程号是否存在?条件C为,判断
3、是否重新退选?条件D为,判定退选是否成功?二、语句覆盖:2.1:语句覆盖过程分析:语句覆盖的基本思想是设计若干测试用例,使得运行被测试程序时,每个 可执行语句至少被执行一次。2.2:语句覆盖测试用例:2.2.1选课功能语句覆盖测试用例:编号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok /NgP1a=0, e=1TT该课程不存在,重选OkP2a!=0,0b&bC no, c=1,d=1,e!=1FTTTF该课程选过了,选课结 束OkP3a!=0,0b&bC no, c=1,d!=1,e!=1 hvmaxFTTFFT选课成功OkP4a!=0,0b&bmaxFTTFF该课程人数已
4、满,选课 结束Ok222退选功能语句覆盖测试用例:编号输入条件A条件B条件C条件D预期结果Ok/NgP1aC no|a0.T课程号输入有 误,重退选OkP2a0, b=0,c=1FTT课程不存在,重退选OkP3a0, b!=0,c!=1,d=1FFFT退选成功,不再 退选OkP4a0, b!=0,c!=1,d!=1FFF未选此课,退选 结束Ok三、判定覆盖:3.1:判定覆盖过程分析:判定覆盖的基本思想是设计若干用例,使得运行被测程序,使每个判定的 真假分支至少经历一次。3.2:判定覆盖测试用例:321选课功能判定覆盖测试用例:编号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok
5、 /NgP1a=0,e=1TT该课程不存在,重选OkP2a!=0, 0b|bC no, e!=1FFF超出课程范围,选课 结束OkP3a!=0,0b&bC no, c!=1,e!=1FTFF不选该课程,选课结 束OkP4a!=0,0b&bC no, C=1,d=1,e!=1FTTTF该课程选过来,选课 结束OkP5a!=0,0b&bC no, C=1,d!=1,e!=1, h=maxFTTFFT选课人满,选课结束OkP6a!=0,0b&bC no|a0.T课程号输入有误OkP2a0, b=0,c=1FTT课程号不存在, 重新退选OkP3a0, b!=0,c!=1,d=1FFFT退选成功,结束
6、退选OkP4a0, b!=0,c!=1,d!=1FFF未选此门课程, 结束退选Ok四、条件覆盖:4.1:条件覆盖过程分析:条件覆盖的基本思想是,设计若干测试用例,运行程序,使得每个判断中 的可能取值至少满足一次。4.2:条件覆盖测试用例:421选课功能条件覆盖测试用例:编 号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok / NgP1a=0,b=1TT该课程不存在, 重选OkP2A!=0,0b&bC no, c=1,d!=1, h=maxFTTFT选课人满,选课 结束OkP3A!=0,0b&bC no,c =1,d!=1, H!=maxFTTTF该课程选过来, 选课结束OkP
7、4A!=0,0b&bC no,e!=1FFF该课程不存在, 重选OkP6A!=0, bC noT课程号输入有误OkP2A0,b=0,c=1T课程号输入有误OkP3a0, b!=0,c=1FTT课程号不存在,重新退选OkP4a0, b!=0,c!=1,d=1FFFT退选成功,结束退选OkP5a0, b!=0,d!=1FFF未选此门课程,结束退选Ok五、判定-条件覆盖:51:判定-条件覆盖过程分析:判定-条件覆盖的基本思想是,设计若干测试用例,运行程序,使得判断 条件中的所有可能至少执行一次,同时,所有判断的可能结果至少执行一次。5.2:判定-条件覆盖测试用例:521选课功能判定-条件覆盖测试用例
8、:编 号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok / NgP1a=0,b=1TT该课程不存在,重选OkP2A!=0,0b&bC no, c=1,d!=1, h=maxFTTFT选课人满,选课结束OkP3A!=0, 0b&bC no, c=1,d!=1, H!=maxFTTTF该课程选过来,选课 结束OkP4A!=0, 0b&bC no,e!=1FFF该课程不存在,重选OkP6A!=0, b0,e!=1FFF该课程不存在,重选OkP7a!=0,0b&bC noT课程号输入有误OkP2A0,b=0, c=1T课程号输入有误OkP3a0, b!=0,c=1FTT课程号不存在,
9、重新退选OkP4a0, b!=0, c!=1,d=1FFFT退选成功,结束退选OkP5a0, b!=0,d!=1FFF未选此门课程,结束退选Ok六、条件组合覆盖:6.1:条件组合覆盖过程分析:条件组合覆盖的基本思想是,设计若干测试用例,运行程序,使得每个条 件中的所有可能至少出现一次,并且每个判定的结果也至少出现一次。6.2:条件组合覆盖测试用例:6.2.1选课功能条件组合覆盖测试用例:编 号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok /NgP1a=0,b=1TT该课程不存在, 重选OkP2A!=0, 0b&bC no, c=1,d!=1,h=maxFTTFT选课人满,选
10、课 结束OkP3A!=0, 0b&bC no, c=1,d!=1, H!=maxFTTTF该课程选过来, 选课结束OkP4A!=0, 0b&bC no,e!=1FFF该课程不存在, 重选OkP6A!=0, b0,e!=1FFF该课程不存在, 重选OkP7a!=0,0b&bb&bC no,FFF取消选课,结束 选课622退选功能条件组合覆盖测试用例:编 号输入条件A条 件B条 件C条 件D预期结果Ok /NgP1AC noT课程号输入有误OkP2A0,b=0,c=1T课程号输入有误OkP3a0, b!=0,c=1FTT课程号不存在,重新 退选OkP4a0, b!=0,c!=1,d=1FFFT退选
11、成功,结束退选OkP5a0, b!=0,d!=1FFF未选此门课程,结束 退选OkP6AC no|a0.T课程号输入有误Ok七、路径覆盖:7.1:路径覆盖过程分析:路径覆盖的基本思想是,设计所有的测试用例,来覆盖程序中的所有可能 的执行路径。7.2:路径覆盖测试用例:7.2.1选课功能路径覆盖测试用例:编 号输入条 件A条 件B条 件C条 件D条 件E条 件H预期结果Ok / NgP1a=0T该课程不存在, 重选OkP2a=0,e=1T该课程不存在, 重选OkP3a=0,b =0TF是否重新选课OkP4a=0,b0&b0&b0&b0&bC no|a0T课程号输入有误OkP2A=0B=0FT该课
12、程不存在OkP3A=0B ! =0,d=1FTT退选成功OkP4A=0 B ! =0,d! =1FTF你还未选此门课OkP5C=1T重新退选OkP6C! =1F退出系统Ok八、实验总结:对于白盒测试,在设计测试用例时首先对程序进行分析, 从程序的内部结构出发 设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。设 计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的 测试比较透彻,但不容易生成测试用例,而且测试工作量很大。因为白盒测试是 基于代码的基础上,所以对变量的定义、数据的分析、精度的
13、度量都有严格的要 求。同时,对于白盒测试的案例设计,要注意以下几点(1) 保证每个模块中的所有独立路径至少被执行一次;(2) 对所有的逻辑值均需要测试真、假两个分支;(3) 在上下边界及可操作范围内运行所有循环;(4) 检查内部数据结构以确保其有效性。在测试中,也出现了一些不足:在选课模块中,有一个条件语句是判断所输入的课程号是否存在。当所输入 课程号不存在的时候,程序跳转到重新开始选课。这个判定,存在缺陷。只能判 断数字,对于其他的数据类型,缺少错误输入判断。在选课模块中,有一个条件语句是判断是否确认选择。输入选项有1和2,当输入为其他数据类型时,程序界面一闪而过,退回到学生界面。在退选模块
14、中,有一个条件语句是判断是否确认退选。 输入选项有1和2,当输入为其他数据类型时,程序出错九、源代码:voidselect(i nt XH)/* 选课 */leapl: system(color 70);int cn ,i,j,C n,k;int p=0;char t20;printf(课程号课程名上课时间上课地点上课老师老师编号 课程人数n); /*添加*/for(k=0;k=CPMAX;k+) /* 添加 */if(Couk.Cno=0) break;for(i=0;ik;i+)prin tf(%3d %10s %9.2f,Coui.C no,Coui.C name,Coui.time);
15、printf(” %10s %8s %9d %9dn,Coui.place,Coui.teacher,Coui.Tno,Coui.pn );/*添加*/printf(请输入课程序号n);scan f(%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=0)printf(课程号课程名上课时间上课地点上课老师老师编号课程人数n);prin tf(%3d %10s %9.2f,CouC n.C n
16、o,CouC n.C name,CouC n.time);printf( %10s %8s %9d %9dn,CouC n.place,CouC n.teacher,CouC n.T no,Co uC 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(是否重新选课? 1是2否n);scan f(%d,&i);if(i=1) system(cls);goto le ap1;else if
17、(Stude ntXHSCMAX-10)printf(你所选课程已满不能再进行选择n);else if(CouC n .p n=CPMAX)printf(该门课人数已满); printf(是否重新选课? 1是2否n); scan f(%d,&i);if(i=1) system(cls);goto leap 1;/*1111*/elseif(Stude ntXH1=0) Stude ntXH1=CouC n.C no;else if(Stude ntXH2=0) Stude ntXH2=CouC n.C no; else if(Stude ntXH3=0) Stude ntXH3=CouC n.
18、C no; elseStude ntXH4=CouC n.C no;CouC n.p n=CouC n.p n+1;printf(选课成功! n);printf(是否继续选课? 1是 2 否n);scan f(%d,&j);if(j=1) system(cls);goto le ap1;elseprintf(是否继续选课? 1是 2 否n); sca nf(%d,&j);if(j=1) system(cls);goto le ap1;elseprintf(该课程不存在n);printf(是否继续选课? 1是 2 否n);scan f(%d,&j);if(j=1) system(cls);got
19、o le ap1;printf(任意键返回n);sca nf(%s, &t);system(cls);printf(%s 欢迎回来! n,SXH.Sname); 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 I 1)printf(#n);printf(#n);prin tf(# 1选课查询#n);printf(#n);prin tf(# 2 选课#n
20、);printf(#n);prin tf(# 3选课退选#n);printf(#n);printf(#n);prin tf(#B 返回#n);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 Tf T7ff Tf Tf vl 11)sca nf(%d,&i);if(i=1)system(cls);search(XH);else if(i=2) system(cls);select(XH);el
21、se if(i=3) system(cls);DropC(XH); elsesystem(cls);jiemia n();void DropC(int XH)/* 课程退选 */leap2: int i,j,k;char l20;int m=0;printf(您已选择的课程为:n);printf(课程号课程名上课时间上课地点上课老师老师编号 课程人数n);for(j=1;jv=4;j+)if(StudentXHj=0) printf(空n);elseprin tf(%3d%10s%9.2f,CouStude ntXHj-1.C no,CouStude ntXHj-1.C name,CouStu
22、de ntXHj-1.time);printf( %7s %8s %9d %9dn,CouStudentXHj-1.place,CouStudentXHj- 1.teacher,CouStude ntXHj-1.T no,CouStude ntXHj-1.p n);/*输出所查询的课程*/printf(请输入退选的课程号:n);scan f(%d,&i);if(iCNO|i0)prin tf(输入有误 n);goto leap2;else if(Coui-1.C no=0)printf(该课程不存在n);printf(是否重新退选课程? 1是2否n);sca nf(%d,&k);if(k=1) system(cls); goto le ap2;elsefor(j=1;jv=4;j+)if(StudentXHj=Coui-1.Cno) m=1;break;if(m=1)Stude ntXHj=0;Coui-1.p n=Coui-1.p n-1;printf(退选成功! n);printf(是否继续退选课程? 1是 2否n);sca nf(%d,&k);if(k=1) system(cls); goto le
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院人文关怀伦理管理制度(3篇)
- 乡村厨房施工方案(3篇)
- 兰花棚施工方案(3篇)
- 公司公车用车卫生管理制度(3篇)
- 2026年四川商务职业学院单招职业技能测试题库及参考答案详解一套
- 2026年商洛职业技术学院单招综合素质考试题库附答案详解(研优卷)
- 2025 六年级地理下册撒哈拉以南非洲的旅游业发展课件
- 2026年交通运输局事业单位招聘考试真题及答案
- 2026年环保设施运行试题及答案
- 2025年中级评茶员职业鉴定理论考试核心题库(附答案及解析)
- DB32-4148-2021 燃煤电厂大气污染物排放标准
- 1输变电工程施工质量验收统一表式(线路工程)-2024年版
- 办公用品采购合同样本示范
- 2024年湘潭医卫职业技术学院单招职业适应性测试题库1套
- 铝合金轮毂课件
- 中国舞蹈史完
- 钢骨混凝土(本科)课件
- 《SAM系统基本知识》课件
- 湘教版八年级上册初二数学全册单元测试卷(含期中期末试卷)
- 2023年常州市社区工作者招聘考试真题
- 机场人脸识别安检方案介绍
评论
0/150
提交评论