一、模块介绍
我在项目中负责全系统功能测试,重点测试核心借阅业务模块,覆盖借书、还书、续借、逾期计算、重复借阅校验等功能。本文记录测试用例设计、测试过程中发现的 BUG,以及对应的修复代码与排查思路。
二、借阅模块测试用例设计
正常流程:读者登录→查询可借图书→提交借书→生成借阅记录;
边界用例 1:同一本书未归还,再次借阅;
边界用例 2:图书库存为 0 时发起借阅;
边界用例 3:归还图书,自动计算逾期天数与罚款;
异常用例:手动修改前端借阅 ID,非法请求后端接口。
三、测试过程发现的核心 BUG 及修复
BUG1:同一本图书可以无限重复借阅,无校验逻辑
现象:读者未归还图书,仍能再次提交借阅申请,数据库生成多条借阅记录。
问题根源:后端借阅接口未查询当前图书未归还记录。
修复代码(后端借阅业务层):
java
运行
// 查询该图书是否存在未归还记录
LambdaQueryWrapper<Borrow> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Borrow::getBookId, borrowDTO.getBookId())
.eq(Borrow::getReturnStatus, 0);
Long count = borrowMapper.selectCount(wrapper);
if(count > 0){
throw new RuntimeException("该书尚未归还,无法再次借阅");
}
BUG2:逾期天数计算逻辑错误,同一天归还仍产生罚款
现象:借书当天归还,系统判定逾期 1 天并生成罚款。
问题根源:日期差值未做判断,直接相减。
修复思路:使用 LocalDate 计算日期差,只有归还日期 > 借阅日期才计算逾期。
java
运行
LocalDate borrowDate = borrow.getBorrowDate();
LocalDate now = LocalDate.now();
long day = ChronoUnit.DAYS.between(borrowDate, now);
if(day > 30){ // 借阅期限30天
int overDay = (int) (day - 30);
borrow.setOverFine(overDay * 0.5); // 每日0.5元罚款
}
BUG3:归还图书后,图书库存数量未自动加 1
现象:图书归还成功,图书表库存不变,库存数量持续减少。
修复:归还成功后更新图书库存 + 1,添加事务保证数据一致性。
BUG4:前端借阅记录列表分页数据错乱,重复展示数据
问题:前端查询接口未携带分页参数,每次请求全量数据覆盖页面。
修复:调用借阅列表接口时,固定传入 pageNum、pageSize,后端分页返回。
四、测试流程收获
完整测试分为功能测试、边界测试、异常测试三层,测试不能只测正常流程,边界场景才是系统最容易出问题的地方。测试时先定位前端问题还是后端问题:控制台无报错但数据异常 = 后端逻辑问题;控制台报 404/500 / 参数缺失 = 前后端对接问题。
截图建议:借阅模块测试用例表格截图、重复借阅报错弹窗截图、逾期罚款计算界面、BUG 修复后正常借阅页面
第二篇:系统功能测试实战:图书借阅模块 BUG 排查与修复代码
张小明
前端开发工程师
美图ai模特一键换装,提升电商图片质感的实用工具全测评
在电商视觉内容竞争日益激烈的当下,“美图ai模特”已经成为提升商品吸引力与转化率的重要手段。作为专注于电商图解决方案的实践者,我经过多平台对比测试,本次将带来主流AI生成及处理工具的全面评析,聚焦其对模特图生成效率、细节…
国内开发者开通 ChatGPT Plus 屡屡支付失败?记一次 ChatGPT Plus 国内订阅踩坑全过程:支付拦截底层原因拆解 稳定替代方案实操记录
近期后端业务开发、前端组件编写、接口文档梳理都高频依赖 GPT-5 大模型,免费版存在响应限速、上下文长度限制、无法调用高级模型等问题,于是计划开通 ChatGPT Plus 月度订阅提升工作效率。 但在支付环节遇到了绝大多数国内用户都会踩的阻碍:…
AI编码助手真实提效20%-30%:聚焦样板代码、文档摘要与低风险重构
1. 这不是泼冷水,而是把蒙在AI编码助手上的那层“10倍生产力”滤镜擦干净你肯定见过那些标题:《我用Copilot把开发效率提升了10倍!》《告别加班!AI Coding Agent让我每天多出4小时》《团队接入AI后,交付速度翻三番》。…
外卖佣金涨到20%之后,我算了一笔账:为什么越来越多商家开始自己搞配送?
先上结论:2026年还在完全依赖平台配送的中小商家,利润空间正在被系统性地压缩。这不是危言耸听,是我最近三个月跟二十几个同行聊完,加上自己店里数据算出来的结果。一、先算笔账:一份20块的外卖,商家最后到…
计算机毕业设计之基于机器学习的个性化智能推荐系统的设计与实现
着互联网技术的飞速发展和信息量的爆炸式增长,用户面临着信息过载的挑战,如何从海量信息中高效地获取感兴趣的内容成为了一个亟待解决的问题。基于机器学习的个性化智能推荐系统通过分析用户的历史行为、偏好和上下文信息,利用机器学习算法构…
方壳电池pack生产线如何选择?
方壳电池PACK生产线的选择,核心不是比谁家设备“看起来更先进”,而是看谁能匹配你的电芯型号、产能爬坡节奏和投资预算。我过去两年走访了超过30家电池厂与储能集成商,发现一个规律:“盲目追求全自动线”是导致产线闲置率超过40%的…