学生选课系统-黑盒测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1实验报告课程名称:软件测试方法和技术学生姓名:刘成立、龙甜学号:14122402475、14122402596院系:计算机班级:1202组别:1任课教师:张建东指导老师:张建东2目录一、黑盒测试方法相关概念:1.1黑盒测试定义:1.2黑盒测试分类:1.3黑盒测试优缺点:二、学生选课系统,选课、退选功能结构:2.1选课、退选层次图:2.2选课、退选流程图:三、等价类划分法:3.1:等价类划分法过程分析:3.2:等价类划分法测试用例:四、边界值分析法:4.1:边界值分析法过程分析:4.2:边界值分析法测试用例:五、实验总结:六、测试截图:七、源代码:3实验二黑盒测试用例设计一、黑盒测试方法相关概念:1.1黑盒测试定义:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。1.2黑盒测试分类:黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。1.3黑盒测试优缺点:优点:黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。能够直观的检验软件功能是否符合用户的需求;功能是否正确、有无遗漏;发现界面错误,是否美观、输入和输出错误、数据库访问错误、功能操作逻辑不合理、初始化和终止错误等。[缺点:软件外部特性本身设计有问题或规格说明的规定有误,黑盒测试方法发现不了。二、学生选课系统,选课、退选功能层次图:2.1、选课、退选层次图:学生选课系统学生入口选课查询选课退选42.2选课、退选流程图:2.2.1学生选课系统选课流程图:注释:条件A为,判定课程号是否存在?条件B为,判定是否在课程号范围内?条件C为,判定是否确认选课?条件D为,判断该课程是否已经选过了?条件E为,判定是否继续选课?条件H为,判定选课人数是否已满?a=0?输出:该课程不存在e=1?Td=1?TTFFF输出:这门课程选过了TFTBDATFEHCFh=max?输出:选课成功!b0&&bCno选课c=1?输出:这门课人数已满是否重新选课?52.2.2学生选课系统退选流程图:注释:条件A为,判定课程号是否输入有误?条件B为,判定课程号是否存在?条件C为,判断是否重新退选?条件D为,判定退选是否成功?三、等价类划分法:3.1:等价类划分法过程分析:3.1.1等价类划分法基本思想:用一组有限的数据去代表近似无限的数据。3.1.2等价类划分法的定义:aCno||a0输出:课程号输入有误TBTTTFFFFAb=0?输出:该课程不存在c=1?是否重新退选课?退选课程d=1?输出:退选成功输出:你还未选此门课程CD6等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。3.2:等价类划分法测试:3.2.1等价类划分:输入合理等价类不合理等价类选课课程号1=n=61、有非数字字符;2、N63、N1选课确认输入1或者21、有非数字字符;2、输入大于2的数字3、输入小于1的数字是否继续选课选项输入1或者21、有非数字字符;2、输入大于2的数字3、输入小于1的数字退选课程号已选课程号1、有非数字字符;2、输入未选课程号3、输入课程号范围外的数字是否继续退选输入1或者21、有非数字字符;2、输入大于2的数字3、输入小于1的数字3.2.2测试用例的设计:编号输入实际输入预期结果Ok/NgP1选课课程号输入非数字字符;输入数据类型错误,请重新输入NGP2输入大于6的数字该课程不存在OKP3输入小于1的数字该课程不存在OKP4选课确认输入非数字字符;输入数据类型错误,请重新输入NGP5输入大于2的数字是否继续选课OKP6输入小于1的数字是否继续选课OKP7是否继续选课输入非数字字符;输入数据类型错误,请重新输入NG7P8输入大于2的数字按任意键返回OKP9输入小于1的数字按任意键返回OKP10退选课程号输入非数字字符;输入数据类型错误,请重新输入NGP11输入未选课程号该课程还未选OKP12输入课程号范围外的数字该课程不存在OKP13是否继续退选输入非数字字符;输入数据类型错误,请重新输入NGP14输入大于2的数字按任意键返回OKP15输入小于1的数字按任意键返回OK四、边界值分析法边界值分析法就是在某个输入输出变量范围的边界上,验证系统功能是否正常运行的测试方法。1、输入条件:输入身份序号。测试用例:(1)输入0或4,测试结果为:8程序运行结束,并且无任何提示信息。(2)输入1,测试结果为:进入学生登陆界面,等待用户输入。(3)输入3,测试结果为:进入管理员界面,等待管理员输入。2、输入条件:输入登陆账号。9输入:数字1~6。输入:数字1~6以外的数字。输入1~6之间的数字才会进入到选课界面,超出范围的任何数字都对提示出错。说明只有内置的几个学生学号能实现正常的登陆。2、输入条件:输入选课操作。10(1)输入0或4界面在没有任何提示的情况下直接跳转到了主界面,让人非常意外。并且可以继续操作。(2)输入1:显示该学生已选的课程。11(3)输入3:显示该学生已选的课程,并且等待输入要退选课程的课程号。3、输入条件:输入要选课程的课程序号(1)输入0提示该课程不存在,等待输入是否继续选课。12五、实验总结:在测试中,也出现了一些不足:1、缺少对输入数据类型的判断,以及相应的出错处理;2、功能逻辑上有问题,某些输出信息不够合理、人性化六、测试截图:6.1等价类划分法测试截图:6.1.1选课课程号的输入:输入小于1的课程号:输入大于6的课程号:13输入非数字的课程号:程序出错!6.1.2选课确认选项的输入:输入小于1的数字:输入大于2的数字:输入非数字:程序一闪而过,回到学生界面。146.1.3是否继续选课确认选项的输入:输入小于1的数字:输入大于2的数字:输入非数字:程序显示任意键返回,一闪而过,回到学生界面6.1.4退选课程号的输入:15输入未选课程号:输入不再课程号范围内的数字:输入非数字:程序出错。6.1.5退选课程号的确认:输入小于1的数字:输入大于2的数字:16输入非数字:程序出错!七、源代码:voidselect(intXH)/*选课*/{leap1:system(color70);intcn,i,j,Cn,k;intp=0;chart[20];printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);/*添加*/for(k=0;k=CPMAX;k++)/*添加*/{if(Cou[k].Cno==0)break;}for(i=0;ik;i++){printf(%3d%10s%9.2f,Cou[i].Cno,Cou[i].Cname,Cou[i].time);printf(%10s%8s%9d%9d\n,Cou[i].place,Cou[i].teacher,Cou[i].Tno,Cou[i].pn);}/*添加*/printf(请输入课程序号\n);scanf(%d,&cn);Cn=cn-1;if(Cou[Cn].Cno==0){printf(该课程不存在\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);17if(j==1){system(cls);gotoleap1;}}elseif(CnCNO&&Cn=0){printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);printf(%3d%10s%9.2f,Cou[Cn].Cno,Cou[Cn].Cname,Cou[Cn].time);printf(%10s%8s%9d%9d\n,Cou[Cn].place,Cou[Cn].teacher,Cou[Cn].Tno,Cou[Cn].pn);printf(是否选择该课程?1是2否\n);scanf(%d,&j);if(j==1){for(j=1;j(SCMAX-1);j++){if(Student[XH][j]==cn)p=1;}if(p==1){printf(该门课程已经选过了\n);printf(是否重新选课?1是2否\n);scanf(%d,&i);if(i==1){system(cls);gotoleap1;}}elseif(Student[XH][SCMAX-1]0){printf(你所选课程已满不能再进行选择\n);}elseif(Cou[Cn].pn==CPMAX){printf(该门课人数已满);printf(是否重新选课?1是2否\n);scanf(%d,&i);if(i==1){system(cls);gotoleap1;}/*1111*/}else{if(Student[XH][1]==0)Student[XH][1]=Cou[Cn].Cno;elseif(Student[XH][2]==0)Student[XH][2]=Cou[Cn].Cno;elseif(Student[XH][3]==0)Student[XH][3]=Cou[Cn].Cno;18elseStudent[XH][4]=Cou[Cn].Cno;Cou[Cn].pn=Cou[Cn].pn+1;printf(选课成功!\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}}else{printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}}else{printf(该课程不存在\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}printf(任意键返回\n);scanf(%s,&t);system(cls);printf(%s欢迎回来!\n,S[XH].Sname);system(color80);printf(###########################################\n);printf(##\n);printf(##\n);printf(#1选课查询#\n);printf(##\n);printf(#2选课#\n);printf(##\n);printf(#3选课退选#\n);printf(##\n);19printf(##\n);printf(#B返回#\n);printf(################################################\n);scanf(%d,&i);if(i==1){system(cls);search(XH);}elseif(i==2){system(cls);select(XH);}elseif(i==3){system(cls);DropC(XH);}else{system(cls);jiemian();}}voidDropC(intXH)/*课程退选*/{leap2:inti,j,k;charl[20];intm=0;printf(您已选择的课程为:\n);printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);for(j=1;j=4;j++){if(Student[XH][j]==0)printf(空\n);else{printf(%3d%10s%9.2f,Cou[Student[XH][j]-1].Cno,Cou[Student[XH][j]-1].Cname,Cou[Student[XH][j]-1].time);printf(%7s%8s%9d%9d\n,C

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功