Files
novalon-manage-system/findings.md
T
张翔 be5d5ede90 feat: 添加异常日志功能并优化UI样式
refactor: 重构后端查询逻辑和API响应处理

fix: 修复用户角色更新和文件上传问题

test: 添加前端性能测试脚本和E2E测试用例

chore: 更新依赖版本和配置文件

docs: 添加环境检查脚本和测试文档

style: 统一表格标签样式和路由命名

perf: 优化前端页面加载速度和响应时间
2026-03-24 13:32:20 +08:00

152 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Findings
## 测试覆盖率分析
### manage-sys模块覆盖率详情
- **Date:** 2026-03-19 (最终更新)
- **Source:** Jacoco覆盖率报告
- **Details:**
- 初始覆盖率:76%
- 第二次提升:78%(新增OperationLogHandlerTest
- 第三次提升:79%(新增SysUserService测试)
- 最终覆盖率:**79%**(新增OperationLogService测试)
- 新增测试:OperationLogHandlerTest7个)+ SysUserService3个)+ OperationLogService3个)
- 总测试数:从386增加到399
- **Impact:** 距离80%目标仅差1%,覆盖率显著提升
### 未充分覆盖的区域
- **Date:** 2026-03-19
- **Source:** Jacoco HTML报告分析
- **Details:**
- Handler层:部分HTTP请求处理逻辑未覆盖
- 异常处理:边界条件和错误处理路径
- 复杂业务逻辑:角色权限验证、数据验证等
- **Impact:** 需要优先为这些区域添加测试
---
## API集成测试失败分析
### test_logical_delete_user_success
- **Date:** 2026-03-19
- **Source:** pytest执行结果
- **Details:**
- 预期:逻辑删除后,get_user_by_id应返回404
- 实际:返回200
- 原因:findById方法未过滤已删除用户(deletedAt不为null
- **Fix:** 已修复
- 在SysUserDao中添加findByIdAndDeletedAtIsNull方法
- 修改SysUserRepository.findById使用新方法
- 测试现在通过 ✅
### test_get_users_by_page_with_search
- **Date:** 2026-03-19
- **Source:** pytest执行结果
- **Details:**
- 预期:搜索结果中所有用户的username或email都包含"search"
- 实际:返回结果中包含不匹配的用户
- 原因:搜索功能的实现可能需要优化,或测试预期需要调整
- **Fix:** 已修复
- 发现问题:SysUserQueryCriteria使用了错误的QueryField注解(来自manage-db.dao而不是manage-common.dao
- 修复方法:修改import语句,使用正确的QueryField注解
- 验证:测试现在通过,搜索功能正常工作 ✅
- 新增日志:在QueryUtil中添加详细日志,便于调试查询构建过程
---
## E2E测试现状
### 当前覆盖范围
- **Date:** 2026-03-19 (最终更新)
- **Source:** E2E测试文件分析
- **Details:**
- basic.spec.ts:基础功能测试(6个测试,100%通过)
- user-lifecycle.spec.ts:用户生命周期测试(4个测试,100%通过)
- role-management.spec.ts:角色权限管理测试(7个测试,100%通过)
- file-management.spec.ts:文件管理测试(10个测试,100%通过)
- **总计:27个E2E测试,100%通过率**
- **Impact:** E2E测试覆盖显著扩展,包含完整业务流程
### 新增测试详情
- **Date:** 2026-03-19
- **Source:** 新增测试文件分析
- **Details:**
- user-lifecycle.spec.ts4个测试):
- 完整用户生命周期:登录 -> 查看用户列表 -> 登出
- 用户登录成功场景:正确密码
- 用户会话管理:验证登录状态持久性
- 用户导航功能:测试系统菜单导航
- role-management.spec.ts7个测试):
- 查看角色列表
- 角色管理页面导航
- 角色搜索功能
- 角色详情查看
- 角色管理页面刷新
- 角色权限验证
- 角色管理响应式布局
- file-management.spec.ts10个测试):
- 查看文件列表
- 文件管理页面导航
- 文件搜索功能
- 文件详情查看
- 文件管理页面刷新
- 文件权限验证
- 文件管理响应式布局
- 文件管理页面元素验证
- 文件管理分页功能
- 文件管理表格排序功能
- **Impact:** 覆盖了关键业务流程和用户交互场景
### 已解决的测试场景
- **Date:** 2026-03-19
- **Source:** 业务需求分析
- **Details:**
- ✅ 完整用户流程:登录 → 操作 → 登出
- ✅ 角色权限管理:查看角色、权限验证
- ✅ 文件管理:文件列表、搜索、详情查看
- **Impact:** 核心业务流程已通过E2E测试验证
---
## 环境配置发现
### 前端服务配置
- **Date:** 2026-03-19
- **Source:** playwright.config.ts
- **Details:**
- baseURL已修正为http://localhost:3001
- headless模式已启用
- 失败时自动截图和录制视频
- **Impact:** 前端E2E测试环境配置正确
### 后端服务配置
- **Date:** 2026-03-19
- **Source:** SecurityConfig.java
- **Details:**
- /actuator/**端点已开放所有HTTP方法
- 认证配置正确
- JWT过滤器配置正确
- **Impact:** 后端服务可正常访问
---
## 技术债务
### 测试数据管理
- **Date:** 2026-03-19
- **Source:** conftest.py分析
- **Details:**
- 使用时间戳生成唯一测试数据
- 有cleanup机制但可能不够完善
- 测试数据隔离性需验证
- **Impact:** 需要优化测试数据管理,确保测试独立性
### 测试执行速度
- **Date:** 2026-03-19
- **Source:** 测试执行观察
- **Details:**
- API集成测试执行较快(约10秒)
- E2E测试执行较慢(需启动浏览器)
- 后端单元测试执行快(约9秒)
- **Impact:** 可考虑并行执行优化测试速度