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