基于RAG (Retrieval-Augmented Generation) 和大语言模型的智能测试用例助手,帮助测试工程师快速生成、优化和管理测试用例。
- 上传产品需求文档、API文档
- 支持PDF、Word、Markdown、TXT格式
- 自动解析并建立向量索引
- 根据需求描述自动生成测试用例
- 支持多种测试类型(功能、边界、异常、性能、安全)
- 基于历史用例的智能推荐
- 回答关于功能逻辑、接口参数的问题
- 语义搜索相关文档
- 提供测试建议
- 检测重复用例
- 评估测试覆盖率
- 提供优化建议
- Python 3.8+
- LangChain - LLM应用开发框架
- Sentence Transformers - 文本嵌入模型
- ChromaDB - 向量数据库
- Streamlit - Web UI框架
pip install -r requirements.txt注意:首次运行会自动下载嵌入模型(约500MB),请耐心等待。
如果要使用OpenAI API,创建.env文件:
cp .env.example .env编辑.env文件,填入API Key:
OPENAI_API_KEY=your_api_key_here
不配置也可以使用:系统会使用内置的演示模式。
python demo_data.py这会创建包含5个测试用例和3个文档的演示知识库。
首次运行说明:
- 会自动下载sentence-transformers模型
- 下载时间取决于网络速度(约3-5分钟)
- 后续运行会直接使用已下载的模型
# 方式1:使用启动脚本
python run.py
# 方式2:直接启动Streamlit
streamlit run app.py20-RAG智能测试用例助手/
├── config.py # 配置管理
├── app.py # Streamlit主应用
├── demo_data.py # 演示数据生成
├── run.py # 启动脚本
├── requirements.txt # 依赖包
├── README.md # 本文件
│
├── src/ # 核心模块
│ ├── embeddings.py # 文本嵌入模型
│ ├── vector_store.py # 向量数据库管理
│ ├── llm_handler.py # LLM处理器
│ ├── rag_chain.py # RAG链
│ ├── test_case_generator.py # 测试用例生成器
│ ├── test_case_optimizer.py # 用例优化器
│ └── utils.py # 工具函数
│
└── data/ # 数据目录
├── knowledge_base/ # 上传的文档
├── test_cases/ # 测试用例存储
└── chroma_db/ # 向量数据库
- 进入"📤 知识库管理"页面
- 上传产品需求文档、API文档
- 系统自动解析并建立索引
- 进入"✨ 测试用例生成"页面
- 输入需求描述
- 选择测试类型和选项
- 点击"生成测试用例"
- 查看、编辑和导出用例
- 进入"🔍 智能问答"页面
- 输入问题(如"如何测试登录功能?")
- 查看AI回答和参考文档
- 进入"📊 用例优化分析"页面
- 粘贴现有测试用例
- 查看分析报告和优化建议
A: 首次运行需要下载嵌入模型(约500MB),请耐心等待。后续运行会快很多。
A: 在"知识库管理"页面上传您的PDF、Word或文本文档即可。
A: 不是必需的。不配置API也可以使用,系统会使用演示模式生成测试用例模板。
A:
- 上传更多高质量的参考文档
- 提供详细的需求描述
- 配置OpenAI API使用GPT模型
A: 所有数据存储在data/目录下,完全本地化,不会上传到外部服务器。
# 确保在项目根目录运行
cd "D:\机器学习实训营\20-RAG智能测试用例助手"
pip install -r requirements.txt# 删除数据库重新初始化
rm -rf data/chroma_db
python demo_data.py# 使用国内镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sentence-transformersQUICKSTART.md- 详细的快速开始指南PROJECT_REPORT.md- 完整的项目技术报告COMPLETE_SUMMARY.md- 项目完成总结
欢迎提交Issue和Pull Request!
MIT License
祝使用愉快! 🎉
如有问题,请查看文档或提交Issue。