Claude code生成测试用例、测试报告

AI 测试数据管理平台

🧪 AI 测试数据管理平台

声明: 本项目为 NQX 个人简历作品演示项目,用于展示本人在 AI 辅助测试方向的实践能力,其中项目内容仅用于演示,请勿传播。

概述

这是一个基于 AI 辅助的测试数据管理平台,帮助测试团队完成从 资料扫描 → 需求分析 → 测试设计 → 用例管理 → 报告生成 的全流程测试工作。

核心功能通过 Claude AI 对话交互 + Web 管理页面可视化操作完成。

📋 目录结构

项目根目录/
├── input/                        # 📂 放入项目原始资料
│   ├── requirement/              #   需求文档(Word/PDF/Markdown)
│   ├── prototype/                #   HTML原型(Axure等)
│   ├── api/                      #   接口文档(Swagger/Postman)
│   ├── database/                 #   数据库设计(SQL/设计文档)
│   └── images/                   #   截图/图片
│
├── workspace/                    # 📂 AI分析过程文件
│   ├── manager.html              #   🌐 管理页面(核心操作界面)
│   ├── report_data.json          #   测试报告数据
│   ├── scan_result.json          #   资料扫描结果(执行/scan后生成)
│   ├── requirement_analysis.md   #   需求分析报告(执行/analyze后生成)
│   ├── test_point.json           #   测试点数据(执行/testpoint后生成)
│   ├── testcase.json             #   测试用例数据(执行/testcase后生成)
│   └── document_summary.md       #   扫描摘要
│
├── template/                     # 📂 输出模板
│   ├── testcase.xlsx             #   测试用例Excel模板
│   └── testreport.docx           #   测试报告Word模板
│
├── scripts/                      # 📂 工具脚本
│   ├── export_testcase.py        #   导出测试用例→Excel
│   ├── export_report.py          #   导出测试报告→Word(只填表格,段落写死)
│   └── start_manager.py          #   一键启动管理页面
│
├── server/                       # 📂 管理页面后端服务
│   ├── server.js                 #   Node.js 服务(端口3456)
│   └── package.json              #   依赖配置
│
├── prompts/                      # 📂 AI提示词(Claude执行各阶段用)
│   ├── 00_document_scan.md       #   资料扫描
│   ├── 01_requirement_analysis.md#   需求分析
│   ├── 02_test_point.md          #   测试点设计
│   ├── 03_test_case.md           #   测试用例生成(AI智能分析)
│   ├── 06_start_manager.md       #   启动管理页面
│   └── 99_master.md              #   主流程文档
│
├── .claude/                      # 📂 Claude配置
│   ├── CLAUDE.md                 #   项目规则
│   ├── settings.local.json       #   权限设置
│   └── commands/                 #   Claude命令定义
│       ├── scan.md / analyze.md / testpoint.md / testcase.md
│       └── manager.md
│
├── knowledge/                    # 📂 测试标准知识库
│   ├── testing_standard.md       #   测试设计标准
│   ├── testcase_standard.md      #   用例编写标准
│   ├── report_standard.md        #   报告标准
│   └── ...
│
├── output/                       # 📂 最终输出文件
│   ├── testcase/                 #   测试用例Excel
│   └── report/                   #   测试报告Word
│
└── README.md                     # 📖 本操作说明

🔧 环境要求

必需软件

软件 版本要求 用途 下载地址
Node.js ≥ 14.x 运行管理页面后端服务 https://nodejs.org/
Python ≥ 3.8 运行导出脚本 https://www.python.org/
Claude Code 最新版 AI对话交互,执行各阶段命令 通过Anthropic CLI安装

Python 依赖

安装以下 Python 库:

pip install python-docx openpyxl

Node.js 依赖

进入 server/ 目录执行:

cd server
npm install

会自动安装 express 和 cors 依赖。

🚀 快速开始

第一步:准备项目资料

将项目资料放入 input/ 目录:

input/
├── requirement/      → 需求文档(.docx/.pdf/.md)
├── prototype/        → HTML原型
├── api/              → 接口文档
├── database/         → 数据库设计
└── images/           → 截图
💡 至少需要一种资料(需求文档或HTML原型),否则无法进行分析。

第二步:启动 Claude 并执行流程

在项目根目录启动 Claude Code,依次执行以下命令:

# 1. 扫描资料
/scan

# 2. 需求分析
/analyze

# 3. 生成测试点
/testpoint

# 4. 启动管理页面
/manager

执行 /manager 后,系统会自动:

  1. 检查 Node.js 环境
  2. 安装依赖
  3. 启动服务(端口 3456)
  4. 在浏览器打开管理页面

第三步:在管理页面中操作

打开浏览器访问 http://localhost:3456/manager.html

页面包含 5 个 Tab:

Tab 功能
📊 需求总览 查看项目模块统计概览
📄 需求分析文档 查看完整需求分析报告
🎯 测试点管理 审核/新增/编辑/删除/拖拽排序测试点,自动保存
📝 测试用例管理 生成/编辑/删除/拖拽排序测试用例,设置执行结果
📋 测试报告 编辑报告数据,生成Word报告

第四步:生成测试用例

在管理页面中审核完测试点后,回到 Claude 对话框输入:

/testcase

AI 会根据需求分析文档和测试点,智能生成详细的测试步骤和预期结果。

第五步:导出和报告

在管理页面的“测试用例管理”Tab 中:

  1. 设置用例执行结果(是否通过/执行状态/备注)
  2. 点击 📊 同步执行结果到测试报告(弹窗选择轮次)
  3. 点击 📊 导出Excel → 生成 output/testcase/项目名_V1.0测试用例.xlsx

在“测试报告”Tab 中:

  1. 编辑测试进度、需求覆盖、用例执行、BUG统计等数据
  2. 编辑风险分析与评价(自动保存)
  3. 点击 📄 生成Word报告 → 生成 output/report/项目名_V1.0测试报告.docx

🌐 管理页面详解

页面布局

┌──────────────────────────────────────────────┐
│  📋 项目名称 · 测试数据管理平台              │  ← 蓝色顶栏(固定)
├──────────────────────────────────────────────┤
│  📊需求总览 │ 📄需求分析 │ 🎯测试点 │ 📝用例 │ 📋报告 │  ← 导航栏(固定)
├──────────────────────────────────────────────┤
│                                              │
│              内容区域(可滚动)               │
│                                              │
└──────────────────────────────────────────────┘

功能说明

🎯 测试点管理

  • 新增:点击“新增测试点”按钮,填写模块/子模块/类型/优先级/描述
  • 编辑:点击行尾 ✏️ 按钮
  • 删除:点击行尾 🗑️ 按钮,或勾选后批量删除
  • 搜索:按关键字搜索
  • 筛选:按模块/类型/优先级筛选
  • 排序:拖拽 ⠿ 手柄调整顺序,自动保存

📝 测试用例管理

  • 生成:在 Claude 中输入 /testcase 由 AI 生成
  • 编辑:点击行尾 ✏️ 按钮,可编辑步骤和预期结果
  • 执行结果:直接下拉选择“是否通过”和“执行状态”,输入备注
  • 排序:拖拽 ⠿ 手柄调整顺序,自动保存
  • 同步:点击“同步执行结果到测试报告”,弹窗选择轮次
  • 清除:点击“一键清除执行结果”,清空所有 result/status/remark
  • 导出:点击“导出Excel”

📋 测试报告

  • 表格数据直接编辑,失焦自动保存
  • 风险分析与评价文本域,修改后自动保存
  • 点击“生成Word报告”按钮

字段说明

测试用例包含以下字段:

字段 说明 填写方式
编号 TC0001 自动生成 自动
模块 所属模块 手动输入
子模块 所属子模块 手动输入
测试类型 功能测试/UI测试/边界测试等 下拉选择
优先级 P0/P1/P2 下拉选择
标题 用例标题 手动输入
前置条件 测试前置条件 手动输入
测试步骤 具体操作步骤 逐条编辑
预期结果 每步的预期结果 逐条编辑
是否通过 通过/不通过/- 下拉选择,实时保存
执行状态 已执行/未执行/- 下拉选择,实时保存
备注 备注信息 输入框,实时保存

📤 输出文件

测试用例 Excel

  • 模板:template/testcase.xlsx
  • 输出:output/testcase/项目名_V1.0测试用例.xlsx
  • 列:编号、模块、子模块、测试类型、优先级、标题、前置条件、测试步骤、预期结果、是否通过、执行状态、备注

测试报告 Word

  • 模板:template/testreport.docx
  • 输出:output/report/项目名_V1.0测试报告.docx
  • 表格填充:测试进度、需求覆盖、用例执行、BUG统计
  • 段落替换:风险分析、BUG清单、质量评价、部署建议、操作规避建议
  • 段落保留:项目编号、项目名称、公司、日期、编写目的、版本说明等(模板原文写死)

🔄 换项目流程

方法一:复制项目文件夹

直接将本文件夹复制一份,重命名为新项目名:

# 复制整个项目
cp -r 标准项目模板/ 新项目名称/

# 进入新项目目录
cd 新项目名称/

# 删除旧的workspace数据(保留manager.html和report_data.json)
rm -f workspace/scan_result.json
rm -f workspace/requirement_analysis.md
rm -f workspace/test_point.json
rm -f workspace/testcase.json
rm -f workspace/document_summary.md

# 清空output
rm -rf output/testcase/* output/report/*

# 放入新项目资料到 input/ 目录

然后在 Claude 中执行:

/scan
/analyze
/testpoint
/manager

方法二:使用初始化脚本

直接复制整个文件夹重命名即可,详见上方「方法一」

🛠 常见问题

1. 管理页面打不开

# 检查端口是否被占用
netstat -ano | grep :3456

# 如果被占用,先关掉旧进程再重启
# 或直接重启服务
cd server && node server.js

2. 页面一直加载中

检查浏览器控制台是否有 JS 错误。通常是 Node.js 服务未启动或端口被占用。

3. 导出 Excel 报错

# 确认安装了 openpyxl
pip install openpyxl

# 确认 template/testcase.xlsx 存在

4. 导出 Word 报告报错

# 确认安装了 python-docx
pip install python-docx

# 确认 template/testreport.docx 存在

5. 需要停止服务

按 Ctrl+C 关闭终端,或关闭命令行窗口。

📝 注意事項

  1. 项目名称:从 workspace/scan_result.json 的 projectName 字段读取,执行 /scan 后自动生成
  2. 自动保存:管理页面中的所有修改都会自动保存到 workspace 下的 JSON 文件,无需手动点击保存
  3. 服务重启:关闭终端后服务会停止,重新运行 cd server && node server.js 或执行 /manager
  4. 模板文件:template/testreport.docx 是标准模板,段落内容写死,仅表格数据被替换
  5. Claude 命令:所有命令需在 Claude Code 对话中执行,不要在命令行直接输入

📊 数据流程

资料(input/)
    │
    ▼ /scan
scan_result.json
    │
    ▼ /analyze
requirement_analysis.md
    │
    ▼ /testpoint
test_point.json
    │
    ├─── /manager ───→ 管理页面(可视化编辑)
    │                      │
    │                      ├── 🎯 测试点管理(审核/补充)
    │                      │
    │                      ▼ /testcase(AI生成)
    │                      │
    │                      ├── 📝 测试用例管理(编辑/执行)
    │                      │      ├── 📊 同步执行结果到报告
    │                      │      └── 📊 导出Excel
    │                      │
    │                      └── 📋 测试报告
    │                             └── 📄 生成Word报告
    │
    └─── /testcase ───→ testcase.json ──→ Excel导出
                              │
                              └─── /report ──→ Word报告