图书管理系统的功能与性能测试
一.项目介绍
(一)项目功能
- 用户登录:具备登录功能,用户需输入用户名和密码(如图中 “admin” 等)进行系统访问,保障系统使用权限与数据安全。
- 图书列表展示:以表格形式呈现图书详细信息,涵盖图书 ID、书名、作者、数量、定价、出版社、状态(可借阅等 ),方便管理员查看图书总体情况。
- 图书操作功能
- 添加图书:通过 “添加图书” 页面,可录入图书名称、作者、库存、定价、出版社、状态等信息,丰富图书资源库。
- 修改图书:利用 “修改图书” 页面,能对既有图书信息(如书名、作者、库存等 )进行更新调整,确保数据准确性。
- 删除图书:支持单本(列表中 “删除” 操作 )和批量删除(“批量删除” 按钮 )图书,可清理无用或错误录入的图书信息。
(二)页面展示
1.登录页面
2.图书列表页面
3.修改图书页面
4.添加图书页面
二.功能测试
首先需要明确要测试的功能模块,此图书管理系统重点关注
(一)测试用例编写与执行
1. 用户登录功能测试
- 正常登录:输入正确用户名(如 “admin” )和密码,点击登录,预期进入系统主界面。
- 异常登录:分别测试不输入用户名、不输入密码、输入错误用户名或密码等情况,预期系统给出对应错误提示。
用例编号 | 测试目的 | 测试步骤 | 预期结果 |
---|---|---|---|
001 | 验证正常登录 | 在登录页面输入用户名 “admin”,密码 “admin”,点击 “登录” 按钮 | 成功进入图书管理系统主界面 |
002 | 验证用户名错误登录 | 在登录页面输入用户名 “admi”,密码 “admin”,点击 “登录” 按钮 | 系统提示 “用户名或密码错误” |
003 | 验证密码错误登录 | 在登录页面输入用户名 “admin”,密码 “admi”,点击 “登录” 按钮 | 系统提示 “用户名或密码错误” |
004 | 验证未输入用户名登录 | 在登录页面不输入用户名,输入密码 “admin”,点击 “登录” 按钮 | 系统提示 “请输入用户名” |
005 | 验证未输入密码登录 | 在登录页面输入用户名 “admin”,不输入密码,点击 “登录” 按钮 | 系统提示 “请输入密码” |
2. 图书列表展示功能测试
- 数据显示:检查列表是否正确展示图书 ID、书名、作者等各项信息,数据是否与数据库一致。
- 分页功能:点击首页、上一页、下一页、最后一页按钮,确认能正确切换页面且显示对应数据。
用例编号 | 测试目的 | 测试步骤 | 预期结果 |
---|---|---|---|
001 | 验证图书信息显示完整性 | 登录系统后,查看图书列表 | 列表中完整显示图书 ID、书名、作者、数量、定价、出版社、状态等信息 |
002 | 验证分页功能 - 首页 | 在图书列表页面,点击 “首页” 按钮 | 页面跳转到第一页,显示第一页的图书数据 |
003 | 验证分页功能 - 上一页 | 若当前页面不是第一页,点击 “上一页” 按钮 | 页面跳转到上一页,显示对应上一页的图书数据 |
004 | 验证分页功能 - 下一页 | 若当前页面不是最后一页,点击 “下一页” 按钮 | 页面跳转到下一页,显示对应下一页的图书数据 |
005 | 验证分页功能 - 最后一页 | 在图书列表页面,点击 “最后一页” 按钮 | 页面跳转到最后一页,显示最后一页的图书数据 |
3.添加图书功能测试
- 正常添加:在添加图书页面,输入完整有效信息(如书名《百年孤独》、作者加西亚・马尔克斯等 ),点击确定,预期提示添加成功,图书列表出现新图书。
- 异常添加:尝试不填必填字段、输入非法字符等,预期系统阻止添加并给出错误提示
用例编号 | 测试目的 | 测试步骤 | 预期结果 |
---|---|---|---|
001 | 验证正常添加图书 | 在添加图书页面,依次输入图书名称《呐喊》、作者鲁迅、图书库存 10、图书定价 30.0、出版社人民文学出版社、图书状态可借阅,点击 “确定” 按钮 | 系统提示 “图书添加成功”,图书列表中出现新增图书信息 |
002 | 验证必填字段未填 | 在添加图书页面,不输入图书名称,输入其他信息,点击 “确定” 按钮 | 系统提示 “图书名称为必填项”,不执行添加操作 |
003 | 验证非法字符输入 | 在图书名称输入框输入 “#$%^&*”,输入其他有效信息,点击 “确定” 按钮 | 系统提示 “图书名称输入格式不正确”,不执行添加操作 |
004 | 验证库存非数字输入 | 在图书库存输入框输入 “abc”,输入其他有效信息,点击 “确定” 按钮 | 系统提示 “库存必须为数字”,不执行添加操作 |
4.修改图书功能测试
- 正常修改:选择一本图书点击修改,更改某一信息(如定价 ),点击确定,预期提示修改成功,列表中对应信息更新。
- 异常修改:修改时输入不符合规则数据(如负数库存 ),预期系统提示错误,不执行修改。
用例编号 | 测试目的 | 测试步骤 | 预期结果 |
---|---|---|---|
001 | 验证正常修改图书 | 在图书列表中选择一本图书,点击 “修改” 按钮,修改图书定价为新价格,点击 “确定” 按钮 | 系统提示 “图书修改成功”,图书列表中对应图书的定价更新为新价格 |
002 | 验证修改后数据非法 | 在修改页面,将图书库存修改为负数 -5,点击 “确定” 按钮 | 系统提示 “库存不能为负数”,不执行修改操作,图书信息保持修改前状态 |
003 | 验证未修改直接提交 | 在修改页面,不做任何修改,直接点击 “确定” 按钮 | 系统提示 “未检测到数据修改”,不执行修改操作,图书信息保持不变 |
5.删除图书功能测试
- 单本删除:在图书列表点击某本图书的删除按钮,确认系统提示确认删除,点击确认后,预期图书从列表消失,数据库记录删除。
- 批量删除:勾选多本图书,点击批量删除按钮,预期系统提示确认,确认后所选图书从列表和数据库删除
用例编号 | 测试目的 | 测试步骤 | 预期结果 |
---|---|---|---|
001 | 验证单本图书删除 | 在图书列表中,点击某本图书操作栏的 “删除” 按钮,在弹出的确认框中点击 “确定” | 系统提示 “图书删除成功”,该图书从图书列表中消失 |
002 | 验证批量图书删除 | 在图书列表中勾选多本图书,点击 “批量删除” 按钮,在弹出的确认框中点击 “确定” | 系统提示 “所选图书删除成功”,勾选的图书从图书列表中消失 |
(二)测试结果记录与总结
- 记录:在测试执行过程中,如实记录每个用例的实际执行结果。若实际结果与预期结果不符,则判定该用例不通过,详细记录错误信息、出现位置等。
- 总结:测试完成后,对所有测试用例的结果进行统计分析,如统计通过和不通过的用例数量,分析功能模块存在的缺陷类型和严重程度等,形成测试报告反馈给开发团队
三.性能测试
(一)测试指标
- 响应时间:重点测试用户登录、图书列表展示、添加图书、修改图书、删除图书等操作的响应时间。设定理想情况下平均响应时间不超过 3 秒。
- 吞吐量:监测系统在单位时间内处理的请求数量,评估系统的处理能力。
- 并发用户数:逐步增加并发用户数量,确定系统能够稳定支持的最大并发用户数,防止系统出现性能瓶颈或崩溃。
- 资源利用率:实时监测服务器在测试过程中的 CPU 使用率、内存使用率、磁盘 I/O、网络 I/O 等资源占用情况。
(二)测试过程
本文只展示使用JMeter对用户登录和列表展示页面进行的测试截图。
均模拟 50 个用户在 10 秒内逐步启动,每个用户执行 1 次登录操作
1.用户登录
配置:
结果:
从查看结果树中查看到操作执行成功
2.图书列表展示
配置:
结果:
(三)测试评估
以上所展示的两个功能在 50 个并发用户、10 秒 Ramp - Up 时间的测试场景下,均展现出不错的性能。响应时间较短且离散度小,吞吐量稳定,无请求失败情况。但要全面评估系统性能,还需进一步测试更高并发场景以及长时间持续负载下的表现。
四.总结
经过功能测试和性能测试,该图书管理系统在功能方面表现较为稳定,各项基本功能都能正常实现,对异常情况也有较好的处理机制。然而,在性能方面,当面临较高并发用户数时,系统出现了响应时间延长和错误率上升等问题,服务器资源利用率也接近瓶颈。后续需要针对性能问题进行优化,如对数据库查询进行优化、合理调整服务器资源配置等,以提升系统在高并发场景下的稳定性和响应速度,为用户提供更流畅的使用体验