图书管理系统测试报告

基于SSM框架的图书管理系统测试报告

1. 项目概述

1.1 项目背景

随着图书馆规模的扩大和信息化需求的提升,传统的人工管理方式已无法满足高效、准确的管理需求。本系统基于SSM(Spring、Spring MVC、MyBatis)框架开发,旨在实现图书管理的自动化,涵盖图书借阅、用户管理、数据统计等功能,以提高图书馆管理效率和服务质量。

1.2 测试目标

  • 验证系统功能是否符合需求分析中的设计要求。
  • 确保系统界面友好、操作流畅。
  • 测试系统的稳定性、安全性和性能。
  • 发现潜在缺陷并提出改进建议。

2. 测试环境

2.1 软件环境

  • 操作系统:Windows 10
  • 数据库:MySQL 8.0
  • 开发框架:Spring 5.3.9、Spring MVC 5.3.9、MyBatis 3.5.7
  • 浏览器:Chrome 105.0、Firefox 104.0
  • 测试工具:Postman(接口测试)、JMeter(性能测试)、Selenium(UI自动化测试)

3. 测试范围

本次测试覆盖以下核心模块:

  1. 登录模块:用户身份验证、权限控制。
  2. 图书管理模块:图书增删改查、分类管理。
  3. 用户管理模块:用户信息维护、权限分配。
  4. 图书借阅模块:借阅记录管理、归还操作。

4. 功能测试用例与结果

4.1 登录模块

4.1.1 功能测试
测试项测试步骤预期结果实际结果
管理员登录输入正确管理员账号(如 admin)和密码(如 admin123)后点击登录。跳转至管理员后台界面。与预期一致
读者登录输入正确读者证号(如 2023105110249)和密码(如 123456)后点击登录。跳转至读者个人中心界面。与预期一致
无效账号登录输入不存在的账号(如 test)和任意密码。提示“账号或密码错误”。与预期一致
密码错误登录输入正确账号但错误密码(如 admin + wrongpass)。提示“账号或密码错误”。与预期一致
4.1.2 安全性测试
  • SQL注入测试:输入 ' OR 1=1 -- 作为用户名,系统返回“账号或密码错误”,未暴露数据库信息。
  • 密码加密验证:数据库中的密码字段为哈希值(如 admin123a665a459...),符合安全要求。

4.2 图书管理模块

4.2.1 功能测试

测试项 测试步骤 预期结果 实际结果
添加图书 输入完整信息(书名、作者、ISBN、分类号等)后点击“保存”。 图书列表刷新显示新增图书。 与预期一致
修改图书信息 选中某图书,修改价格字段为 59.99 后点击“提交”。 图书列表中价格更新为 59.99。 与预期一致
删除图书 选中某图书,点击“删除”并确认。 图书列表中该图书消失。 与预期一致
必填字段验证 不填写书名直接点击“保存”。 提示“书名不能为空”。 与预期一致

以下是生成的表格:

测试项测试步骤预期结果实际结果
添加图书输入完整信息(书名、作者、ISBN、分类号等)后点击“保存”。图书列表刷新显示新增图书。与预期一致
修改图书信息选中某图书,修改价格字段为 59.99 后点击“提交”。图书列表中价格更新为 59.99与预期一致
删除图书选中某图书,点击“删除”并确认。图书列表中该图书消失。与预期一致
必填字段验证不填写书名直接点击“保存”。提示“书名不能为空”。与预期一致

希望这个表格符合你的需求!

4.2.2 边界值测试
  • ISBN格式验证:输入 978-7-121-12345-1(有效)和 123456(无效),系统仅接受有效格式。
  • 库存数量限制:输入负值(如 -5),系统提示“库存数量不能为负”。

4.3 用户管理模块

4.3.1 功能测试
测试项测试步骤预期结果实际结果
添加用户填写读者证号、姓名、电话等信息后点击“保存”。用户列表中显示新增用户。与预期一致
删除用户选中某用户,点击“删除”并确认。用户列表中该用户消失。与预期一致
权限测试以普通读者身份尝试访问管理员界面(如 /admin_books.html)。跳转至无权限提示页。与预期一致

4.4 图书借阅模块

4.4.1 功能测试
测试项测试步骤预期结果实际结果
借阅图书读者登录后选择某图书,点击“借阅”。借阅记录中新增一条未归还记录。与预期一致
归还图书管理员在借阅记录中点击“归还”。借阅记录状态更新为“已归还”。与预期一致
超期归还设置借阅期限为7天,超期后尝试归还。系统提示“超期未归还”。与预期一致

5. 测试结论

5.1 遗留问题

  • 界面兼容性:在IE浏览器中,部分表格样式显示异常。
  • 错误提示优化:删除图书时未提示“确认操作”,易导致误删。

5.2 改进建议

  1. 增加“确认弹窗”功能,避免误操作。
  2. 优化IE浏览器的CSS兼容性。
  3. 添加操作日志功能,记录管理员的关键操作。
出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.csdn.net/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值