3.6 KiB
3.6 KiB
活动上下文
当前工作焦点
我们正在维护和改进DDMS合规性测试工具,该工具用于自动化API合规性测试。目前系统已经具备基本功能,支持通过Web界面和命令行方式使用。用户可以提供API规范文件(YAPI或Swagger格式),指定目标服务的Base URL,并配置自定义测试用例目录和报告输出位置等参数。
优先任务
- 功能完善:确保所有核心功能正常工作,包括API规范解析、测试用例执行和报告生成。
- Bug修复:解决测试过程中可能出现的错误和异常情况。
- 性能优化:提高测试执行效率,特别是对于大型API规范文件和复杂测试场景。
- 用户体验改进:优化Web界面,提供更友好的操作流程和反馈。
- 文档更新:确保用户手册和开发文档与最新代码保持同步。
最近变更
代码变更
- 实现了用户认证系统,使用SQLite存储用户信息
- 添加了LLM集成功能,支持使用大模型生成测试数据
- 改进了测试报告格式,提供更详细的API调用信息
- 优化了错误处理逻辑,提高了系统稳定性
- 增强了Web界面的响应性和用户体验
- 新增了数值越界错误处理测试用例 (TC-ERROR-4002),用于验证API在接收到超出范围的数值参数时是否按预期返回特定业务错误码。
架构调整
- 重构了测试编排器(APITestOrchestrator),提高了代码可维护性
- 引入了更灵活的插件机制,便于扩展测试用例和测试阶段
- 改进了API规范解析器,增强了对不同格式的兼容性
- 优化了测试用例注册表的设计,支持更精确的用例筛选
- 在
schema_utils.py中添加了可复用的辅助函数,用于从描述中解析数值范围,以简化相关测试用例的编写。
活动决策和考虑
当前决策
- LLM集成策略:决定使用兼容OpenAI API的通义千问大模型作为测试数据生成的后端,同时保留传统的基于Schema的数据生成方法作为备选。
- 测试报告格式:采用JSON格式作为摘要报告,Markdown格式作为详细报告,平衡了机器可读性和人类可读性。
- 用户认证方案:使用基于Flask session的简单认证系统,结合SQLite数据库存储用户信息,避免过度复杂化。
- 部署模式:支持本地部署,使用简单的Python命令启动,不依赖复杂的容器或云服务。
开放问题
- 多线程执行:是否应该支持并行执行测试用例以提高性能?需要权衡速度提升与稳定性风险。
- 测试用例覆盖度:如何确保测试用例能全面覆盖各种API合规性要求?考虑引入测试覆盖率分析。
- LLM依赖性:如何处理LLM服务不可用或响应缓慢的情况?需要实现更强大的回退机制。
- 安全性增强:当前的认证机制是否足够安全?考虑加入更多安全措施如CSRF保护和API密钥轮换。
下一步计划
短期目标 (1-2周)
- 修复已知的bug和稳定性问题
- 完善用户文档和开发指南
- 优化Web界面的响应速度和用户体验
- 增加更多预定义的测试用例
中期目标 (1-2个月)
- 实现测试结果的历史记录和比较功能
- 添加API端点的搜索和过滤功能
- 改进LLM参数生成的质量和效率
- 支持更复杂的测试场景和数据依赖
长期目标 (3+个月)
- 开发更强大的测试报告分析工具
- 支持团队协作和测试结果共享
- 集成CI/CD流程,实现自动化测试
- 开发更高级的测试用例编辑器,降低编写自定义测试用例的门槛