一、项目简介 & 测试范围

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 管理员端功能

  1. 管理员登录:合法 / 非法账号密码、长度边界、特殊字符、空值校验

  2. 图书管理:图书新增 / 编辑 / 查看 / 删除、图书检索、字段边界异常测试

  3. 读者管理:读者信息增删改查、各项字段格式与长度校验

  4. 借阅日志:全量日志查看;权限校验:仅已归还借阅记录可删除,未归还日志禁止删除

  5. 个人中心:登录密码修改(原密码错误、两次新密码不一致、密码边界值等场景)

3.2 读者端功能

  1. 注册(底层对应新增读者)、登录、退出登录;

  2. 全量图书浏览、图书查看检索、图书借阅、已借图书归还;

  3. 个人信息查看、个人资料修改;

  4. 个人借阅日志查询、个人账户密码修改。

3.3 功能测试汇总缺陷(按缺陷类型分组,概括总结,明细放附件 Excel)

(一)、登录 & 验证码相关缺陷

登录账号框未做格式校验,可输入负数、小数等非法数据,点击登录无报错提示;刷新验证码偶现账号自动回填、密码填充未知乱码字符。

(二)、各类字段校验缺失(新增、编辑全场景通用)

  1. 文本类:图书名、作者、ISBN、出版社、简介等无超长校验,输入非法最大边界值提交直接报 500;

  2. 简介字段库设计允许为空,前端新增 / 编辑强制不能为空,前后字段约束不一致;

  3. 数值类:图书价格、剩余数量、分类号无正负、零值限制,可随意填负数、0;价格要求保留两位小数,输入三位小数系统自动截断后正常保存,无拦截;

  4. 日期类:出版日期、读者生日校验异常,非法月份、极值年份会被系统自动修正为合法日期,非法日期可直接保存。

(三)、页面跳转与提交返回异常

读者注册跳转至新增读者页面,页面不自动展示自增读者 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/92937362https://download.csdn.net/download/weixin_51327691/92937362压缩包内含:需求文档、测试点思维导图、测试用例、缺陷记录表、接口测试报告、Python 校验源码、APIFox 接口测试报告。

更多推荐