学生选课系统白盒测试Word文件下载.docx
- 文档编号:4158285
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:35
- 大小:105.54KB
学生选课系统白盒测试Word文件下载.docx
《学生选课系统白盒测试Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课系统白盒测试Word文件下载.docx(35页珍藏版)》请在冰点文库上搜索。
条件组合覆盖过程分析:
条件组合覆盖测试用例:
七、路径覆盖:
9
7。
路径覆盖过程分析:
7.2:
路径覆盖测试用例:
八、实验总结:
11
九、源代码:
12
实验一白盒测试用例设计
一、学生选课系统选课以及退选流程图:
1.1学生选课系统选课流程图:
A
F
B
T
C
D
E
H
注释:
条件A为,判定课程号是否存在?
条件B为,判定是否在课程号范围内?
条件C为,判定是否确认选课?
条件D为,判断该课程是否已经选过了?
条件E为,判定是否继续选课?
条件H为,判定选课人数是否已满?
1.2学生选课系统退选流程图:
是否重新退选课?
注释:
条件A为,判定课程号是否输入有误?
条件B为,判定课程号是否存在?
条件C为,判断是否重新退选?
条件D为,判定退选是否成功?
二、语句覆盖:
语句覆盖的基本思想是设计若干测试用例,使得运行被测试程序时,每个可执行语句至少被执行一次.
2.2:
2.1选课功能语句覆盖测试用例:
编号
输入
条件A
条件B
条件C
条件D
条件E
条件H
预期结果
Ok/
Ng
P1
a=0,
e=1
该课程不存在,重选
Ok
P2
a!
=0,
0<
b&&b<
Cno,c=1,d=1,e!
=1
该课程选过了,选课结束
P3
0〈b&&
b〈Cno,c=1,d!
=1,e!
h〈max
选课成功
P4
0〈b&
&b<
Cno,c=1,d!
=1,
h>
max
该课程人数已满,选课结束
2.2.2退选功能语句覆盖测试用例:
a〉Cno||a<
0,
课程号输入有误,重退选
a〈Cno&&
a〉0,
b=0,c=1
课程不存在,重退选
a<
Cno&
&a〉0,
b!
=0,c!
=1,d=1
退选成功,不再退选
a〉0,
b!
=0,c!
=1,d!
未选此课,退选结束
三、判定覆盖:
判定覆盖的基本思想是设计若干用例,使得运行被测程序,使每个判定的真假分支至少经历一次。
3.2:
3.2.1选课功能判定覆盖测试用例:
a=0,e=1
a!
=0,
0>
b||b>
Cno,
e!
超出课程范围,选课结束
b<
Cno,c!
=1,e!
不选该课程,选课结束
C=1,d=1,e!
该课程选过来,选课结束
P5
C=1,d!
=1,h=max
选课人满,选课结束
P6
=1,
H〈max
2.2退选功能判定覆盖测试用例:
a>
Cno||a<
0,
课程号输入有误
&
b=0,c=1
课程号不存在,重新退选
a〈Cno&
&a>
=0,c!
=1,d=1
退选成功,结束退选
Cno&&
=0,c!
=1,d!
未选此门课程,结束退选
条件覆盖过程分析:
条件覆盖的基本思想是,设计若干测试用例,运行程序,使得每个判断中的可能取值至少满足一次。
4.2:
4.2。
1选课功能条件覆盖测试用例:
a=0,b=1
该课程不存在,重选
A!
b&
Cno,
c=1,d!
h=max
A!
Cno,c=1,d!
H!
=max
b&&b〈Cno,c!
b>
Cno,e!
0,e!
2退选功能条件覆盖测试用例:
A〉Cno
A〈0,b=0,c=1
=0,c=1
退选成功,结束退选
=0,d!
未选此门课程,结束退选
五、判定-条件覆盖:
5.1:
判定-条件覆盖过程分析:
判定—条件覆盖的基本思想是,设计若干测试用例,运行程序,使得判断条件中的所有可能至少执行一次,同时,所有判断的可能结果至少执行一次。
判定-条件覆盖测试用例:
1选课功能判定—条件覆盖测试用例:
a=0,b=1
b〈Cno,
c=1,d!
选课人满,选课结束
c=1,d!
b&&
b〈Cno,
c=1,e!
Cno,e!
b〈0,e!
P7
c!
=1,e!
取消选课,结束选课
5.2.2退选功能判定—条件覆盖测试用例:
A>
Cno
A<
0,b=0,
c=1
&a〉0,
课程号不存在,重新退选
d!
条件组合覆盖的基本思想是,设计若干测试用例,运行程序,使得每个条件中的所有可能至少出现一次,并且每个判定的结果也至少出现一次.
6.2:
6.2.1选课功能条件组合覆盖测试用例:
c=1,d!
=1,h=max
H!
c=1,e!
b〉Cno,e!
b〈0,e!
c!
P8
0〉b&&
2退选功能条件组合覆盖测试用例:
0,b=0,c=1
a〈Cno&&a〉0,
=0,d!
A〉Cno||a〈0,
七、路径覆盖:
路径覆盖的基本思想是,设计所有的测试用例,来覆盖程序中的所有可能的执行路径。
7.2.1选课功能路径覆盖测试用例:
a=0
a=0,e=1
a=0,b〈=0&
&b〉=0
是否重新选课
a=0,b〉0&&b<
Cno,c!
a=0,b>
0&
&b〈Cno,c!
这门课程选过了
a=0,b〉0&&b<
Cno,c!
这门课的人数已满
0&&
=1,h!
选课成功!
重新选课
P9
退出系统
7.2。
2退课功能路径覆盖测试用例:
a〉Cno||a<
=Cno||a>
=0
B=0
该课程不存在
A〈=Cno||a>
B!
=0,d=1
退选成功
=Cno||a〉=0
你还未选此门课
C=1
重新退选
C!
对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。
设计测试用例时应用了白盒测试中的多种测试方法,其中包括:
测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。
白盒测试中,对代码的测试比较透彻,但不容易生成测试用例,而且测试工作量很大。
因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要求。
同时,对于白盒测试的案例设计,要注意以下几点:
(1)保证每个模块中的所有独立路径至少被执行一次;
(2)对所有的逻辑值均需要测试真、假两个分支;
(3)在上下边界及可操作范围内运行所有循环;
(4)检查内部数据结构以确保其有效性。
在测试中,也出现了一些不足:
在选课模块中,有一个条件语句是判断所输入的课程号是否存在.当所输入课程号不存在的时候,程序跳转到重新开始选课。
这个判定,存在缺陷。
只能判断数字,对于其他的数据类型,缺少错误输入判断。
在选课模块中,有一个条件语句是判断是否确认选择.输入选项有1和2,当输入为其他数据类型时,程序界面一闪而过,退回到学生界面。
在退选模块中,有一个条件语句是判断是否确认退选。
输入选项有1和2,当输入为其他数据类型时,程序出错。
九、源代码:
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;
i〈k;
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)
该课程不存在\n”);
是否继续选课?
1是2否\n"
);
%d”,&
j);
if(j==1){system("
cls"
gotoleap1;
}
elseif(Cn〈CNO&&Cn>
=0)
课程号课程名上课时间上课地点上课老师老师编号课程人数\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]。
是否选择该课程?
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("
gotoleap1;
}
elseif(Student[XH][SCMAX-1]>
0)
printf(”你所选课程已满不能再进行选择\n"
elseif(Cou[Cn].pn==CPMAX)
printf("
该门课人数已满”);
是否重新选课?
1是2否\n"
scanf(”%d”,&i);
if(i==1){system("
}/*1111*/
else
if(Student[XH][1]==0)Student[XH][1]=Cou[Cn]。
Cno;
elseif(Student[XH][2]==0)Student[XH][2]=Cou[Cn]。
elseif(Student[XH][3]==0)Student[XH][3]=Cou[Cn]。
else
Student[XH][4]=Cou[Cn]。
Cno;
Cou[Cn].pn=Cou[Cn].pn+1;
\n"
%d"
if(j==1){system("
cls”);
}
}
else
printf(”是否继续选课?
1是2否\n”);
scanf(”%d"
,&j);
if(j==1){system(”cls"
else
{
printf(”该课程不存在\n"
}
printf("
任意键返回\n”);
scanf(”%s”,&
t);
system(”cls”);
printf(”%s欢迎回来!
\n”,S[XH].Sname);
system("
color80"
###########################################\n"
##\n"
printf(”##\n"
printf(”#1选课查询#\n"
printf(”#2选课#\n”);
##\n”);
printf(”#3选课退选#\n"
##\n"
#B返回#\n”);
printf(”################################################\n”);
scanf(”%d"
&
i);
if(i==1){system("
search(XH);
elseif(i==2){system(”cls”);
select(XH);
}
elseif(i==3){system("
DropC(XH);
{
system(”cls"
jiemian();
voidDropC(intXH)/*课程退选*/
leap2:
inti,j,k;
charl[20];
intm=0;
您已选择的课程为:
\n”);
printf(”课程号课程名上课时间上课地点上课老师老师编号课程人数\n”);
for(j=1;
j<
=4;
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]。
pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 测试