AI4SE_Practices/AI4SE-survey/test-standards/test-flow.md

6.0 KiB
Raw Blame History

测试流程规范

本文档定义AI4SE工具测试的标准化流程确保测试结果的可复现性和可比性。

📋 测试流程概述

每个工具的测试必须遵循以下统一流程:

  1. 工具准备 - 安装和配置工具
  2. 任务输入 - 明确需求和初始条件
  3. 操作步骤 - 记录详细的操作过程
  4. 结果输出 - 记录生成结果和评估数据

🔧 1. 工具准备

安装步骤

记录完整的安装和配置过程:

  • 依赖安装:列出所有必需的依赖和版本
  • API密钥配置:如需要,记录配置步骤
  • IDE插件安装:如适用,记录插件安装过程
  • 本地部署教程:如适用,记录本地部署步骤
  • 关键截图:提供安装过程中的关键截图

版本记录

记录测试使用的工具版本:

  • 工具版本号
  • 插件版本号(如适用)
  • 依赖版本号(如适用)

📝 2. 任务输入

需求描述

使用统一的测试任务描述,确保所有工具测试相同的需求。

初始条件

明确说明:

  • 初始代码状态:是否有初始代码?如有,提供完整代码
  • 项目环境:项目类型、框架、技术栈
  • 其他上下文:相关的配置、数据、环境变量等

测试任务列表

所有工具必须测试以下标准任务:

基础任务(必须完成)

  • Task 1: API开发 - 用Python+FastAPI开发RESTful API

中等任务(推荐完成)

高级任务(可选完成)

📸 3. 操作步骤

操作记录

按以下顺序记录操作过程:

  1. 工具调用方式:如何调用工具(命令、界面、快捷键等)
  2. 输入内容:输入的提示词、代码片段、需求描述等
  3. 生成结果:工具生成的原始结果(代码、文档等)
  4. 人工调整:对生成结果的人工修改
    • 修改点:具体修改了什么
    • 修改原因:为什么需要修改

截图要求

记录关键操作截图:

  • 工具调用界面
  • 输入内容界面
  • 生成结果界面
  • 最终结果界面

📊 4. 结果输出

结果文件

每个测试任务必须包含:

原始生成结果

  • 工具生成的未修改原始代码/文档
  • 保存为文件(如 task1-original.py

最终可用结果

  • 人工修改后的可用代码/文档
  • 标注修改点和修改原因(注释或单独文档)

指标数据

记录以下量化指标(详见 metrics/

效率指标

  • 开发耗时:从需求输入到完成可用代码的时间(分钟)
  • 交互次数:需要多少次人工调整才能生成可用代码

质量指标

  • 代码正确率:无需修改/少量修改(<10行/大量修改(>10行/无法使用
  • 测试通过率:生成代码的单元测试通过率(%
  • 可读性评分按行业规范打分1-5分

易用性指标

  • 学习曲线:从安装到上手完成任务的操作步骤数
  • 上手难度主观评分1-5分1=非常容易5=非常困难)

适配性指标

  • 语言/框架兼容性:是否支持目标技术栈,有无功能缺失
  • 平台兼容性支持的操作系统和IDE

优缺点分析

基于实测的客观评价:

  • 优点:实际使用中表现好的方面
  • 缺点:实际使用中遇到的问题和限制
  • 适用场景:工具最适合的使用场景
  • 不适用场景:工具不适合的使用场景

📐 测试环境要求

所有测试必须在统一的环境下进行,详见 environment/

IDE配置

  • VS Code:固定版本(如 1.85.0
  • 插件版本:记录各插件版本号

编程语言/框架

  • Python3.10+
  • JavaScriptNode.js 18.17.0+
  • React18.x
  • FastAPI0.103.1+
  • Java17+
  • Spring Boot3.x

操作系统

  • macOS 14.0+
  • Windows 11
  • LinuxUbuntu 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/