# PRD：测试验收与反馈闭环工具

## 1. 产品背景

目标岗位要求产品经理实习生能参与测试用例设计、功能验收、问题跟踪、反馈收集和产品迭代。本作品用于模拟上线前后的验收协作流程，展示产品经理如何推动问题闭环。

## 2. 产品目标

- 将验收清单、反馈池和统计指标放在同一页面。
- 支持勾选验收项并回写后端状态。
- 支持新增反馈并刷新反馈池与统计数据。

## 3. 目标用户

- 产品经理：管理验收标准和迭代优先级。
- 测试同学：记录功能是否通过验收。
- 运营 / 客户成功：提交上线后的使用反馈。

## 4. 核心场景

某个数据产品功能准备上线，产品经理需要确认筛选联动、风险排序、空状态、导出失败重试、版本发布说明等功能是否完成，同时收集运营、测试和客户成功反馈。

## 5. 功能需求

### 5.1 验收统计

- 展示验收完成数量、待跟进问题、本轮反馈数量。
- 统计数据随验收勾选和新增反馈变化。

### 5.2 功能验收清单

- 展示功能验收项。
- 支持新增、查看、编辑、删除验收项。
- 支持勾选完成状态。
- 新增调用 POST 接口，编辑和勾选调用 PATCH 接口，删除调用 DELETE 接口。

### 5.3 反馈与迭代池

- 展示反馈标题、产品判断和处理状态。
- 支持新增反馈。
- 新增反馈提交后刷新反馈池和统计数据。

### 5.4 状态分级

- 支持 P0 / 本轮修复。
- 支持 P1 / 下一版。
- 支持文档补充。

## 6. Axure 原型设计说明

- 页面结构：顶部统计卡、左侧验收清单、右侧反馈与迭代池。
- 交互 1：勾选验收项后更新完成数量和待跟进问题。
- 交互 2：新增反馈后刷新反馈池和反馈统计。
- 原型重点：让测试、产品、运营可以围绕同一套状态口径协作。

## 7. 数据与接口

### GET /api/acceptance

返回验收统计、验收清单和反馈池。

### PATCH /api/acceptance/check

更新验收项内容或完成状态。

请求字段：

- id：验收项 ID
- done：是否完成
- text：验收项内容，可选

### POST /api/acceptance/check

新增验收项。

请求字段：

- text：验收项内容
- done：是否完成，可选

### DELETE /api/acceptance/check

删除验收项。

请求字段：

- id：验收项 ID

### POST /api/acceptance/feedback

新增反馈。

请求字段：

- title：反馈标题
- note：产品判断
- status：处理状态

## 8. 验收标准

- 页面打开后可以从后端加载验收数据。
- 新增、编辑、删除、勾选验收项后，验收完成数量和测试报告同步变化。
- 新增反馈后，反馈池新增记录，待跟进问题和本轮反馈数量同步变化。
- 接口不可用时页面仍能展示静态 fallback 内容。
- 移动端下统计卡、清单、反馈池纵向排列。

## 9. 测试与部署

- 本地 Node 服务端口：4173。
- 主要测试：GET 数据加载、PATCH 勾选状态、POST 新增反馈、统计同步。
- 部署方式：本地静态页面 + Node HTTP API，无需构建工具。

## 10. 可用性增强版本

### 10.1 关键任务流

1. 产品经理查看本轮验收完成度。
2. 测试同学勾选通过项并记录失败项。
3. 运营或客户成功新增上线反馈。
4. 产品经理按严重程度和处理状态筛选问题。
5. 根据阻塞项数量判断是否可以发布。

### 10.2 新增页面能力

- 问题筛选：按全部、阻塞项、文档补充、下一版筛选反馈。
- 发布决策：根据未完成 P0 项和反馈状态生成“可发布 / 暂缓发布”判断。
- 测试报告：自动汇总通过项、未完成项、反馈数量和下一步动作。
- 失败原因记录：未完成验收项应能看到对应的处理建议。

### 10.3 字段规则

- check.id：验收项唯一标识。
- check.text：验收项内容。
- check.done：是否通过。
- feedback.status：P0 / 本轮修复、P1 / 下一版、文档补充。
- releaseDecision：由未完成验收项和 P0 反馈数量计算。

### 10.4 增强验收标准

- 新增、编辑、删除、勾选验收项后，发布决策和测试报告同步更新。
- 新增 P0 反馈后，发布决策必须变为暂缓发布。
- 筛选反馈时，统计卡不应丢失全局数据。
