学号: 姓名: 班级: 指导老师:
成绩:
第一章 数据字典
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位 注:
① 教师信息由管理员录入系统
② 教师登录时输入编号及密码,若密码及编号信息输入正确,则提示登录系统成功,若无法
登录进入系统,则提示提示密码不正确请重新登录 输入域:编号 姓名 所在系 登录密码 输出域:是否录入/登录成功 输入 编号 姓名 所在系 登录密码 测试用例: 编号 空 001 001 002 003 004 005 006 007 姓名 张三 张三 张三 张三 空 张三四五六七 BOA 李四 王五 所在系 三系 三系 三系 三系 三系 三系 三系 空 三系 登录密码 123456(连续6位) 131415 空 1111111(6位相同) 131415 131415 131415 131415 131415 是否录入/登录成功 失败 成功 失败 失败 失败 失败 成功 失败 成功 有效等价类 必须有(自动编号) 必须有 不超过5个汉字 英文 必须有(具体系别因各学校具体情况而定) 长度为6位0~9阿拉伯数字 6位数不相同且不能连续 编号 1 2 3 4 5 6 7 无效等价类 空 空 大于五个汉字 非汉字 空 空 6位数相同 编号 8 9 10 11 12 13 14 2.2。3学生信息部分
1、学号:必须有,且为11位数,前4位为入学时间,后4位为系别与专业号,最后3位为班级号及学号
2、姓名:必须有,要求为不超过5个汉字 3、性别 :必须有,为“男\"或“女” 4、年龄 :2位数,在18-80间
5、所在系:必须有,具体系别要求视各学校具体情况而定
6、登录密码:必须有,长度为6位0~9阿拉伯数字,且6位数不可相同且不能为连续6位 注:
① 学生信息由各教师录入系统,学生可凭学号及密码登录系统查询自己的信息
② 学生登录时输入学号及密码,若密码及学号信息输入正确,则提示登录系统成功,若无法
登录进入系统,则提示提示密码不正确请重新登录 输入域:学号 姓名 性别 年龄 所在系 登录密码 输出域:是否录入/登录成功 输入 学号 有效等价类 11位数 前4位为入学时间 后4位为系别及专业号 最后3位为班级号及学号 姓名 必须有 不超过5个汉字 性别 年龄 所在系 登录密码 测试用例: 学号 空 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 2011300621209 20113062 20113006212 姓名 张三 张三四五六七 张三 张三 张三 张三 张三 张三 ABC 张三 张三 张三 性别 男 女 空 男 女 男 女 男 女 男 女 男 年龄 所在系 登录密码 是否录入/登录成功 22 22 22 17 22 22 22 81 22 22 22 22 三系 三系 三系 三系 空 三系 三系 三系 三系 三系 三系 三系 131415 131415 131415 131415 131415 123456 1111111 131415 131415 131415 131415 131415 失败 失败 失败 失败 失败 失败 失败 失败 失败 失败 失败 成功 男 女 2位数 18—80之间 必须有(具体系别因各学校具体情况而定) 长度为6位0~9阿拉伯数字 6位数不相同 6位数不连续 编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 不足或大于2位 小18或大于80 空 不足或大于6位 6位相同 6位连续 20 21 22 23 24 25 空 大于5个汉字 非汉字 空 19 17 18 大于11位 16 无效等价类 不足11位 编号 15
2。2.4课程信息部分
1、课程编号:必须有,系统自动编号,3位
2、课程名:必须有,由中英文及各种字符组成,字符长度不限 3、授课教师:必须有,要求为不超过5个汉字,可为英文 4、系别:必须有,具体系别要求视各学校具体情况而定
注:课程信息由系统管理员录入系统,学生和教师可登录查询相关信息 输入域:课程编号 课程名 授课教师 系别 输出域:是否录入登录成功 输入 课程编号 课程名 授课教师 有效等价类 必须有(系统自动编号) 必须有 中英文及各种字符组成 长度不限 必须有 不超过5个汉字 英文 系别 测试用例: 课程编号 空 001 002 003 004 005 课程名 《软件测试》 空 《软件测试》 《软件测试》 《软件测试》 《软件测试》 授课教师 张三 张三 张三四五六七 张三 BOA 李四 系别 三系 三系 三系 空 三系 三系 是否录入成功 失败 失败 失败 失败 成功 成功 必须有(具体系别因各学校具体情况而定) 编号 1 2 3 4 5 6 7 8 空 13 空 大于5位中文 11 12 无效等价类 空 空 编号 9 10 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位数 前4位为入学时间 后4位为系别及专业号 最后3位为班级号及学号 姓名 课程编号 课程名 平时成绩 实验成绩 课程设计 期末总成绩 测试用例: 学号 姓名 课程 编号 课程名 平时 成绩 实验 成绩 课程 设计 80 80 80 80 80 101 80 期末 总成绩 是否录 入成功 必须有 不超过5个汉字 必须有(系统自动编号) 必须有 中英文及各种字符组成 长度不限 必须有 0—100之间 可为空 0—100之间 可为空 0—100之间 必须有 0—100之间 编号 1 2 3 4 5 6 7 8 9 19 11 12 13 14 15 16 17 18 空 大于100 31 32 大于100 30 空 大于100 大于100 27 28 29 空 大于5个汉字 非汉字 空 空 21 22 23 24 25 26 不足11位 20 无效等价类 大于11位 编号 19 空 201130062129 20115007 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 张三 张三 张三 空 张三四五六七 ABC 李四 李四 李四 王五 王五 王五 宝儿 001 002 003 004 005 006 空 007 008 009 010 011 012 《软件测试》 《软件测试》 《软件测试》 《软件测试》 《软件测试》 《软件测试》 《软件测试》 空 《软件测试》 《软件测试》 《软件测试》 《软件测试》 《软件测试》 80 80 80 80 80 80 80 80 101 80 80 80 80 80 80 80 80 101 80 90 90 90 90 90 90 90 90 90 90 90 101 100 失败 失败 失败 失败 失败 失败 失败 失败 失败 失败 失败 失败 成功 2.3因果图法设计测试用例
前面介绍的等价类划分方法,是着重考虑输入条件,但未考虑输入条件之间的联系。如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
以“学生管理系统”前台中的“选课管理”为例。在学生登录系统进行按照规定进行选课,其对应的因果图如图2.1所示.
因果表
原因
C1:课程人数已满 C2:已选择过这门课
C3:课程人数未满,未选择过这门课 E
C2 C3 没选择这门课 图2。2 选课
课程人数未满 图2。1 因果图 选课 成功 输出 E2 C1 E1 结果 E1:选课失败 E1:选课失败 E2:选课成功
表2.1 选课图解列表
用例编号
用例标题
输入数据
操作步骤
期望结果
1 选课人数 选课人数满了
登录不同学生的学号使选课人数达到上限在登录测试学号选课
登录测试学生学号先选择1次退出后再次登录进行选课同1门课 按照规定进行选课
选课失败
2 是否选择过这门课
选择过这门课 选课
选课失败
3 正常选课 选课成功”
2.4决策表法设计测试用例
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况.精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。
结合软件测试,条件作为程序输入,动作看做程序输出,规则就是测试用例。 决策表的建立应该根据软件规格说明,步骤如下:
①确定规则的个数.假如有n个条件,每个条件有两个取值(0,1),故有2n种规则.
②列出所有的条件桩和动作桩。 ③输入条件项。
④填入动作项。制定初始决策表。 ⑤简化。合并相似规则或者相同动作。 适合使用决策表设计测试用例的条件:
①规格说明以决策表的形式给出,或很容易转换成决策表。 ②条件的排列顺序不影响执行哪些操作。 ③规则的排列顺序不影响执行哪些操作。
④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。 ⑤如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
下面以学生成绩管理系统的课程信息作为测试用例进行测试。
条件:C1选择课程编号、C2选择课程标题、C3选择授课教师 动作:E1信息填写为完整、E2信息填写有误、E3上传成功
决策表
规则选择
1
2
3
4
5
6
7
8
条 件
C1 C2 C3
动 作
E1 E2 E3
0 0 0 1 0 0
0 0 1 1 0 0
0 1 0 1 0 0
1 0 0 1 0 0
0 1 1 1 0 0
1 0 1 1 0 0
1 1 0 1 0 0
1 1 1 0 1 0
0 0 1
经过简化可得决策表如下: 规则选择
1
2
3
4
条 件
C1 C2 C3
动 作
E1 E2 E3
决策表测试用例
用例编号
用例标题
输入数据
操作步骤
期望结果
0 - - 1 0 0
— 0 — 1 0 0
— - 0 1 0 0
1 1 1 0 1 0
0 0 1
1
选择课程编号
“\" 不选择下拉列表框 提示请将信息填写完整
2
选择课程标题
“” 1、不选择下拉列表框 提示请将信息填写完整
3
选择授课教师
“\" 1、不选择下拉列表框 提示请将信息填写完整
4 课程编号和课程标题标题和授课教师
1111 软件测试 吴晓燕老师
选择下拉列表框内容 选择下拉列表框内容 选择课程
提示上传成功
白盒测试:
3.4.1 逻辑覆盖法设计测试用例
逻辑覆盖主要是以程序内部的逻辑结构为基础来设计测试用例.逻辑覆盖有语句覆盖 SC(Statement Coverage)、判定覆盖 DC(Decision coverage)、条件覆盖 CC(Condition Coverage)、条件判定组合覆盖 CDC(Condition/ Decision Coverage)条件组合覆盖 MCC (Multiple Condition Coverage)和路径覆盖6种覆盖标准。
下面以本系统中学生管理的学生登录功能为例,进行测试用例. 主要代码如下:
if (txtName.Text == ”\" || txtNum.Text == ”\" || txtPwd.Text == \"”) {
MessageBox。Show(”请将信息填写完整”); return; } else {
SqlConnection conn = BaseClass.DBCon(); conn。Open();
SqlCommand cmd = new SqlCommand(”select count(*) from tb_Student where StudentNum=’” + txtNum.Text + \"’”, conn);
int i = Convert。ToInt32(cmd.ExecuteScalar()); if (i 〉 0) {
MessageBox.Show(”密码不正确\"); return; } else {
cmd = new SqlCommand(”insert into 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 Spassword=”” T 请将信息输入完整 输入 F Sno and Spassword ssa F 请重新输入 图1.1 登录函数流程图 T 登录成功 F Entry M T A1 N T A1 F A2 图1。2 登录过程的判定条件和过程记录 1、语句覆盖 选择足够多的测试数据,使被测程序中每条语句至少执行一次;缺点:对程序执行逻辑的覆盖很低。 从图1。1中可以看出要想覆盖所有语句,三条 路径都必须执行一次。语句覆盖法测试用例列表如表1.1所示. 表1。1 语句覆盖法测试用例表 编号 用例1 用例2 用例3 输入数据 Sno=””&&Spassword=\"” Sno=”张三”&&Spassword=”1234\" Sno=”李四啊啊”&&Spassword的=’xx” 通过路径 M—A1 M-N—A1 M—N—A2 2、判定覆盖 设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真’值和‘假’值,或者使得程序中的每一个取‘真'分支或取‘假’分支至少经历一次,因此又称分支覆盖可以满足语句覆盖; 缺点:主要对整个表达式最终取值进行度量,忽略了表达式内部取值。 因此判定覆盖也需要执行上面的三种路径,所以它的用例和语句覆盖一样。如表1。2所示。 表1.2 判定覆盖法测试用例表 编号 用例1 用例2 输入数据 Sno=””&&Spassword=”” Sno=”张三”&&Spassword=”1234” 用例3 Sno=”李四啊啊”&&Spasswor='xx\" M—N-A2 通过路径 M—A1 M—N—A1 3。4。2路径分析法
3。4。1控制流图
设当输入的学生帐号正确时为T1,否则为—T1 设当输入的密码正确时为T2,否则为—T2
开始 G A 输入管理员帐号 N B H Y 账号是否正确 C N 输入管理员密码 D Y 密码是否正确 E 进入系统操作 F 结束
由上面的控制流程图可以得到下面的控制流图
开始 A R1 B C D R2 E 结束 根据上面环形复杂的计算结果,有2基本路径 path1:A—B-C-D—E
Path2:A-B-C-A—B-C—D-E
计算圈复杂度:给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量 V(G)=7—7+2=2 对上面的路径测试选取测试用例
测试用例 学生学号 20113006212 2011300621213 20113006212 登陆密码 131415 131415 666666 ABCDE ABGABCDEF ABCDHCDEF T1,T2 —T1, T2 T1,-T2 录入成功 录入失败 录入失败 通过路径 覆盖条件 预期输出结果
3.4。2测试用例
教师登录模块 测试用例 教师编号 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 学生信息录入模块 用例编号 学号 1 2 3 4 5 6 7 8 9 10 2011300621205 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113006212 20113062 20113006212 输入 姓名 张三 空 张三四五六七 李四 小蔡 张三 皮皮 ABC 小杨 宝儿 性别 年龄 所在系 男 女 男 空 男 男 女 男 女 女 18 19 20 17 22 81 24 25 81 一 二 三 四 五 空 七 三 三 三 录入失败 录入失败 录入失败 录入失败 录入失败 录入失败 录入失败 录入失败 录入失败 录入成功 预期输出结果 001 002 0003 004 005 006 007 008 009 010 输入 登录密码 131415 123456 131415 131415 131415 131415 131415 131415 131415 131415 登录成功 登录失败 登录失败 登录成功 登录成功 登录成功 登录成功 登录成功 登录成功 登录成功 预期输出结果
第3章 总结
通过本次《教学管理系统测试计划报告》的编写以及具体测试工作的进行我深刻体会到软件测试是一个有组织有计划的活动,在整个测试活动中只有各组员团结合作才能很好的完成整个测试活动。
整个测试活动的良好展开除了有一个很好的测试计划以外还必须拥有众多的外部条件,如测试人员的知识结构以及测试时的硬件支持。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务