需求文档skill回溯专家博弈之前

This commit is contained in:
闫旭隆
2025-12-11 14:19:36 +08:00
parent 5f329d7b4c
commit f4314c3ede
117 changed files with 28969 additions and 3325 deletions

View File

@ -0,0 +1,325 @@
---
type: testing
keywords: [测试, 验证, 检验, test, 质量保证, qa, 单元测试, 集成测试, 性能测试, 自动化测试]
priority: medium
---
# 测试项目配置
本配置用于各类测试项目,包括功能测试、性能测试、安全测试等。
## 模板路径
templates/testing_template.md
## 核心问题配置
### 问题 1测试对象
```yaml
question: "需要测试哪个功能或系统?"
type: "text"
prompt: "请描述测试对象,包括功能名称、版本等"
```
---
### 问题 2测试类型
```yaml
question: "主要测试什么方面?(可多选,或在'其他'中详细描述;需要帮助请输入'需要帮助'"
options:
- label: "功能是否正常工作"
description: "验证功能符合预期"
- label: "系统性能和速度"
description: "检查响应时间、承载能力"
- label: "安全性和数据保护"
description: "检查是否有安全漏洞"
- label: "多个功能协同工作"
description: "验证各模块集成后的表现"
multiSelect: true
```
---
### 问题 3测试范围
```yaml
question: "需要测试哪些具体场景?"
type: "text"
prompt: |
请列出关键的测试场景,比如:
- 用户登录
- 创建订单
- 查询历史记录
- 边界情况(极端输入)
- 异常情况(网络中断、数据错误等)
```
---
### 问题 4测试数据
```yaml
question: "测试时需要使用什么数据?(或在'其他'中描述;需要帮助请输入'需要帮助'"
options:
- label: "使用真实数据"
description: "从生产环境或实际业务获取"
- label: "使用模拟数据"
description: "自己构造测试数据"
- label: "两者都需要"
description: "生产数据 + 模拟数据"
```
---
### 问题 5测试方式
```yaml
question: "测试是手动进行还是自动化?(或在'其他'中描述;需要帮助请输入'需要帮助'"
options:
- label: "手动测试就够了"
description: "人工操作和检查"
- label: "希望自动化执行"
description: "写脚本自动运行测试"
- label: "部分自动化,部分手动"
description: "混合模式"
```
---
### 问题 6性能指标如涉及性能测试
```yaml
question: "如果测试性能,什么样的表现算合格?"
type: "text"
prompt: |
比如:
- "页面加载时间不超过 2 秒"
- "支持 100 人同时使用不卡顿"
- "处理 10000 条数据在 1 分钟内完成"
```
---
### 问题 7验收标准
```yaml
question: "怎样才算测试通过?"
type: "text"
prompt: |
请列出具体的通过标准,比如:
- "所有核心功能无报错"
- "性能指标达标"
- "安全扫描无高危漏洞"
- "覆盖率达到 80%"
```
---
### 问题 8测试环境
```yaml
question: "在什么环境下进行测试?(或在'其他'中描述;需要帮助请输入'需要帮助'"
options:
- label: "开发环境(自己电脑)"
description: "本地开发环境"
- label: "专门的测试环境"
description: "独立测试环境"
- label: "接近真实的生产环境"
description: "预生产环境"
```
---
## 通用映射规则
```yaml
# 测试类型 → 测试策略
test_type_mapping:
"功能测试":
approach: "测试用例设计"
tools: ["手动测试", "Selenium", "Cypress", "Playwright"]
metrics: ["功能覆盖率", "缺陷密度"]
"性能测试":
approach: "压力测试 + 监控"
tools: ["JMeter", "Locust", "k6"]
metrics: ["响应时间", "吞吐量", "资源占用"]
"安全测试":
approach: "漏洞扫描 + 渗透测试"
tools: ["OWASP ZAP", "Burp Suite", "SonarQube"]
metrics: ["漏洞数量", "安全评级"]
"集成测试":
approach: "接口测试 + 数据验证"
tools: ["Postman", "pytest", "Jest"]
metrics: ["接口覆盖率", "数据一致性"]
# 自动化程度 → 实现方式
automation_mapping:
"手动测试":
tools: "测试用例文档"
efficiency: "low"
cost: "人力成本高"
"自动化测试":
tools: "测试框架 + CI/CD"
efficiency: "high"
cost: "初期投入高,长期收益大"
"混合模式":
tools: "自动化框架 + 手动补充"
efficiency: "medium"
best_for: "核心流程自动化,边界场景手动"
# 测试环境 → 准备工作
environment_mapping:
"本地开发环境":
setup: "最简单"
reality: "与生产差异大"
suitable_for: "单元测试、快速验证"
"独立测试环境":
setup: "中等复杂度"
reality: "接近生产"
suitable_for: "集成测试、功能测试"
"预生产环境":
setup: "复杂"
reality: "几乎等同生产"
suitable_for: "性能测试、上线前验证"
```
## 文档结构建议
```markdown
# {功能/系统名称}测试 - 需求文档
## 1. 测试概述
- 测试对象
- 测试背景
- 测试目标
## 2. 测试类型与范围
- 测试类型(功能/性能/安全/集成等)
- 测试范围(包含和排除的部分)
- 测试深度
## 3. 测试场景
- 正常场景
- 异常场景
- 边界场景
- 用户故事/测试用例
## 4. 测试数据
- 数据来源
- 数据量级
- 数据准备方式
- 隐私保护要求
## 5. 测试环境
- 环境配置
- 依赖服务
- 测试工具
## 6. 测试方式
- 自动化策略
- 测试框架和工具
- CI/CD 集成
## 7. 性能指标(如适用)
- 响应时间要求
- 吞吐量要求
- 并发要求
- 资源限制
## 8. 验收标准
- 通过标准
- 覆盖率要求
- 缺陷标准
- 性能基线
## 9. 测试计划
- 测试阶段
- 时间安排
- 人员分工
## 10. 交付物
- 测试报告
- 测试用例
- 自动化脚本
- 缺陷列表
```
## 特殊场景处理
### 性能测试项目
额外关注:
- 性能基线建立
- 压力测试策略(阶梯式/持续/峰值)
- 瓶颈分析工具
- 监控和报警
### 安全测试项目
额外关注:
- OWASP Top 10
- 常见漏洞类型
- 合规要求等保、PCI-DSS 等)
- 渗透测试授权
### 自动化测试项目
额外关注:
- 测试框架选择
- 测试代码架构
- CI/CD 集成
- 维护成本
### 兼容性测试项目
额外关注:
- 浏览器/设备矩阵
- 操作系统版本
- 第三方依赖版本
- 向后兼容性
## 选项设计规范
### 互斥性原则
**单选问题**multiSelect: false
- ✅ 选项应完全互斥,无重叠
- ✅ 边界清晰,用户能明确判断属于哪一个
- ❌ 避免数量范围重叠(如"1-10人"和"5-20人"
- ❌ 避免概念包含关系
**多选问题**multiSelect: true
- ✅ 选项可从不同角度切分,允许合理组合
- ✅ 每个选项应代表独立的需求维度
- ❌ 避免选项之间有逻辑依赖
### 维度统一原则
同一问题的所有选项应属于同一分类维度。
**错误示例**(维度混乱):
```yaml
question: "用户如何使用这个工具?"
options:
- 输入问题主动调用 # 维度:触发方式
- 命令行/编程接口 # 维度:交互界面
- Web界面 # 维度:交互界面
multiSelect: false
```
**正确做法**:拆分为两个问题,或统一到同一维度
### 边界清晰原则
**数量范围**:避免重叠,如"个人使用1-5人"、"小团队6-50人"
**概念分类**:确保平级,避免包含关系
### 完备性检查
- 2-4个选项应覆盖**80%的常见场景**
- 长尾场景通过"其他"覆盖
- 当不确定时,优先设计偏通用的选项+依赖"其他"