1、 北方民族大学 课程设计报告 系(部、中心) 计算机科学与工程学院 姓 名 李榜明 学 号 2023 专 业 软件工程 班 级 三 同组人员 课程名称 软件测试技术 设计题目名称 《网上书店系统测试分析报告》 起止时间 2023年4月—2023年5月 成 绩
2、 指导教师署名 任 荣 北方民族大学教务处制 目 录 1. 引言 1 1.1《测试分析报告》编写目的 1 1.2 参考资料 1 2. 静态测试错误报告 1 2.1 测试对象及参考规范 1 2.2 静态测试缺陷报告 4 3. 测试用例 8 3.1 单元测试用例设计 8 3.2 集成测试用例设计 11 3.3 系统测试用例设计 12 4. 缺陷报告 12 5. 测试总结 16 5.1 测试覆盖率 16 5.2 测试
3、登记表 16 5.3 测试记录图 17 参考文献 17 1. 引言 1.1《测试分析报告》编写目的 为了发现和报告网上书店统系统图书管理模块的错误和缺陷。通过测试,保证本系统的功能、互操作性等符合软件的设计规定,满足用户的使用规定。通过度析错误产生的因素和错误的分布特性,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便对系统进行进行升级时进行改善。 1.2 参考资料 表1-1:参考资料列表 参考资料 是否可用 备注 需求规格说明书 是 无 系统设计说明书 是 无 系统原型 是 无 系统源码 是 无 用户使用手册 无
4、 无 测试计划 是 无 2. 静态测试错误报告 2.1 测试对象及参考规范 测试对象:系统分析设计说明书和图书管理模块功能代码 参考规范:《软件编程规范》作者:徐人凤 孙宏伟 王梅 测试对象为图书模块。功能模块代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.SqlClient; using System.Data; public class books { //定义A
5、DO.net对象 SqlConnection mycon = new SqlConnection(); SqlDataAdapter myadpt = new SqlDataAdapter(); DataSet myds = new DataSet(); public object ds; //属性 public int booksId { get; set; } public string booksName { get; set; } public string booksIntro { get; set; }
6、 public float bookPrice { get; set; } public int booksNum { get; set; } public string publisher { get; set; } public string photo { get; set; } public string type { get; set; } //字段 public string sqlstr; public string[] bookinfo; //连接服务器,数据库 public v
7、oid conn() { mycon.ConnectionString = "Data Source=QH-20231121JQID;Initial Catalog=bookstore;user ID=lbm;password=921210"; } //后台方法 //查询图书 public void selectbook(string bookid) { sqlstr = "select top 1 * from books where booksId='" + bookid + "'";
8、 myadpt.SelectCommand = new SqlCommand(sqlstr, mycon); myds.Clear(); myadpt.Fill(myds); booksId=int.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(0).ToString()); booksName=myds.Tables[0].Rows[0].ItemArray.GetValue(1).ToString(); booksIntro=myds.
9、Tables[0].Rows[0].ItemArray.GetValue(2).ToString(); bookPrice=float.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(3).ToString()); booksNum=int.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(4).ToString()); publisher=myds.Tables[0].Rows[0].ItemArray.GetValue(5).ToString(
10、); photo=myds.Tables[0].Rows[0].ItemArray.GetValue(6).ToString(); type = myds.Tables[0].Rows[0].ItemArray.GetValue(7).ToString(); } //添加图书 public void addbook() { sqlstr = "insert into books(booksId, booksName, booksIntro, booksPrice, booksNum, publishe
11、r, photo, bookstype) values('" + booksId + "','" + booksName + "','" + booksIntro + "','" + bookPrice + "','" + booksNum + "','" + publisher + "','" + photo + "','" + type + "')"; ; myadpt.SelectCommand = new SqlCommand(sqlstr, mycon); myds.Clear(); myadpt.
12、Fill(myds); } //删除图书 public void deletebook(string booksid) { sqlstr = "delete from books where booksId='" + booksid + "'"; myadpt.SelectCommand = new SqlCommand(sqlstr, mycon); myds.Clear(); myadpt.Fill(myds); } //修改图书 public vo
13、id updatebook(string booksid) { sqlstr = "update books set booksId='" + booksId + "',booksName='" + booksName + "',booksIntro='" + booksIntro + "',booksPrice='" + bookPrice + "',booksNum='" + booksNum + "',publisher='" + publisher + "',bookstype='" + type + "' where booksId='" + booksi
14、d + "'"; myadpt.SelectCommand = new SqlCommand(sqlstr, mycon); myds.Clear(); myadpt.Fill(myds); } //浏览图书 public void browsebook() { sqlstr = "select * from books"; myadpt.SelectCommand = new SqlCommand(sqlstr, mycon); myds.Cle
15、ar(); myadpt.Fill(myds); ds = myds.Tables[0]; } } //图书管理—删除图书 protected void Button3_Click(object sender, EventArgs e) { GridView1.Visible = false; book.conn(); int bookid=0; Boolean f = false; if (Text
16、Box1.Text == "") { Label1.Text = "图书编号不能空!"; } else { bookid =int.Parse(TextBox1.Text); if (bookid < 0 || bookid > 1000) { Label1.Text = "图书编号的不会是负数或者四位数!"; }
17、 else { try { book.deletebook(bookid); f = true; } catch { f = false; } } } if (f ==
18、true) { Label2.Text = "删¦除成功|"; } else { Label2.Text = "删¦除失败,没有此书"; } } 2.2 静态测试缺陷报告 表2-1静态测试缺陷报告1 缺陷记录编号 ST_Bug_1 测试项目 系统分析与设计说明书 测试人员 李榜明 测试日期 2023.4.11 优先级 中 缺陷解决人 陈勇 缺陷描述 一级目录的字体比二级目录的字体小 附件(缺
19、陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.4.11 验证日期 2023.4.11 缺陷是否解决 是 验证是否通过 是 备注 静态测试 表2-2静态测试缺陷报告2 缺陷记录编号 ST_Bug_2 测试项目 系统分析与设计说明书 测试人员 李榜明 测试日期 2023.4.11 优先级 低 缺陷解决人 陈勇 缺陷描述 页码在更新之后,第一页的页码没有,页码的 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.4.11 验证日期 2023.4.11
20、缺陷是否解决 是 验证是否通过 未 备注 静态测试 表2-3静态测试缺陷报告3 缺陷记录编号 ST_Bug_3 测试项目 系统分析与设计说明书 测试人员 李榜明 测试日期 2023.4.11 优先级 高 缺陷解决人 陈勇 缺陷描述 管理员用例图中,图书管理用例下的浏览和查询用例应当只出现一个 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 陈勇 解决日期 2023.4.11 验证日期 2023.4.11 缺陷是否解决 未 验证是否通过 未 备注 静态测试 表2-4静态测试缺陷报告4 缺陷记录编号 ST_Bug_
21、4 测试项目 系统分析与设计说明书 测试人员 李榜明 测试日期 2023.4.11 优先级 高 缺陷解决人 陈勇 缺陷描述 在UML数据建模中,购物车跟图书应当只是一个引用的关系,可以用数组去实现,而不应当存在一对多的关系。假如你把图书加到购物车中,你要删除或者减少数量,则是直接对数据库中的图书操作,并且图书不是属于某个购物车的,相称于一个购物车只能装一种图书,显然不合理 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 解决日期 2023.4.11 验证日期 2023.4.11 缺陷是否解决 否 验证是否通过 否 备注 静态测试
22、 表2-5静态测试缺陷报告5 缺陷记录编号 ST_Bug_5 测试项目 图书管理模块代码 测试人员 李榜明 测试日期 2023.4.11 优先级 高 缺陷解决人 陈勇 缺陷描述 查询图书的参数应当是一个整型的变量 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 陈勇 解决日期 2023.4.11 验证日期 2023.4.11 缺陷是否解决 未 验证是否通过 未 备注 静态测试 3. 测试用例 3.1 单元测试用例设计 (1)、白盒测试用例设计 1)程序流程图 4 6 5 3
23、 2 1 图 3-1 图书管理—删除图书程序流程图 2)白盒测试用例 表3-1 图书管理--删除图书白盒测试:(测试用例编号:TUC_1) 测试用例项(输入) 覆盖途径 覆盖条件 覆盖条件组合 预期输出 实际输出 TextBox1.Text =”” 覆盖途径: 1-6-4 覆盖条件: T1 Label1.Text=“图书编号不能为空” Label2.Text = "删¦除失败,没有此书" Label1.Text=“图书编号不能为空” Label2.Text = "删¦除
24、失败,没有此书" TextBox1.Text =”-1” 覆盖途径: 1-2-4 覆盖条件: F1,T2 Label1.Text = "图书编号的不会是负数或者四位数!" Label2.Text = "删¦除失败,没有此书" Label1.Text = "图书编号的不会是负数或者四位数!" Label2.Text = "删¦除失败,没有此书" TextBox1.Text =”2” 覆盖途径 1-3-4 覆盖条件 F1,F2,F3 Label2.Text = "删¦除成功|" . Label2.Text = "删¦除成功|" TextBox1.
25、Text =”hjhjg” 覆盖条件 F1 Label2.Text = "删¦除失败,没有此书" 出现FormatException was unhandled By user code异常 TextBox1.Text =”25” 覆盖途径 :1-3-5 覆盖条件 F1,F2,T3 Label2.Text = "删¦除失败,没有此书" Label2.Text = "删¦除失败,没有此书" (2)、黑盒测试用例设计 1)等价类/边界值测试用例 表3-2:等价类/边界值用例表: 测试用例编号 TUC_2 测试项目
26、 图书管理模块—删除图书 重要级别 高 测试人员 李榜明 测试日期 2023.4.24 功能描述 输入图书编号,在数据库中把此编号的图书删去 前提条件 测试项编号 输入 等价类/边界值 预期的输出 1 Textbox=”25” 有效等价类1/正常值 Label2.Text=”删除成功” 2 Textbox=”1001” 无效等价类1/上边界+1 Label2.Text=”没有找到此书,删除失败” 3 Textbox=”-1” 无效等价类2/下边界值-1 Label2.Text=”没有找到此书,删除失败” 4 Textbox=”#¥#¥#
27、 无效等价类3/特殊字符 Label2.Text=”没有找到此书,删除失败” 5 Textbox=”ased” 无效等价类4/纯字符 Label2.Text=”没有找到此书,删除失败” 6 Textbox=”ss123” 无效等价类5/字母数字组合 Label2.Text=”没有找到此书,删除失败” 7 Textbox=”0” 无效等价类5/下边界值 Label2.Text=”没有找到此书,删除失败” 备注 图 3-2 等价类/边界值TP截屏 2)、网上书店后台登陆因果图法 图3-3 网上书店后台登陆因果图TP截
28、屏 图3-4 网上书店后台登陆因果图法鉴定表TP截屏 图3-5 网上书店后台登陆因果图法测试用例TP截屏 3.2 集成测试用例设计 图3-6 网上书店后台登陆集成测试用例TP截屏 3.3 系统测试用例设计 图3-6 系统测试用例TP截屏 4. 缺陷报告 (1)、单元测试缺陷报告 表4-1:白盒测试缺陷报告1 缺陷记录编号 SUC_1_Bug_1 测试项目 删除图书 测试人员 李榜明 测试日期 2023.5.4 优先级 中 缺陷解决人 陈勇 缺
29、陷描述 当输入TextBox1.Text =”hjhjg”时, Label2.Text = "删¦除失败,没有此书",而不是报错。 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.5.5 验证日期 2023.5.5 缺陷是否解决 是 验证是否通过 是 备注 静态测试 表4-2:白盒测试缺陷报告2 缺陷记录编号 SUC_1_Bug_2 测试项目 删除图书 测试人员 李榜明 测试日期 2023.5.6 优先级 中 缺陷解决人 陈勇 缺陷描述 由于数据库中有编号为2这本书,所以输入TextBox
30、1.Text =”2”正常值,先通过查询看是否有此书时,有的再删除。此时发现查询到了此书,并且可以删除,但是图片显示不了 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.5.6 验证日期 2023.5.6 缺陷是否解决 是 验证是否通过 是 备注 白盒测试 表4-3:黑盒测试缺陷报告1 缺陷记录编号 SUC_2Bug_1 测试项目 删除图书 测试人员 李榜明 测试日期 2023.5.6 优先级 中 缺陷解决人 陈勇 缺陷描述 当输入Textbox=”25”这一有效等价类时,Label2.
31、Text=”删除成功”,事实上不应当是这个结果,由于数据库中没有这本书。 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.5.6 验证日期 2023.5.6 缺陷是否解决 是 验证是否通过 是 备注 黑盒测试 表4-4:黑盒测试缺陷报告2 缺陷记录编号 SUC_2Bug_1 测试项目 删除图书 测试人员 李榜明 测试日期 2023.5.6 优先级 中 缺陷解决人 陈勇 缺陷描述 当输入Textbox=”0”这一无效等价类(下边界值)时,Label1.Text=” 图书编号的不会是负数或者四位数!
32、Label2.Text=”删除失败”,理论上Label2.Text=”没有找到此书,删除失败”。 附件(缺陷截图) 缺陷解决人 陈勇 缺陷解决验证人 李榜明 解决日期 2023.5.6 验证日期 2023.5.6 缺陷是否解决 是 验证是否通过 是 备注 黑盒测试 (2)、集成测试缺陷报告 图4-1 集成测试缺陷报告1TP截屏 图4-2 集成测试缺陷报告2TP截屏 5. 测试总结 5.1 测试覆盖率 5.2.1 源代码测试覆盖率 源代码测试覆盖率为85% 5.2.2
33、 需求测试覆盖率 需求测试覆盖率为90% 5.2 测试登记表 表5-1:测试登记表 测试系统名称 网上书店系统 测试用例 记录结果 (数量) 通过 6 不通过 2 总计 8 缺陷记录 结果(数量) 致命缺陷 1 数据定义缺陷 1 功能缺陷 2 需求缺陷 0 界面问题 0 设计缺陷 5 程序逻辑缺陷 1 性能缺陷 1 缺陷总计数量 11 5.3 测试记录图 图5-1 网上书店系统测试记录图 参考文献 [1] [德]Spillner,Linz,[挪]Schaefer著,刘琴等译,《软件测试基础(第2版)》,人民邮电出版社,2023年4月 [2]朱少民,《软件测试方法和技术》,清华大学出版社, 2023年7月 [3]教育部考试中心/教育部考试中心,《全国计算机等级考试四级教程 - - 软件测试工程师(2023年版) 》,高等教育出版社,2023年9月 [4]赵斌,《软件测试技术经典教程(第二版)》,科学出版社,2023年3月 [5][美]Paul C.Jorgensen,《软件测试(原书第2版)》,机械工业出版社,2023年4月






