# 测试专家系统 基于大模型AI技术的自动化测试项和测试用例生成系统。 ## 功能特性 - 📄 **文档解析**: 自动解析JSON格式的软件使用说明书,提取功能点和操作步骤 - 🤖 **智能生成**: 基于大模型API,为每个功能点生成专业的测试项和测试用例 - 📊 **多格式输出**: 支持JSON、Markdown、Excel多种格式导出 - 🔧 **Prompt优化**: 支持自定义和优化测试生成Prompt模板 - 🌐 **多API支持**: 支持DeepSeek、通义千问、OpenAI等多种大模型API ## 安装 1. 确保已安装Python 3.8+ 2. 安装依赖: ```bash pip install -r requirements.txt ``` ## 配置 ### 1. API配置 编辑 `config/api_config.yaml`,填入您的API密钥: ```yaml providers: deepseek: api_key: "your-api-key-here" # ... qianwen: api_key: "your-api-key-here" # ... openai: api_key: "your-api-key-here" # ... ``` 或者通过环境变量设置: ```bash export DEEPSEEK_API_KEY="your-api-key" export QIANWEN_API_KEY="your-api-key" export OPENAI_API_KEY="your-api-key" ``` ### 2. Prompt模板(可选) 系统已包含默认的Prompt模板,位于 `config/default_prompt.yaml`。您可以根据需要修改这些模板以优化生成效果。 ## 使用 ### 方式一:Web界面(推荐) 1. 启动Streamlit应用: ```bash streamlit run app.py ``` 2. 在浏览器中打开显示的URL(通常是 http://localhost:8501) 3. 使用流程: - **配置页面**: 设置API密钥和选择模型 - **生成测试页面**: 上传JSON文档,选择功能点,生成测试 - **结果页面**: 预览和下载生成的结果 ### 方式二:命令行(文档转换) 使用 `process_doc_file.py` 将Word文档转换为JSON: ```bash python process_doc_file.py [输入文件.docx] [输出文件.json] ``` ## 项目结构 ``` test_item_gen/ ├── app.py # Streamlit主应用 ├── process_doc_file.py # Word文档转JSON工具 ├── requirements.txt # 依赖列表 ├── config/ │ ├── api_config.yaml # API配置 │ └── default_prompt.yaml # 默认Prompt模板 ├── modules/ │ ├── __init__.py │ ├── json_parser.py # JSON解析模块 │ ├── api_client.py # 大模型API客户端 │ ├── prompt_manager.py # Prompt管理模块 │ ├── test_generator.py # 测试生成引擎 │ └── output_formatter.py # 多格式输出模块 └── templates/ # 自定义Prompt模板目录 ``` ## 测试用例格式 生成的测试用例包含以下信息: - **测试项ID**: 自动生成的唯一标识 - **测试项名称**: 测试项的描述 - **所属模块**: 功能所属的模块 - **前置条件**: 执行测试前需要满足的条件 - **测试步骤**: 详细的测试操作步骤 - **预期结果**: 测试应该达到的结果 - **优先级**: 高/中/低 - **测试类型**: 功能测试/性能测试/安全测试等 ## 注意事项 1. **API密钥安全**: 请勿将包含API密钥的配置文件提交到版本控制系统 2. **API调用费用**: 使用大模型API会产生费用,请注意控制调用次数 3. **Prompt优化**: 根据实际需求调整Prompt模板可以显著提升生成质量 4. **文档格式**: 输入的JSON文档需要符合特定的格式结构 ## 故障排除 ### API调用失败 - 检查API密钥是否正确配置 - 确认网络连接正常 - 查看API提供商的文档,确认API格式是否匹配 ### 无法识别功能点 - 检查JSON文档格式是否正确 - 确认文档中包含清晰的功能描述 - 可以手动调整 `modules/json_parser.py` 中的功能点识别逻辑 ### Excel导出失败 - 确保已安装 `openpyxl`: `pip install openpyxl` ## 许可证 本项目仅供学习和研究使用。