forked from wangtao/AI4SE_Practices
6.0 KiB
6.0 KiB
测试流程规范
本文档定义AI4SE工具测试的标准化流程,确保测试结果的可复现性和可比性。
📋 测试流程概述
每个工具的测试必须遵循以下统一流程:
- 工具准备 - 安装和配置工具
- 任务输入 - 明确需求和初始条件
- 操作步骤 - 记录详细的操作过程
- 结果输出 - 记录生成结果和评估数据
🔧 1. 工具准备
安装步骤
记录完整的安装和配置过程:
- 依赖安装:列出所有必需的依赖和版本
- API密钥配置:如需要,记录配置步骤
- IDE插件安装:如适用,记录插件安装过程
- 本地部署教程:如适用,记录本地部署步骤
- 关键截图:提供安装过程中的关键截图
版本记录
记录测试使用的工具版本:
- 工具版本号
- 插件版本号(如适用)
- 依赖版本号(如适用)
📝 2. 任务输入
需求描述
使用统一的测试任务描述,确保所有工具测试相同的需求。
初始条件
明确说明:
- 初始代码状态:是否有初始代码?如有,提供完整代码
- 项目环境:项目类型、框架、技术栈
- 其他上下文:相关的配置、数据、环境变量等
测试任务列表
所有工具必须测试以下标准任务:
基础任务(必须完成)
- Task 1: API开发 - 用Python+FastAPI开发RESTful API
- 详见:task1-api.md
中等任务(推荐完成)
- Task 2: 前端调试 - React组件bug定位和修复
- Task 3: 代码重构 - Legacy代码重构优化
高级任务(可选完成)
- Task 4: 需求分析 - 需求文档生成和分析
- Task 5: 架构设计 - 微服务架构设计
📸 3. 操作步骤
操作记录
按以下顺序记录操作过程:
- 工具调用方式:如何调用工具(命令、界面、快捷键等)
- 输入内容:输入的提示词、代码片段、需求描述等
- 生成结果:工具生成的原始结果(代码、文档等)
- 人工调整:对生成结果的人工修改
- 修改点:具体修改了什么
- 修改原因:为什么需要修改
截图要求
记录关键操作截图:
- 工具调用界面
- 输入内容界面
- 生成结果界面
- 最终结果界面
📊 4. 结果输出
结果文件
每个测试任务必须包含:
原始生成结果
- 工具生成的未修改原始代码/文档
- 保存为文件(如
task1-original.py)
最终可用结果
- 人工修改后的可用代码/文档
- 标注修改点和修改原因(注释或单独文档)
指标数据
记录以下量化指标(详见 metrics/):
效率指标:
- 开发耗时:从需求输入到完成可用代码的时间(分钟)
- 交互次数:需要多少次人工调整才能生成可用代码
质量指标:
- 代码正确率:无需修改/少量修改(<10行)/大量修改(>10行)/无法使用
- 测试通过率:生成代码的单元测试通过率(%)
- 可读性评分:按行业规范打分(1-5分)
易用性指标:
- 学习曲线:从安装到上手完成任务的操作步骤数
- 上手难度:主观评分(1-5分,1=非常容易,5=非常困难)
适配性指标:
- 语言/框架兼容性:是否支持目标技术栈,有无功能缺失
- 平台兼容性:支持的操作系统和IDE
优缺点分析
基于实测的客观评价:
- 优点:实际使用中表现好的方面
- 缺点:实际使用中遇到的问题和限制
- 适用场景:工具最适合的使用场景
- 不适用场景:工具不适合的使用场景
📐 测试环境要求
所有测试必须在统一的环境下进行,详见 environment/。
IDE配置
- VS Code:固定版本(如 1.85.0)
- 插件版本:记录各插件版本号
编程语言/框架
- Python:3.10+
- JavaScript:Node.js 18.17.0+
- React:18.x
- FastAPI:0.103.1+
- Java:17+
- Spring Boot:3.x
操作系统
- macOS 14.0+
- Windows 11
- Linux(Ubuntu 22.04+)
硬件要求
- 本地部署工具:记录硬件要求(CPU、内存、显存等)
- 例如:CodeLlama-7B需16GB显存
✅ 测试检查清单
测试完成后,请检查:
- 记录了完整的安装和配置步骤
- 使用了统一的测试任务描述
- 记录了详细的操作过程
- 提供了关键操作截图
- 保存了原始生成结果
- 保存了最终可用结果并标注了修改点
- 记录了所有量化指标数据
- 提供了客观的优缺点分析
- 确认测试环境符合要求
📝 测试报告模板
每个测试任务的报告应包含以下结构:
# Task X: <任务名称>
## 任务描述
[统一的任务描述]
## 初始条件
[初始代码/项目环境/上下文]
## 操作步骤
### 1. 工具调用
[如何调用工具]
### 2. 输入内容
[输入的提示词/代码/需求]
### 3. 生成结果
[工具生成的原始结果]
### 4. 人工调整
[修改点和修改原因]
## 结果评估
### 效率指标
- 开发耗时:XX分钟
- 交互次数:XX次
### 质量指标
- 代码正确率:XX
- 测试通过率:XX%
- 可读性评分:XX/5
### 易用性指标
- 学习曲线:XX步骤
- 上手难度:XX/5
### 适配性指标
- 语言/框架兼容性:XX
- 平台兼容性:XX
## 优缺点分析
### 优点
- [优点1]
- [优点2]
### 缺点
- [缺点1]
- [缺点2]
## 截图
[关键操作截图]
## 代码文件
- `taskX-original.xxx` - 原始生成结果
- `taskX-final.xxx` - 最终可用结果
提示:详细测试任务定义见 test-tasks/,详细指标定义见 metrics/。