Ubuntu 下 LMS 图书管理系统实战测试(手工 + 接口 + Python 自动化)
一、项目简介 & 测试范围
1、项目环境
被测项目:LMS 图书管理 Web 系统,部署在Ubuntu Linux 虚拟机中,无正式需求文档,依靠页面交互效果 + MySQL 数据库字段约束反向整理需求、设计测试用例。
2、测试分类
本次测试包含:手工功能测试、接口测试、Python 自动化辅助测试、非功能测试,系统划分为管理员端、读者端两大板块。
管理员端功能清单:
1. 管理员登录;
2. 图书管理:图书新增、修改、查看、删除、图书检索;
3. 读者管理:读者信息增删改查;
4. 借阅日志:日志全量查看、仅允许删除已归还的借阅记录;
5. 修改登录密码。
读者端功能清单:
1. 注册(底层等价新增读者)、登录、退出登录;
2. 全部图书查看、图书检索、图书借阅 / 归还;
3. 个人信息查看与修改;
4. 个人借阅日志查看;
5. 修改个人账户密码。
二、测试环境与测试方法
1、部署环境:
Ubuntu 虚拟机 + MySQL 数据库 + Web 项目
辅助工具:
-
Navicat:可视化查看数据库表结构、字段约束,辅助反向梳理需求;
-
APIFox:接口手工调试 + 接口自动化脚本编写,用于接口层测试;
-
Python+pymysql:编写脚本连接 MySQL,自动查询库中数据,和前端页面数据做比对,快速校验数据一致性、节省手工核对时间。
2、用例设计方法:
等价类划分、边界值分析、场景法
三、功能测试

提示:主要分为管理员模块与读者模块
3.1 管理员端功能
-
管理员登录:合法 / 非法账号密码、长度边界、特殊字符、空值校验
-
图书管理:图书新增 / 编辑 / 查看 / 删除、图书检索、字段边界异常测试
-
读者管理:读者信息增删改查、各项字段格式与长度校验
-
借阅日志:全量日志查看;权限校验:仅已归还借阅记录可删除,未归还日志禁止删除
-
个人中心:登录密码修改(原密码错误、两次新密码不一致、密码边界值等场景)

3.2 读者端功能
-
注册(底层对应新增读者)、登录、退出登录;
-
全量图书浏览、图书查看检索、图书借阅、已借图书归还;
-
个人信息查看、个人资料修改;
-
个人借阅日志查询、个人账户密码修改。

3.3 功能测试汇总缺陷(按缺陷类型分组,概括总结,明细放附件 Excel)
(一)、登录 & 验证码相关缺陷
登录账号框未做格式校验,可输入负数、小数等非法数据,点击登录无报错提示;刷新验证码偶现账号自动回填、密码填充未知乱码字符。
(二)、各类字段校验缺失(新增、编辑全场景通用)
-
文本类:图书名、作者、ISBN、出版社、简介等无超长校验,输入非法最大边界值提交直接报 500;
-
简介字段库设计允许为空,前端新增 / 编辑强制不能为空,前后字段约束不一致;
-
数值类:图书价格、剩余数量、分类号无正负、零值限制,可随意填负数、0;价格要求保留两位小数,输入三位小数系统自动截断后正常保存,无拦截;
-
日期类:出版日期、读者生日校验异常,非法月份、极值年份会被系统自动修正为合法日期,非法日期可直接保存。
(三)、页面跳转与提交返回异常
读者注册跳转至新增读者页面,页面不自动展示自增读者 ID;读者注册、管理员新增读者,数据成功入库,但页面统一返回 500 报错。
(四)、编辑页面数据回填异常
图书编辑页面出版日期无法回显原有数据,打开编辑自动变回默认值。
(五)、检索功能逻辑错误
页面标注图书检索仅依据图书名称匹配,实际作者字段内容也能被检索命中,页面描述与底层实现不符。
(六)、UI 兼容性缺陷
拖拽缩放浏览器窗口,验证码区域页面布局错乱。
说明:以上为精简总结,每条缺陷详细复现步骤、严重等级、测试详情全部记录在附件【缺陷管理记录表.xlsx】,文末可下载查看。
四、接口测试(APIFOX)

说明:接口测试用例在APIFOX软件中创建执行并自动化生成测试报告
4.1 测试概况
测试工具:APIFox 被测接口共 5 个:新增图书接口、全量图书查询接口、图书修改接口、图书删除接口、图书模糊检索接口。 用例设计沿用等价类、边界值、场景法,从正向常规参数、业务逆向参数、非法异常入参、环境异常四类维度编写用例;测试分为「单接口套件批量执行」+「串联业务场景测试」两种模式,在 APIFox 中按运行环境划分测试套件,实现用例分类归档、一键批量执行,自动生成场景测试报告、套件执行报告两份文档。
4.2 测试内容
1.单接口四类用例测试
- 正向用例:传入合规参数,校验接口返回码、返回字段、MySQL 数据库落地数据三者一致性;
- 业务逆向:传入违背业务逻辑参数;
- 非法参数:空值、超长字符、负数、非规范小数、非法格式编号、超范围边界值;
- 环境异常:模拟网络波动,验证接口异常容错能力。
2.两大串联业务场景测试
场景 1(图书完整生命周期):全量图书查询→新增图书→模糊检索核对新增数据→修改图书→删除图书;
场景 2(异常业务):对已删除的图书 ID,重复调用删除接口,校验接口防重复删除逻辑。
3.套件管理
依据部署环境对全部用例分组创建测试套件,批量执行后自动导出接口测试报告。
4.3 接口测试小结
1.正向用例
大部分正向用例执行通过,仅【新增图书、修改图书】2 个用例失败,原因:简介数据库允许空值,但是接口强制非空校验,传空简介直接拦截报错。
2.逆向 & 非法参数用例
逆向异常用例大面积状态码不符合预期,后端缺少参数校验、HTTP 返回码不规范,分为 4 类问题:
① 价格参数异常:新增 / 修改图书价格为空,预期 200 + 业务提示,实际返回 500 报错;价格传入三位小数,预期拦截返回 302,接口直接 200 自动截断数据入库。
② 图书删除 ID 各类非法入参:ID 为空、超长位数、非法格式时,本该返回 400 参数错误,实际返回 500;ID 负数、超大不存在编号,预期 400/404,接口返回 200 无任何拦截。
③ 模糊检索异常:检索传入超大非法边界值,预期异常返回,接口直接返回 200 正常查询。
④ 共性:接口没有统一错误码规范,参数错误、资源不存在、系统异常三种场景乱返回200/500。
3.场景测试
- 场景 1(图书全生命周期)除简介空值问题外流程正常;
- 场景 2(重复删除已删图书)无数据存在性校验,非法删除无拦截。
说明:详细每条失败用例、原始报错截图,统一在附件:APIFox 导出报告中查看。
五、Python 自动化辅助测试
基于 Ubuntu 环境 MySQL,使用 Python+pymysql 编写校验脚本,不做业务自动化,仅辅助测试:图书新增 / 修改 / 删除完成后,脚本自动查询库表原始数据,比对前端页面展示、接口返回数据是否一致,省去人工逐条核对的工作量。
六、非功能测试
1.UI 展示:页面常规布局正常;
2. 兼容性:拖拽缩放浏览器窗口,验证码区域页面布局错乱;
3. 易用性:前端输入无前置格式提示,报错文案笼统,用户无法快速定位输入错误。
七、整体测试总结
7.1 测试结论
系统正向借阅、图书管理、读者管理全业务流程可正常使用,满足基础业务需求;核心缺陷根源为数据库字段约束、前端页面校验、后端接口校验三者规则不统一,后端接口缺少入参校验、错误码不规范,大量非法入参直接触发 500 异常。
7.2 优化建议
1. 前端全部输入框补充 maxlength、数值、格式前置校验,拦截非法数据提交;
2. 后端统一接口参数校验规则,区分参数错误 400、资源不存在 404、业务提示 200、系统故障 500,替换笼统报错;
3. 对齐简介等字段:数据库允许为空,则前后端、接口同步放开非空限制;
4. 修复编辑页出版日期无法回填、检索文案与实际功能不符、验证码自适应错乱等 UI 与功能问题。
📎配套项目全套资料:https://download.csdn.net/download/weixin_51327691/92937362
https://download.csdn.net/download/weixin_51327691/92937362压缩包内含:需求文档、测试点思维导图、测试用例、缺陷记录表、接口测试报告、Python 校验源码、APIFox 接口测试报告。
更多推荐
所有评论(0)