一个开源的 AI 测试用例生成平台。上传需求文档或设计文档,即可自动分析并生成结构化、可导出的测试用例。
Test AI 旨在帮助测试人员、产品经理和开发者将需求文档、设计文档快速转化为高质量的测试用例。系统支持 PDF、DOC、DOCX、Markdown 等常见文档格式,提供文档上传、任务管理、用例生成、结果下载与评价反馈等完整流程。
- 文档上传:支持 PDF / DOC / DOCX / Markdown 格式,单文件最大 50 MB。
- AI 用例生成:基于大语言模型自动提取功能点并生成测试用例。
- 任务管理:查看生成任务状态、进度、用例数量与质量评分。
- 结果预览与下载:支持 Markdown 格式预览与下载。
- 用户反馈:对生成结果进行评分与反馈,持续优化生成质量。
- 统计看板:展示任务总数、完成数、进行中数、失败数等关键指标。
上传需求文档或设计文档,配置 AI 平台信息,一键生成测试用例。
查看所有任务的运行状态、用例数量、质量评分,支持筛选、分页和详情查看。
| 层级 | 技术 |
|---|---|
| 前端 | Vue 3 + TypeScript + Element Plus + Pinia + Vue Router + Axios |
| 后端 | Spring Boot 2.7 + MyBatis Plus + MySQL 8 |
| 文档解析 | Apache PDFBox、Apache POI |
| AI 接入 | 阿里云百炼 DashScope SDK,同时支持 OpenAI / Gemini 等自定义配置 |
test-ai/
├── test-ai-backend/ # 后端服务
│ ├── src/main/java/ # Java 源码
│ │ └── com/testai/
│ │ ├── controller/ # RESTful 控制器
│ │ ├── service/ # 业务逻辑
│ │ ├── mapper/ # 数据访问层
│ │ ├── entity/ # 实体类
│ │ ├── dto/ # 数据传输对象
│ │ ├── common/ # 通用结果封装、异常处理
│ │ ├── util/ # 工具类
│ │ └── task/ # 异步任务
│ ├── src/main/resources/
│ │ ├── application.yml # 应用配置
│ │ ├── db/schema.sql # 数据库初始化脚本
│ │ └── mapper/ # MyBatis XML
│ └── pom.xml
├── test-ai-frontend/ # 前端应用
│ ├── src/
│ │ ├── api/ # API 接口封装
│ │ ├── components/ # 公共组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── utils/ # 工具函数
│ │ └── types/ # TypeScript 类型
│ ├── package.json
│ └── vite.config.ts
├── Agent.md # 项目开发规范
└── README.md # 本文件
- JDK 1.8+
- Maven 3.6+
- MySQL 8.0+
- Node.js 18+
- npm 9+
-
创建数据库:
CREATE DATABASE testai DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-
执行初始化脚本:
mysql -u root -p testai < test-ai-backend/src/main/resources/db/schema.sql
-
进入后端目录:
cd test-ai-backend -
配置环境变量(推荐)或在
application.yml中使用默认值:变量 说明 DB_URLMySQL 连接地址 DB_USERNAME数据库用户名 DB_PASSWORD数据库密码 AI_API_KEYAI 平台 API 密钥 -
编译并运行:
mvn clean compile mvn spring-boot:run
后端默认运行在
http://localhost:10010。
-
进入前端目录:
cd test-ai-frontend -
安装依赖:
npm install
-
启动开发服务器:
npm run dev
前端默认运行在
http://localhost:3000,并通过 Vite 代理将/api请求转发到后端。 -
生产构建:
npm run build
在启动前设置以下环境变量,避免将敏感信息提交到版本控制:
export DB_URL="jdbc:mysql://localhost:3306/testai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"
export DB_USERNAME="root"
export DB_PASSWORD="your_password"
export AI_API_KEY="your_ai_api_key"前端通过 .env 文件或环境变量配置 API 地址:
VITE_API_BASE_URL=http://localhost:10010后端接口统一以 /api/v1 为前缀(部分文档相关接口以 /documents 为前缀),返回统一格式:
{
"code": 200,
"msg": "操作成功",
"data": {}
}主要接口:
| 接口 | 方法 | 说明 |
|---|---|---|
/documents/upload |
POST | 批量上传文档 |
/api/v1/tasks/generate |
POST | 创建用例生成任务 |
/api/v1/tasks/list |
POST | 分页查询任务列表 |
/api/v1/tasks/{id} |
GET | 查询任务详情 |
/api/v1/tasks/{id}/download |
GET | 下载生成的用例文件 |
/api/v1/tasks/{id}/feedback |
POST | 提交任务反馈 |
/api/v1/tasks/statistics |
GET | 获取任务概览统计 |
/api/v1/task-statistics/statistics |
GET | 获取按时间范围统计 |
/api/v1/task-feedback/submit |
POST | 提交任务评价 |
/api/test-demo/list |
GET | 测试示例接口 |
本项目遵循 Agent.md 中的开发规范,核心原则包括:
- 不要假设,不要隐藏困惑:遇到模糊需求先确认。
- 用最小代码解决问题:避免过度设计。
- 只改必须改的:精确控制修改范围。
- 定义成功标准,循环验证:每完成一个功能单元立即自测。
详细的编码规范、安全规范与自测清单请参见 Agent.md。
cd test-ai-backend
mvn testcd test-ai-frontend
npm run build欢迎提交 Issue 和 Pull Request。贡献前请确保:
- 已阅读 Agent.md 中的开发规范。
- 代码通过类型检查与单元测试。
- 提交信息清晰说明改动原因与范围。
本项目采用 MIT License 开源协议。

