学生成绩管理系统测试报告.docx
《学生成绩管理系统测试报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统测试报告.docx(29页珍藏版)》请在冰豆网上搜索。
![学生成绩管理系统测试报告.docx](https://file1.bdocx.com/fileroot1/2023-2/2/67ba9419-3302-469b-b14e-7cf35810c973/67ba9419-3302-469b-b14e-7cf35810c9731.gif)
学生成绩管理系统测试报告
学生成绩管理系统测试报告
软件测试
学生成绩管理系统
学号:
姓名:
班级:
指导老师:
成绩:
第一章数据字典
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)
NCHAR(5)
VARCHAR(5)
CHAR(20)
INT
(2)
SYgradeINT
(2)
KCSJgradeINT
(2)
INT
(2)课程信息(Course):
CHAR(10)
课程名
Cname
平时成绩
PSgrade
实验成绩
课程设计
期末总成绩
Grade
课程编号Cno
课程名Cname
CHAR(20)
授课教师Tname
NCHAR(5)
系别dept
NVARCHAR(20)
1.2概念模型设计根据上面数据字典设计建立相对应的概念模型,从数据字典抽象出的实体有:
教师信息实体、学生信息实体、成绩信息实体、课程信息实体。
各个实体具体的描述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位)
失败
00
1
张三
三系
131415
成功
00
1
张三
三系
空
失败
00
2
张三
三系
1111111(6
位相同)
失败
00
3
空
三系
131415
失败
00
张三四五六
三系
131415
失败
4
七
00
5
BOA
三系
131415
成功
00
6
李四
空
131415
失败
00
7
王五
三系
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位
1
5
前4位为入学时间
2
后4位为系别及专业号
3
大于11位
1
6
最后3位为班级号及学号
4
姓
名
必须有
5
空
1
7
不超过5个汉字
6
大于5个汉字非汉字
1
8
性别
男
7
空
19
女
8
年龄
2位数
9
不足或大于2位
20
18—80之间
10
小18或
21
大于80
所在系
必须有(具体系别因各学校具体情况而定)
11
空
22
登录
长度为6位0~9阿拉伯数字
12
不足或大于6位
23
密码
6位数不相同
13
6位相同
24
6位数不连续
14
6位连续
25
测试用例:
学号
姓名
性别
年龄
所在系
登录密码
是否录入/登录成功
空
张三
男
22
系
1314
15
失败
2011300
6212
张三四
五六七
女
22
系
1314
15
失败
2011300
6212
张三
空
22
系
1314
15
失败
2011300
6212
张三
男
17
系
1314
15
失败
2011300
6212
张三
女
22
空
1314
15
失败
2011300
张三
男
22
三
1234
失败
6212
系
56
2011300
张三
女
22
三
1111
失败
6212
系
111
2011300
张三
男
81
三
1314
失败
6212
系
15
2011300
ABC
女
22
三
1314
失败
6212
系
15
2011300
张三
男
22
三
1314
失败
621209
系
15
2011306
张三
女
22
三
1314
失败
2
系
15
2011300
张三
男
22
三
1314
成功
6212
系
15
2.2.4课程信息部分
1、课程编号:
必须有,系统自动编号,3位
2、课程名:
必须有,由中英文及各种字符组成,字符长度不限
3、授课教师:
必须有,要求为不超过5个汉字,可为英文
4、系别:
必须有,具体系别要求视各学校具体情况而定注:
课程信息由系统管理员录入系统,学生和教师可登录查询相关信息输入域:
课程编号课程名授课教师系别输出域:
是否录入登录成功
输入
有效等价类
编号
无效等价类
编号
课程编号
必须有(系统自动编号)
1
空
9
课程名
必须有
2
空
10
中英文及各种字符组成
3
长度不限
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
8
90
失败
测试》
0
2011300
张三
002
《软件
80
80
90
失败
62129
测试》
2011500
张三
003
《软件
80
8
90
失败
7
测试》
0
2011300
空
004
《软件
80
80
90
失败
6212
测试》
2011300
张三四
005
《软件
80
8
90
失败
6212
五六七
测试》
0
2011300
ABC
006
《软件
80
80
90
失败
6212
测试》
2011300
李四
空
《软件
80
8
90
失败
6212
测试》
0
2011300
李四
007
空
80
80
90
失败
6212
2011300
李四
008
《软件
101
8
90
失败
E
C
因果表
原因
结果
前面介绍的等价类划分方法,是着重考虑输入条件,但未考虑输入条件之间
的联系。
如果在测试时必须考虑输入条件的各种组合,可能的组合数将
是天文数字。
因此必须考虑使用一种适合于描述对于多种条件的组合,
相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图
以“学生管理系统”前台中的“选课管理”为例。
在学生登录系统进行按
照规定进行选课,其对应的因果图如图2.1所示
C1:
课程人数已满
C2:
已选择过这门课
C3:
选课择程过人这数门未课满,未
选课失败
选课失败
选课成功
C
C
C
6212
测试》
0
2011300
6212
王五
009
《软件测试》
80
10
1
90
失败
2011300
6212
王五
010
《软件测试》
80
1
0
1
90
失败
2011300
6212
王五
011
《软件测试》
80
80
101
失败
2011300
6212
宝儿
012
《软件测试》
80
8
0
100
成功
2.3因果图法设计测试用例
用例标题输入数据操作步骤
表2.1选课图解列表选课人选课登录不同学生数人数的学号使选课满了人数达到上限在登录测试学号选课
是否选选择登录测试学生择过这过这学号先选择1门课门课次退出后再次登录进行选课同1门课
正常选选课按照规定进行课选课
2.4决策表法设计测试用例
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。
精确而简洁描述复杂逻辑的
方式,将多个条件与这些条件满足后要执行动作相对应。
结合软件测试,条件作为程序输入,动作看做程序输出,规则就是测试用例。
决策表的建立应该根据软件规格说明,步骤如下:
1确定规则的个数。
假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。
2列出所有的条件桩和动作桩。
3输入条件项。
4填入动作项。
制定初始决策表。
5简化。
合并相似规则或者相同动作。
适合使用决策表设计测试用例的条件:
①规格说明以决策表的形式给出,或很容易转换成决策表。
2条件的排列顺序不影响执行哪些操作。
3规则的排列顺序不影响执行哪些操作。
4当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
5如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
下面以学生成绩管理系统的课程信息作为测
试用例进行测试。
条件:
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
经过简化可得决策表如下:
规则选择1234
条件
0
—1
—1
C3—
01
动
E11
1
10
0
作
E20
0
01
0
E30
0
00
1
决策表测试用例
用例编号
用例标题
输入数据
操作步骤
期望结果
1
选择课程编号
不选择下拉列
提示请将信
表框
息填写完整
2
选择课程标题
1、不选择下拉
提示请将信
列表框
息填写完整
3
选择授课教师
1、不选择下拉
提示请将信
列表框
息填写完整
4
课程编
1111
选择下拉列表
提示上传成
号和课
软
件
框内容
功
程标题
测
试
选择下拉列表
标题和
吴
晓
框内容
授课教
燕
老
选择课程
师
师
白盒测试:
3.4.1逻辑覆盖法设计测试用例
逻辑覆盖主要是以程序内部的逻辑结构为基础来设计测试用例。
逻辑覆盖有语句覆盖SC(StatementCoverage)、判定覆盖DC(Decisioncoverage)、条件覆盖CC(ConditionCoverage)、条件判定组合覆盖CDC(Condition/
DecisionCoverage)条件组合覆盖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("insertintotb_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所示:
输
数流程图
定条件和过程记录
1、语句覆盖选择足够多的测试数据,使被测程序中每条语句至少执行一次;缺点:
对程序执行逻辑的覆盖很低。
从图1.1中可以看出要想覆盖所有语句,三条路径都必须执行一次。
语句覆盖法测试用例列表如表1.1所示。
表1.1语句覆盖法测试用例表
编号
输入数据
通过路径
用例1
Sno=””&&Spassword=””
M—A1
用例2
Sno=”张
M—N—A1
三”&&Spassword=
”1234”
用例3
Sno=”李四啊
M—N—A2
啊”&&Spassword的='xx”
2、判定覆盖设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真'值和‘假'值,或者使得程序中的每一个取‘真'分支或取‘假'分支至少经历一次,因此又称分支覆盖可以满足语句覆盖;
缺点:
主要对整个表达式最终取值进行度量,忽略了表达式内部取值。
因此判定覆盖也需要执行上面的三种路径,所以它的用例和语句覆盖一样。
如表1.2所示。
表1.2判定覆盖法测试用例表
编号
输入数据
通过路径
用例1
Sno=””&&Spass
M—A1
word=”
用例2
Sno=”张
M—N—A1
三”&&Spasswor
d=”1234”
用例3
Sno=”李四啊
M—N—A2
啊”&&Spasswor='xx”
3.4.1控制流图
设当输入的学生帐号正确时为T1,否则为-T1设当输入的密码正确时为T2,否则为-T2
G
A输入管理
输入管理
E
进入系
F结
由上面的控制流程图可以得到下面的控制流图
根据上面环形复杂的计算结果,有2基本独立路径
path1:
A-B-C-D-E
Path2:
A-B-C