Files
novalon-manage-system/dogfood-output/report.md
T
张翔 a01bcf791b feat(react19-migration): 阶段1 - 项目基础设施重建
- T1.1: 卸载 Vue 依赖,安装 React 19 + Ant Design 5 + Zustand 5 + AntV 全家桶
- T1.2: Vite 配置迁移 (plugin-vue → plugin-react, manualChunks 更新)
- T1.3: TypeScript 配置迁移 (jsx: preserve → react-jsx, 移除 .vue)
- T1.4: ESLint 配置迁移 (Vue 规则 → React/Hooks/Refresh 规则)
- T1.5: 入口文件迁移 (main.ts → main.tsx, App.vue → App.tsx, div#app → div#root)

验证: npm run dev 成功启动空白 React 应用
2026-05-03 15:14:24 +08:00

231 lines
6.5 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.
# Dogfood Report: Novalon管理系统
| Field | Value |
|-------|-------|
| **Date** | 2026-04-28 |
| **App URL** | http://localhost:3002 |
| **Session** | novalon-test |
| **Scope** | 全应用探索性测试,重点关注用户旅程(User Journey |
## Summary
| Severity | Count |
|----------|-------|
| Critical | 0 |
| High | 1 |
| Medium | 2 |
| Low | 1 |
| **Total** | **4** |
## Test Environment
- **Frontend**: http://localhost:3002 (Vue 3 + Vite)
- **Gateway**: http://localhost:8080 (Spring Cloud Gateway)
- **Backend**: http://localhost:8084 (Spring Boot)
- **Database**: PostgreSQL on localhost:55432
- **Test User**: admin / Test@123
## Test Execution Summary
### 服务状态验证
- ✅ 后端服务 (8084): 正常运行
- ✅ 网关服务 (8080): 正常运行
- ✅ 前端服务 (3002): 正常运行
- ✅ 数据库连接: 正常
### 数据库验证
- ✅ 用户表: 7条记录
- ✅ 角色表: 8条记录
- ✅ 菜单表: 51条记录
- ✅ 字典类型表: 8条记录
- ✅ 系统配置表: 9条记录
### API测试结果
- ✅ 登录API: 正常工作,返回JWT token
- ✅ 用户管理API: 正常工作,需要签名验证
- ✅ 角色管理API: 正常工作,需要签名验证
- ✅ 菜单管理API: 正常工作,需要签名验证
- ✅ 字典管理API: 正常工作,需要签名验证
- ✅ 系统配置API: 正常工作,需要签名验证
### 日志监控结果
- ✅ 后端日志: 无ERROR或Exception
- ⚠️ 网关日志: 有配置警告,但不影响功能
- ✅ 前端日志: 未发现异步功能错误
## Issues
### ISSUE-001: API签名验证机制导致测试困难
| Field | Value |
|-------|-------|
| **Severity** | high |
| **Category** | functional |
| **URL** | http://localhost:8080/api/* |
| **Repro Video** | N/A |
**Description**
所有API请求都需要签名验证(X-Signature, X-Timestamp, X-Nonce),这导致:
1. 直接使用curl或Postman测试API时会被拒绝
2. 测试脚本需要实现签名生成逻辑,增加了测试复杂度
3. 签名验证失败时,错误信息不够友好
**Expected Behavior**
- 应该提供测试模式,允许跳过签名验证
- 或者提供测试工具/库来简化签名生成
**Actual Behavior**
- API返回401错误,提示签名验证失败
- 错误信息:`{"error": "Unauthorized", "code": "INVALID_SIGNATURE", "message": "Request signature verification failed. Please ensure you have included valid X-Signature, X-Timestamp, and X-Nonce headers."}`
**Impact**
- 增加了API测试的复杂度
- 影响开发效率
- 可能导致测试覆盖率不足
---
### ISSUE-002: 网关配置警告
| Field | Value |
|-------|-------|
| **Severity** | medium |
| **Category** | console |
| **URL** | N/A |
| **Repro Video** | N/A |
**Description**
网关启动时出现多个配置警告:
1. `management.endpoint.env.enabled` 配置项使用了不兼容的目标类型
2. `management.endpoint.loggers.enabled` 配置项使用了不兼容的目标类型
3. `management.endpoint.metrics.enabled` 配置项使用了不兼容的目标类型
4. `management.metrics.web.server.request.autotime.enabled` 配置项应该全局配置
**Expected Behavior**
- 网关启动时不应该有配置警告
- 配置文件应该符合Spring Boot 3.x的最佳实践
**Actual Behavior**
- 网关启动时出现多个配置警告
- 虽然不影响功能,但可能会在未来的Spring Boot版本中导致问题
**Impact**
- 配置警告可能导致未来的兼容性问题
- 影响日志的可读性
---
### ISSUE-003: Playwright测试执行卡住
| Field | Value |
|-------|-------|
| **Severity** | medium |
| **Category** | functional |
| **URL** | N/A |
| **Repro Video** | N/A |
**Description**
执行Playwright测试时,测试进程似乎卡住,没有输出任何内容:
- 运行 `npm run test:e2e:journeys` 后,进程一直处于运行状态
- 没有测试输出,没有错误信息
- 需要手动终止进程
**Expected Behavior**
- 测试应该正常执行并输出结果
- 如果有问题,应该输出错误信息
**Actual Behavior**
- 测试进程卡住,无输出
- 无法判断测试是否在运行
**Impact**
- 无法执行自动化测试
- 影响CI/CD流程
- 无法验证代码质量
---
### ISSUE-004: 测试数据清理不彻底
| Field | Value |
|-------|-------|
| **Severity** | low |
| **Category** | functional |
| **URL** | N/A |
| **Repro Video** | N/A |
**Description**
数据库中存在测试用户数据,说明之前的测试没有正确清理:
- 用户表中有多条 `testuser_*` 开头的测试用户
- 这些数据可能是之前测试遗留的
**Expected Behavior**
- 每次测试后应该清理测试数据
- 数据库应该保持干净状态
**Actual Behavior**
- 数据库中存在遗留的测试数据
- 可能影响后续测试的结果
**Impact**
- 可能导致测试结果不准确
- 影响数据质量
---
## Recommendations
### 高优先级
1. **简化API签名验证机制**
- 提供测试模式,允许跳过签名验证
- 或者提供测试工具/库来简化签名生成
- 改进错误信息,提供更详细的调试信息
### 中优先级
2. **修复网关配置警告**
- 更新配置文件以符合Spring Boot 3.x的最佳实践
- 参考Spring Boot官方文档更新配置项
3. **修复Playwright测试问题**
- 检查Playwright配置
- 确保测试能够正常执行
- 添加超时机制,避免测试卡住
### 低优先级
4. **改进测试数据清理**
- 在测试套件中添加清理步骤
- 使用事务回滚或数据库快照来隔离测试数据
## Test Coverage
### 已测试的功能模块
- ✅ 用户登录
- ✅ 用户管理(查询)
- ✅ 角色管理(查询)
- ✅ 菜单管理(查询)
- ✅ 字典管理(查询)
- ✅ 系统配置(查询)
### 未测试的功能模块
- ❌ 用户管理(创建、编辑、删除)
- ❌ 角色管理(创建、编辑、删除)
- ❌ 字典管理(创建、编辑、删除)
- ❌ 系统配置(创建、编辑、删除)
- ❌ 文件管理
- ❌ 通知管理
- ❌ 日志管理
## Conclusion
本次dogfood测试发现了一些关键问题:
1. API签名验证机制增加了测试复杂度,需要改进
2. 网关配置存在警告,需要修复以避免未来的兼容性问题
3. Playwright测试执行存在问题,需要修复
4. 测试数据清理不彻底,需要改进
建议优先解决API签名验证问题,以便能够更有效地进行自动化测试。同时,修复网关配置警告和Playwright测试问题,确保测试套件能够正常运行。