学生成绩管理系统测试报告.docx
《学生成绩管理系统测试报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统测试报告.docx(35页珍藏版)》请在冰点文库上搜索。
学生成绩管理系统测试报告
软件测试
学生成绩管理系统
学号:
姓名:
班级:
指导老师:
成绩:
第一章数据字典
1.1教师信息(Teacher):
教师编号
Tno
CHAR(7)
教师姓名
Tname
NCHAR(5)
所在系
Tdept
NVARCHAR(20)
登录密码
Tpasword
CHAR(6)
学生信息(Student):
学号
Sno
CHAR(7)
姓名
Sname
NCHAR(5)
性别
Sex
NCHAR
(1)
年龄
Sage
TINYINT
(2)
所在系
Sdept
NVARCHAR(20)
登录密码
Spasword
CHAR(6)
成绩信息(Grade):
学号
Sno
CHAR(7)
姓名
Sname
NCHAR(5)
课程编号
Cno
VARCHAR(5)
课程名
Cname
CHAR(20)
平时成绩
PSgrade
INT
(2)
实验成绩
SYgrade
INT
(2)
课程设计
KCSJgrade
INT
(2)
期末总成绩
Grade
INT
(2)
课程信息(Course):
课程编号
Cno
CHAR(10)
课程名
Cname
CHAR(20)
授课教师
Tname
NCHAR(5)
系别
dept
NVARCHAR(20)
1.2概念模型设计
根据上面数据字典设计建立相对应的概念模型,
从数据字典抽象出的实体有:
教师信息实体、
学生信息实体、成绩信息实体、课程信息实体。
各个实体具体的描述
E-R图如下。
教师员信息实体E-R图:
所在系
登录密码
教师信息
教师姓名
教师编号
图3教师员信息实体E-R图
学生信息实体E-R图:
登录密码
姓名
学号
学生信息
所在系
性别
年龄
图4学生信息实体E-R图
成绩信息实体E-R图:
平时成绩
实验成绩
姓名
成绩
课程设计
学号
课程编号
期末总成绩
图5成绩信息实体E-R图
课程信息实体E-R图:
系别
授课教师
课程信息
课程名
课程编号
图6课程信息实体E-R图
第2章
测试计划
2.1简要说明
软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一
个环节。
软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进
行纠错,从而保证程序的可靠运行,降低软件的风险。
所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。
测试一个程序,需
要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:
测试用例={输入数据+输出数据}
这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包
括用这组数据执行被测数据之后的预期的输出结果。
每次测试,都要把实测的结果与期望结
果做比较,若不相符,就表明程序可能存在错误。
白盒测试就是根据源代码进行测试的,用白盒测试涉及测试用例,有两种测试用例,
有两种常用技术:
逻辑覆盖法测试用例,基本路径法测试用例。
黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。
用黑盒法涉及测试
用例,有四种常用技术;等价分类法,边界值分析法,决策表法和因果图法。
整个测试基于需求文档,看是否能满足需求文档中所有需求。
黑盒测试要求测试者在测
试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。
黑盒测试:
2.2等价类划分
2.2.1说明
在本学生成绩管理系统中在信息录入部分采用等价分类法。
等价分类属于黑盒测试法的一种,黑盒测试的优点比较简单,不需要了解程序内部的代码及实现,从用户的角度出发,
且是基于软件开发文档,也能知道软件实现了文档中的哪些功能,在做软件自动化测试是比较方便。
黑盒测试法的缺点是覆盖率较低,自动化测试的复用性较低。
2.2.2教师信息部分
1、编号:
必须有,系统自动编号,三位
2、姓名:
必须有,要求为不超过
5个汉字且可为英文
3、所在系:
必须有,具体系别因各学校具体情况而定
4、登录密码:
必须有,长度为
6位0~9阿拉伯数字,且
6位数不可相同且不能为连续
6位
注:
①教师信息由管理员录入系统
②教师登录时输入编号及密码,若密码及编号信息输入正确,则提示登录系统成功,若无
法登录进入系统,则提示提示密码不正确请重新登录
输入域:
编号
姓名所在系
登录密码
输出域:
是否录入/登录成功
输入
有效等价类
编号
无效等价类
编号
编号
必须有(自动编号)
1
空
8
必须有
2
空
9
姓名
不超过5个汉字
3
大于五个汉字
10
英文
4
非汉字
11
所在系
必须有(具体系别因各学校具体情况而定)
5
空
12
登录密码
长度为6位0~9阿拉伯数字
6
空
13
6位数不相同且不能连续
7
6位数相同
14
测试用例:
编号
姓名
所在系
登录密码
是否录入/登录成功
空
张三
三系
123456(连续6位)
失败
001
张三
三系
131415
成功
001
张三
三系
空
失败
002
张三
三系
(6位相同)
失败
003
空
三系
131415
失败
004
张三四五六七
三系
131415
失败
005
BOA
三系
131415
成功
006
李四
空
131415
失败
007
王五
三系
131415
成功
2.2.3学生信息部分
1、学号:
必须有,且为
11位数,前
4位为入学时间,后
4位为系别与专业号,最后
3位为
班级号及学号
2、姓名:
必须有,要求为不超过5个汉字
3、性别:
必须有,为“男”或“女”
4、年龄:
2位数,在18—80间
5、所在系:
必须有,具体系别要求视各学校具体情况而定
6、登录密码:
必须有,长度为6位0~9阿拉伯数字,且
6位数不可相同且不能为连续
6位
注:
①学生信息由各教师录入系统,学生可凭学号及密码登录系统查询自己的信息
②学生登录时输入学号及密码,若密码及学号信息输入正确,则提示登录系统成功,若无
法登录进入系统,则提示提示密码不正确请重新登录
输入域:
学号姓名性别年龄所在系登录密码
输出域:
是否录入/登录成功
输入
有效等价类
编号
无效等价类
编号
11位数
1
不足11位
15
学号
前4位为入学时间
2
后4位为系别及专业号
3
大于11位
16
最后3位为班级号及学号
4
姓名
必须有
5
空
17
不超过5个汉字
6
大于5个汉字
18
非汉字
性别
男
7
空
19
女
8
年龄
2位数
9
不足或大于2位
20
18—80之间
10
小18或大于80
21
所在系
必须有(具体系别因各学校具体情况而定)
11
空
22
长度为6位0~9阿拉伯数字
12
不足或大于6位
23
登录密码
6位数不相同
13
6位相同
24
6位数不连续
14
6位连续
25
测试用例:
学号
姓名
性别
年龄
所在系
登录密码
是否录入/登录成功
空
张三
男
22
三系
131415
失败
20113006212
张三四五六七
女
22
三系
131415
失败
20113006212
张三
空
22
三系
131415
失败
20113006212
张三
男
17
三系
131415
失败
20113006212
张三
女
22
空
131415
失败
20113006212
张三
男
22
三系
123456
失败
20113006212
张三
女
22
三系
失败
20113006212
张三
男
81
三系
131415
失败
20113006212
ABC
女
22
三系
131415
失败
29
张三
男
22
三系
131415
失败
张三
女
22
三系
131415
失败
20113006212
张三
男
22
三系
131415
成功
2.2.4课程信息部分
1、课程编号:
必须有,系统自动编号,
3位
2、课程名:
必须有,由中英文及各种字符组成,字符长度不限
3、授课教师:
必须有,要求为不超过5个汉字,可为英文
4、系别:
必须有,具体系别要求视各学校具体情况而定
注:
课程信息由系统管理员录入系统,学生和教师可登录查询相关信息输入域:
课程编号课程名授课教师系别
输出域:
是否录入登录成功
输入
有效等价类
编号
无效等价类
编号
课程编号
必须有(系统自动编号)
1
空
9
必须有
2
课程名
中英文及各种字符组成
3
空
10
长度不限
4
授课教师
必须有
5
空
11
不超过5个汉字
6
大于5位中文
12
英文
7
系别
必须有(具体系别因各学校具体情况而定)
8
空
13
测试用例:
课程编号
课程名
授课教师
系别
是否录入成功
空
《软件测试》
张三
三系
失败
001
空
张三
三系
失败
002
《软件测试》
张三四五六七
三系
失败
003
《软件测试》
张三
空
失败
004
《软件测试》
BOA
三系
成功
005
《软件测试》
李四
三系
成功
3.3.5学生成绩信息
1、学号:
必须有,且为
11位数,前
4位为入学时间,后
4位为系别及专业号,最后
3位为
班级号及学号
2、姓名:
必须有,要求为不超过
5个汉字
3、课程编号:
必须有,系统自动编号,
3位
4、课程名:
必须有,由中英文及各种字符组成,字符长度不限
5、平时成绩:
必须有,0—100之间
6、实验成绩:
0—100之间,可以为空
7、课程设计:
0—100之间,可以为空
8、期末总成绩:
必须有,0—100之间
注:
学生成绩信息由各教师录入系统并进行相关管理,学生可凭学号及密码登录系统查询自己的信息
输入域:
学号姓名课程编号课程名平时成绩实验成绩期末总成绩
输出域:
是否录入成功
输入
有效等价类
编号
无效等价类
编号
11位数
1
大于11位
19
学号
前4位为入学时间
2
后4位为系别及专业号
3
不足11位
20
最后3位为班级号及学号
4
必须有
5
空
21
姓名
不超过5个汉字
6
大于5个汉字
22
非汉字
23
课程编号
必须有(系统自动编号)
7
空
24
必须有
8
25
课程名
中英文及各种字符组成
9
空
26
长度不限
19
平时成绩
必须有
11
空
27
0—100之间
12
大于100
28
实验成绩
可为空
13
大于100
29
0—100之间
14
课程设计
可为空
15
大于100
30
0—100之间
16
期末总成绩
必须有
17
空
31
0—100之间
18
大于100
32
测试用例:
学号
姓名
课程
课程名
平时
实验
课
期末
是否录
编号
成绩
成绩
程
总成绩
入成功
设
计
空
张三
001
《软件测试》
80
80
90
失败
2
张三
002
《软件测试》
80
80
90
失败
张三
003
《软件测试》
80
80
90
失败
20113006212
空
004
《软件测试》
80
80
90
失败
20113006212
张三四五六七
005
《软件测试》
80
80
90
失败
20113006212
ABC
006
《软件测试》
80
80
90
失败
20113006212
李四
空
《软件测试》
80
80
90
失败
20113006212
李四
007
空
80
80
90
失败
20113006212
李四
008
《软件测试》
101
80
90
失败
20113006212
王五
009
《软件测试》
80
101
90
失败
20113006212
王五
010
《软件测试》
80
101
90
失败
20113006212
王五
011
《软件测试》
80
80
101
失败
20113006212
宝儿
012
《软件测试》
80
80
100
成功
2.3因果图法设计测试用例
前面介绍的等价类划分方法,是着重考虑输入条件,但未考虑输入条件之间的
联系。
如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天
文数字。
因此必须考虑使用一种适合于描述对于多种条件的组合,相应产
生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
以“学生管理系统”前台中的“选课管理”为例。
在学生登录系统进行按照
规定进行选课,其对应的因果图如图
2.1所示。
因果表
原因
结果
C1:
课程人数已满
E1:
选课失败
C2:
已选择过这门课
E1:
选课失败
C3:
课程人数未满,未选择过这门课
E2:
选课成功
C1
E1
E
C2
C3E2
图2.1因果图
课程人数
未满
选课成功输出
没选择这
门课
图2.2选课
表2.1
选课图解列表
用例编号
用例标题
输入数据
操作步骤
期望结果
1
选课人数
选课人数
登录不同学生的学号使选课
选课失败
满了
人数达到上限在登录测试学
号选课
2
是否选择过这门
选择过这
登录测试学生学号先选择
1选课失败
课
门课
次退出后再次登录进行选课
同1门课
3
正常选课
选课
按照规定进行选课
选课成功”
2.4决策表法设计测试用例
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。
精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。
结合软件测试,条件作为程序输入,动作看做程序输出,规则就是测试用例。
决策表的建立应该根据软件规格说明,步骤如下:
①确定规则的个数。
假如有n个条件,每个条件有两个取值(0,1),故有2n种
规则。
②列出所有的条件桩和动作桩。
③输入条件项。
④填入动作项。
制定初始决策表。
⑤简化。
合并相似规则或者相同动作。
适合使用决策表设计测试用例的条件:
①规格说明以决策表的形式给出,或很容易转换成决策表。
②条件的排列顺序不影响执行哪些操作。
③规则的排列顺序不影响执行哪些操作。
④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
⑤如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
下面以学生成绩管理系统的课程信息作为测试用例进行测试。
条件:
C1选择课程编号、C2选择课程标题、C3选择授课教师
动作:
E1信息填写为完整、E2信息填写有误、E3上传成功
决策表
规则选择
1
2
3
4
5
6
7
8
条
C1
0
0
0
1
0
1
1
1
件
C2
0
0
1
0
1
0
1
1
C3
0
1
0
0
1
1
0
1
动
E1
1
1
1
1
1
1
1
0
0
作
E2
0
0
0
0
0
0
0
1
0
E3
0
0
0
0
0
0
0
0
1
经过简化可得决策表如下:
规则选择
1
2
3
4
条
C1
0
—
—
1
件
C2
—
0
—
1
C3
—
—
0
1
动
E1
1
1
1
0
0
作
E2
0
0
0
1
0
E3
0
0
0
0
1
决策表测试用例
用例编号
用例标题
输入数据
操作步骤
期望结果
1
选择课程编号
“”
不选择下拉列表框
提示请将信息填写完
整
2
选择课程标题
“”
1、不选择下拉列表框
提示请将信息填写完
整
3
选择授课教师
“”
1、不选择下拉列表框
提示请将信息填写完
整
4
课程编号和课程
1111
软件
选择下拉列表框内容
提示上传成功
标题标题和授课
测试
吴
选择下拉列表框内容
教师
晓燕老师
选择课程
白盒测试:
3.4.1逻辑覆盖法设计测试用例
逻辑覆盖主要是以程序内部的逻辑结构为基础来设计测试用例。
逻辑覆盖有
语句覆盖SC(StatementCoverage)、判定覆盖DC(Decisioncoverage)、条件
覆盖CC(ConditionCoverage)、条件判定组合覆盖CDC(Condition/Decision
Coverage)条件组合覆盖MCC(MultipleConditionCoverage)和路径覆盖6种
覆盖标准。
下面以本系统中学生管理的学生登录功能为例,进行测试用例。
主要代码如下:
if(txtName.Text==""||txtNum.Text==""||txtPwd.Text=="")
{
MessageBox.Show("请将信息填写完整");
return;
}
else
{
SqlConnectionconn=BaseClass.DBCon();
conn.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromtb_StudentwhereStudentNum='"+txtNum.Text+"'",conn);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0)
{
MessageBox.Show("密码不正确");
return;
}
else
{
cmd=newSqlCommand("insertinto
tb_Student(StudentNum,StudentName,ClassID,StudentSex,StudentPwd)values('"+
txtNum.Text.Trim()+"','"+txtName.Text.Trim()+"','"+txtClass.Text.Trim()+"','"+
rblSex.SelectedValue.ToString()+"','"+txtPwd.Text.Trim()+"')",conn);
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("登录成功");
btnConcel_Click(sender,e);
}
该函数的流程图如图1.1所示:
输入
Sno=””or
SpasswordT
=””
F
T
Snoand
Spassword
ssa
F
请重新输入
图1.1登录函数流程图
Entry
MT
F
N
T
F
A2
请将信息输
入完整
登录成功
A1
A1
图1.2