Skip to content

kreamyu/BizTestBot

Repository files navigation

doc2sc

从产品文档自动生成测试场景(User Story)的工具。输入产品功能文档(Markdown/PDF),经过实体提取、功能点识别与合并、用户故事生成等流程,输出结构化的测试场景 JSON。

环境配置

前置要求

  • Python 3.12(使用 uv 管理,版本由 .python-version 锁定)
  • 推荐使用 uv 作为包管理工具

1. 安装依赖

# 安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 在项目目录下同步依赖
cd doc2sc
uv sync

2. 配置环境变量

复制示例配置并填写你的 API Key:

cp ".env example" .env

编辑 .env 文件:

# LLM 配置(支持任何 OpenAI 兼容接口)
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_API_KEY=sk-xxx                  # 替换为你的 API Key
LLM_MODEL_NAME=qwen3-vl-plus        # 支持多模态的模型(用于处理图片)
LLM_SEMAPHORE_NUM=8                  # 并发请求数,按需调整
EMBEDDING_MODEL_NAME=text-embedding-v4

当前默认使用阿里云百炼(DashScope)的 Qwen 模型。如需使用其他 OpenAI 兼容服务,修改 LLM_BASE_URLLLM_MODEL_NAME 即可。


启动方式

启动 API 服务

以 FastAPI 服务方式运行,对外提供 HTTP 接口:

uv run server.py

通过与 Autotask 联动进行测试场景的生成和执行,具体使用请参见用户手册。

目录结构

doc2sc/
├── documents/          # 存放输入文档(每个应用一个子目录)
│   └── <app_name>/     # Markdown 或 PDF 文档放这里
├── output/             # 生成结果输出目录
│   └── <app_name>/
│       └── enhanced_user_stories.json  # 生成的用户故事/测试场景
├── output_all/         # 批量生成的汇总结果
├── src/doc2sc3/        # 核心处理模块
├── main.py             # 主流程入口
├── server.py           # FastAPI 服务
├── generate_all.py     # 批量生成脚本
└── .env                # 环境变量配置

主要接口:

方法 路径 说明
POST /generate 基于本地文档目录生成(需提前放好文档)
POST /generate_from_content 直接上传文档内容生成
GET /status/{task_id} 查询任务状态
GET /health 健康检查

处理流程概览

  1. 实体提取:从文档中识别页面(Page)和资源(Resource)实体
  2. 功能点识别与合并:提取功能点,进行聚类与去重合并
  3. 用户故事生成:基于功能点生成结构化的测试场景(含初始状态、操作步骤、预期结果)
  4. 知识图谱验证(可选):构建知识图谱,通过 ReAct Agent 验证生成结果的准确性

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors