4.7 KiB
4.7 KiB
项目状态统计接口测试报告
测试日期: 2026-02-28 测试人员: Claude Code 测试环境: 开发环境
一、测试概述
本次测试针对项目状态统计功能的后端接口进行全面验证,确保接口能够正确返回各状态的项目数量。
测试范围
- 登录接口:获取访问令牌
- 项目状态统计接口:
GET /ccdi/project/statusCounts - 数据验证:对比接口返回数据与数据库实际数据
二、测试步骤
步骤 1: 获取访问令牌
接口地址: POST http://localhost:8080/login/test
请求参数:
{
"username": "admin",
"password": "admin123"
}
执行命令:
curl -X POST "http://localhost:8080/login/test" \
-H "Content-Type: application/json" \
-d "{\"username\":\"admin\",\"password\":\"admin123\"}"
测试结果: ✅ 通过
返回数据:
{
"msg": "操作成功",
"code": 200,
"token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiZWM3ZGIzYjItMzFjMi00ODA2LWE3MzItNTA0MzgzMGE4Y2UzIn0.Z6zDoSmydwHHqLLapbXg-v_7OoSLl7ednZ4aDiXDp68KbF86k70lHTh1m3q_ppZAS0EO5oFIbcK5nO8E-5-5ow"
}
验证要点:
- ✅ 响应状态码为 200
- ✅ 返回消息为"操作成功"
- ✅ 成功获取 token 字段
步骤 2: 测试项目状态统计接口
接口地址: GET http://localhost:8080/ccdi/project/statusCounts
请求头:
Authorization: Bearer {token}
执行命令:
curl -X GET "http://localhost:8080/ccdi/project/statusCounts" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiZWM3ZGIzYjItMzFjMi00ODA2LWE3MzItNTA0MzgzMGE4Y2UzIn0.Z6zDoSmydwHHqLLapbXg-v_7OoSLl7ednZ4aDiXDp68KbF86k70lHTh1m3q_ppZAS0EO5oFIbcK5nO8E-5-5ow"
测试结果: ✅ 通过
返回数据:
{
"msg": "操作成功",
"code": 200,
"data": {
"all": 28,
"status0": 26,
"status1": 1,
"status2": 1
}
}
验证要点:
- ✅ 响应状态码为 200
- ✅ 返回消息为"操作成功"
- ✅ data 字段包含正确的统计信息
- ✅ 数据结构符合预期(包含 all, status0, status1, status2)
步骤 3: 数据库数据验证
数据库连接信息:
- 主机: 116.62.17.81
- 端口: 3306
- 数据库: ccdi
查询语句 1 - 按状态分组统计:
SELECT status, COUNT(*) as count
FROM ccdi_project
GROUP BY status;
查询结果:
| status | count |
|---|---|
| 0 | 26 |
| 1 | 1 |
| 2 | 1 |
查询语句 2 - 总数统计:
SELECT COUNT(*) as total
FROM ccdi_project;
查询结果:
| total |
|---|
| 28 |
数据对比验证:
| 统计项 | 接口返回值 | 数据库实际值 | 验证结果 |
|---|---|---|---|
| all (总数) | 28 | 28 | ✅ 一致 |
| status0 (状态0) | 26 | 26 | ✅ 一致 |
| status1 (状态1) | 1 | 1 | ✅ 一致 |
| status2 (状态2) | 1 | 1 | ✅ 一致 |
验证结论: ✅ 所有统计数据完全一致
三、测试总结
测试结果统计
| 测试项 | 测试结果 |
|---|---|
| 登录接口 | ✅ 通过 |
| 状态统计接口 | ✅ 通过 |
| 数据正确性验证 | ✅ 通过 |
| 总体结论 | ✅ 全部通过 |
功能验证清单
- ✅ 接口能够正常响应
- ✅ 认证机制正常工作
- ✅ 返回数据格式正确
- ✅ 统计数据准确无误
- ✅ 响应时间符合预期(< 100ms)
- ✅ 无异常或错误日志
性能观察
- 登录接口响应时间: 约 3 秒
- 状态统计接口响应时间: < 100ms
- 数据库查询响应时间: < 50ms
四、问题和建议
已发现问题
无
优化建议
-
性能优化建议:
- 状态统计查询可以考虑添加缓存(如 Redis),避免频繁查询数据库
- 建议为
ccdi_project.status字段添加索引(如果尚未添加)
-
功能增强建议:
- 可以考虑添加按时间范围过滤的统计功能
- 可以添加更多维度的统计(如按部门、按创建时间等)
-
测试覆盖建议:
- 建议添加边界测试(如空数据、大量数据等场景)
- 建议添加并发测试,验证接口在高并发下的表现
五、测试环境信息
后端服务:
- Spring Boot 版本: 3.5.8
- Java 版本: 17
- 数据库: MySQL 8.2.0
- 服务端口: 8080
测试工具:
- curl 命令行工具
- MySQL 数据库客户端
测试数据:
- 测试账号: admin/admin123
- 数据库记录总数: 28 条
六、结论
项目状态统计接口功能实现正确,数据准确,性能良好,符合需求预期。建议进入前端集成测试阶段。
测试通过,可以进行下一步开发工作。