ethan-skill 1.15.3 → 1.15.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -5
- package/dist/agents/orchestrator.test.js +13 -12
- package/dist/agents/orchestrator.test.js.map +1 -1
- package/dist/agents/presets.d.ts.map +1 -1
- package/dist/agents/presets.js +57 -0
- package/dist/agents/presets.js.map +1 -1
- package/dist/skills/39-competitive-analysis.d.ts +3 -0
- package/dist/skills/39-competitive-analysis.d.ts.map +1 -0
- package/dist/skills/39-competitive-analysis.js +187 -0
- package/dist/skills/39-competitive-analysis.js.map +1 -0
- package/dist/skills/40-solution-proposal.d.ts +3 -0
- package/dist/skills/40-solution-proposal.d.ts.map +1 -0
- package/dist/skills/40-solution-proposal.js +196 -0
- package/dist/skills/40-solution-proposal.js.map +1 -0
- package/dist/skills/41-test-plan.d.ts +3 -0
- package/dist/skills/41-test-plan.d.ts.map +1 -0
- package/dist/skills/41-test-plan.js +255 -0
- package/dist/skills/41-test-plan.js.map +1 -0
- package/dist/skills/42-bug-report.d.ts +3 -0
- package/dist/skills/42-bug-report.d.ts.map +1 -0
- package/dist/skills/42-bug-report.js +224 -0
- package/dist/skills/42-bug-report.js.map +1 -0
- package/dist/skills/43-ops-runbook.d.ts +3 -0
- package/dist/skills/43-ops-runbook.d.ts.map +1 -0
- package/dist/skills/43-ops-runbook.js +282 -0
- package/dist/skills/43-ops-runbook.js.map +1 -0
- package/dist/skills/index.d.ts +5 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +21 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/pipeline.d.ts.map +1 -1
- package/dist/skills/pipeline.js +46 -0
- package/dist/skills/pipeline.js.map +1 -1
- package/dist/skills/skills.test.js +3 -3
- package/dist/skills/skills.test.js.map +1 -1
- package/package.json +1 -1
- package/rules/claude-code/CLAUDE.md +1034 -3
- package/rules/cline/.clinerules +958 -2
- package/rules/codebuddy/CODEBUDDY.md +1008 -2
- package/rules/continue/.continuerules +958 -2
- package/rules/copilot/copilot-instructions.md +993 -2
- package/rules/cursor/.cursorrules +1028 -2
- package/rules/cursor/smart-flow.mdc +1028 -2
- package/rules/jetbrains/smart-flow.md +993 -2
- package/rules/lingma/smart-flow.md +1004 -3
- package/rules/windsurf/.windsurf/rules/smart-flow.md +994 -3
- package/rules/zed/smart-flow.rules +952 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.solutionProposalSkill = void 0;
|
|
4
|
+
exports.solutionProposalSkill = {
|
|
5
|
+
id: 'solution-proposal',
|
|
6
|
+
name: '售前方案',
|
|
7
|
+
nameEn: 'solution_proposal',
|
|
8
|
+
order: 40,
|
|
9
|
+
category: '需求侧',
|
|
10
|
+
description: '根据客户需求制定针对性技术/商业解决方案文档,涵盖需求映射、方案架构、ROI 测算与实施路径',
|
|
11
|
+
descriptionEn: 'Create targeted technical/commercial solution proposals mapping customer needs to capabilities with ROI and implementation roadmap',
|
|
12
|
+
detailDescription: `售前方案是赢单的核心武器,也是客户评估我方专业度的主要依据。
|
|
13
|
+
本 Skill 帮助售前和解决方案工程师(SA)快速产出高质量的方案文档:
|
|
14
|
+
从需求痛点到解决架构,从价值量化到实施路径,让客户看到"我们真正理解他们的问题"。`,
|
|
15
|
+
triggers: [
|
|
16
|
+
'售前方案',
|
|
17
|
+
'方案建议书',
|
|
18
|
+
'solution proposal',
|
|
19
|
+
'方案制作',
|
|
20
|
+
'客户方案',
|
|
21
|
+
'技术方案',
|
|
22
|
+
'RFP 响应',
|
|
23
|
+
'投标方案',
|
|
24
|
+
'解决方案',
|
|
25
|
+
'商务方案',
|
|
26
|
+
'@ethan 售前',
|
|
27
|
+
'@ethan solution-proposal',
|
|
28
|
+
'/solution-proposal',
|
|
29
|
+
],
|
|
30
|
+
steps: [
|
|
31
|
+
{
|
|
32
|
+
title: '1. 需求痛点梳理',
|
|
33
|
+
content: `在写方案之前,彻底理解客户的真实诉求:
|
|
34
|
+
|
|
35
|
+
**需求层次分析(冰山模型)**
|
|
36
|
+
\`\`\`
|
|
37
|
+
表层需求(客户说的): "我们需要一个工单系统"
|
|
38
|
+
深层需求(客户想的): "我们希望客诉处理更规范、更快"
|
|
39
|
+
根本需求(客户要的): "我们希望客户满意度提升,减少流失"
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
**痛点信息收集清单**
|
|
43
|
+
- [ ] 客户现有方案是什么?核心不满是什么?
|
|
44
|
+
- [ ] 本次采购的直接触发事件是什么?(合同到期 / 业务扩张 / 监管要求)
|
|
45
|
+
- [ ] 决策链:谁主导 / 谁审批 / 谁使用(不同角色关注点不同)
|
|
46
|
+
- [ ] 预算范围和采购时间窗口
|
|
47
|
+
- [ ] 已知的技术约束(现有系统、数据合规、部署要求)
|
|
48
|
+
- [ ] 评估标准:客户最看重什么(功能 / 价格 / 服务 / 品牌)
|
|
49
|
+
|
|
50
|
+
**关键痛点排序**(方案要优先回应前3个)
|
|
51
|
+
\`\`\`
|
|
52
|
+
P0(不解决就不买):
|
|
53
|
+
P1(解决了加分很多):
|
|
54
|
+
P2(有更好,没有也行):
|
|
55
|
+
\`\`\``,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: '2. 方案架构设计',
|
|
59
|
+
content: `将客户需求映射到解决方案:
|
|
60
|
+
|
|
61
|
+
**需求-能力映射表**
|
|
62
|
+
|
|
63
|
+
| 客户痛点 | 我方解决方案 | 核心功能/模块 | 差异化亮点 |
|
|
64
|
+
|---------|------------|-------------|----------|
|
|
65
|
+
| [痛点1] | [解决思路] | [具体功能] | [为什么选我] |
|
|
66
|
+
| [痛点2] | [解决思路] | [具体功能] | [为什么选我] |
|
|
67
|
+
|
|
68
|
+
**解决方案架构图**
|
|
69
|
+
|
|
70
|
+
用 Mermaid 或 ASCII 图描述方案整体架构:
|
|
71
|
+
\`\`\`mermaid
|
|
72
|
+
graph TB
|
|
73
|
+
subgraph 客户侧
|
|
74
|
+
A[业务系统] --> B[集成层/API]
|
|
75
|
+
end
|
|
76
|
+
subgraph 我方平台
|
|
77
|
+
B --> C[核心功能模块]
|
|
78
|
+
C --> D[数据层]
|
|
79
|
+
C --> E[分析层]
|
|
80
|
+
end
|
|
81
|
+
E --> F[报表/大屏]
|
|
82
|
+
\`\`\`
|
|
83
|
+
|
|
84
|
+
**分阶段交付建议**
|
|
85
|
+
|
|
86
|
+
| 阶段 | 交付内容 | 时间 | 价值 |
|
|
87
|
+
|------|---------|------|------|
|
|
88
|
+
| 阶段一(MVP) | [核心功能,快速见效] | X周 | [快速见到ROI] |
|
|
89
|
+
| 阶段二(深化) | [更多功能,深度集成] | X周 | [扩大收益] |
|
|
90
|
+
| 阶段三(扩展) | [进阶能力] | X周 | [长期价值] |`,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
title: '3. ROI 测算与价值量化',
|
|
94
|
+
content: `用数字说话,让客户看到投资回报:
|
|
95
|
+
|
|
96
|
+
**价值量化框架(优先选有数据支撑的)**
|
|
97
|
+
|
|
98
|
+
| 价值维度 | 计算逻辑 | 估算数据 | 年化收益 |
|
|
99
|
+
|---------|---------|---------|---------|
|
|
100
|
+
| 效率提升 | 节省人工 X 小时/天 × 人力成本 | X人 × 2h/天 | ¥XXX/年 |
|
|
101
|
+
| 错误减少 | 降低 X% 故障率 × 故障损失 | 年均X次故障 | ¥XXX/年 |
|
|
102
|
+
| 合规价值 | 避免合规罚款/审计成本 | 潜在罚款 XXX | ¥XXX/年 |
|
|
103
|
+
| 收入增长 | 支撑新业务 X% 增长 | 业务收入 XXX | ¥XXX/年 |
|
|
104
|
+
|
|
105
|
+
**ROI 汇总**
|
|
106
|
+
\`\`\`
|
|
107
|
+
总投资(TCO):¥XXX(含实施+年费)
|
|
108
|
+
年化收益:¥XXX
|
|
109
|
+
投资回收期:X 个月
|
|
110
|
+
3年ROI:X%
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
> 注:ROI 数据应基于客户自身业务规模估算,并注明假设前提。
|
|
114
|
+
> 过于激进的ROI数字会损害可信度,保守估算更有说服力。
|
|
115
|
+
|
|
116
|
+
**成功案例支撑**
|
|
117
|
+
列举 1-2 个类似规模/行业客户的真实数据:
|
|
118
|
+
> "[类似客户] 上线 X 个月后,[具体指标] 提升了 X%"`,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
title: '4. 实施路径与保障',
|
|
122
|
+
content: `让客户相信"我们能做到":
|
|
123
|
+
|
|
124
|
+
**实施方法论**
|
|
125
|
+
\`\`\`
|
|
126
|
+
标准实施流程(X周):
|
|
127
|
+
Week 1-2:需求确认 & 环境准备
|
|
128
|
+
Week 3-4:核心功能部署 & 数据迁移
|
|
129
|
+
Week 5-6:集成联调 & 用户培训
|
|
130
|
+
Week 7:UAT 验收 & 上线切换
|
|
131
|
+
Week 8+:运营支持 & 持续优化
|
|
132
|
+
\`\`\`
|
|
133
|
+
|
|
134
|
+
**风险与应对**
|
|
135
|
+
|
|
136
|
+
| 风险 | 概率 | 影响 | 应对措施 |
|
|
137
|
+
|------|------|------|---------|
|
|
138
|
+
| 数据迁移复杂 | 中 | 高 | 提前数据质量评估 + 并行迁移方案 |
|
|
139
|
+
| 现有系统集成 | 高 | 中 | 提供标准 API + 专属集成支持 |
|
|
140
|
+
| 用户接受度 | 中 | 中 | 分批上线 + 专项培训计划 |
|
|
141
|
+
|
|
142
|
+
**服务保障承诺**
|
|
143
|
+
- SLA 承诺:系统可用性 XX%,响应时间 < X小时
|
|
144
|
+
- 实施团队:X 名工程师 + X 名项目经理
|
|
145
|
+
- 售后支持:7×24 紧急响应 / 5×8 日常支持
|
|
146
|
+
- 培训方案:在线培训 + 现场培训 + 操作手册`,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
title: '5. 输出方案文档',
|
|
150
|
+
content: `按受众定制方案版本:
|
|
151
|
+
|
|
152
|
+
**完整技术方案(给技术决策者)**
|
|
153
|
+
\`\`\`markdown
|
|
154
|
+
# [客户名称] [场景名称] 解决方案建议书
|
|
155
|
+
|
|
156
|
+
## 执行摘要(1页,给C-level看)
|
|
157
|
+
[核心问题 + 解决方案 + 预期价值 = 3句话]
|
|
158
|
+
|
|
159
|
+
## 需求理解
|
|
160
|
+
[对客户痛点的理解——体现我们"懂客户"]
|
|
161
|
+
|
|
162
|
+
## 解决方案
|
|
163
|
+
[方案架构图 + 功能说明 + 与竞品差异化]
|
|
164
|
+
|
|
165
|
+
## 分阶段实施路径
|
|
166
|
+
[阶段划分 + 时间线 + 里程碑]
|
|
167
|
+
|
|
168
|
+
## 投资回报分析
|
|
169
|
+
[ROI 测算表]
|
|
170
|
+
|
|
171
|
+
## 实施保障
|
|
172
|
+
[团队 + 方法论 + 服务承诺]
|
|
173
|
+
|
|
174
|
+
## 关于我们
|
|
175
|
+
[公司/产品核心优势 + 典型案例]
|
|
176
|
+
\`\`\`
|
|
177
|
+
|
|
178
|
+
**精简演示版(PPT提纲,给汇报用)**
|
|
179
|
+
1. 我们理解你的挑战(痛点共鸣)
|
|
180
|
+
2. 我们的解决思路(架构图)
|
|
181
|
+
3. 你将获得的价值(ROI)
|
|
182
|
+
4. 我们的实施计划(时间线)
|
|
183
|
+
5. 为什么是我们(差异化 + 案例)
|
|
184
|
+
6. 下一步(明确行动项)`,
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
outputFormat: 'Markdown 方案建议书:需求映射 + 方案架构图 + ROI 测算表 + 实施路径 + 演示提纲',
|
|
188
|
+
notes: [
|
|
189
|
+
'方案要"以客户为中心",每一页都要回答"对客户有什么价值"',
|
|
190
|
+
'ROI 数据宁可保守也不要夸大,一旦客户觉得不可信,整个方案可信度崩塌',
|
|
191
|
+
'技术方案和商务方案分开,给不同受众看不同版本',
|
|
192
|
+
'方案中必须有对竞品的隐性应对(不要主动贬低竞品,但要预设回答)',
|
|
193
|
+
],
|
|
194
|
+
nextSkill: 'prd',
|
|
195
|
+
};
|
|
196
|
+
//# sourceMappingURL=40-solution-proposal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"40-solution-proposal.js","sourceRoot":"","sources":["../../src/skills/40-solution-proposal.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAoB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gDAAgD;IAC7D,aAAa,EAAE,oIAAoI;IACnJ,iBAAiB,EAAE;;0CAEqB;IACxC,QAAQ,EAAE;QACR,MAAM;QACN,OAAO;QACP,mBAAmB;QACnB,MAAM;QACN,MAAM;QACN,MAAM;QACN,QAAQ;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,WAAW;QACX,0BAA0B;QAC1B,oBAAoB;KACrB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBR;SACF;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA+BoB;SAC9B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;kCAwBmB;SAC7B;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;0BAwBW;SACrB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkCD;SACT;KACF;IACD,YAAY,EAAE,qDAAqD;IACnE,KAAK,EAAE;QACL,+BAA+B;QAC/B,qCAAqC;QACrC,wBAAwB;QACxB,iCAAiC;KAClC;IACD,SAAS,EAAE,KAAK;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"41-test-plan.d.ts","sourceRoot":"","sources":["../../src/skills/41-test-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,eA0P3B,CAAC"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testPlanSkill = void 0;
|
|
4
|
+
exports.testPlanSkill = {
|
|
5
|
+
id: 'test-plan',
|
|
6
|
+
name: '测试计划',
|
|
7
|
+
nameEn: 'test_plan',
|
|
8
|
+
order: 41,
|
|
9
|
+
category: '质量侧',
|
|
10
|
+
description: '制定全面的测试策略与计划,覆盖测试范围、用例设计、环境准备和质量门禁,确保产品质量可量化',
|
|
11
|
+
descriptionEn: 'Create comprehensive test strategy and plan covering scope, test case design, environment setup and quality gates',
|
|
12
|
+
detailDescription: `测试计划是质量保障的基石,明确"测什么、怎么测、谁来测、什么时候算通过"。
|
|
13
|
+
本 Skill 帮助测试工程师(QA)和研发团队在迭代启动前制定结构化的测试策略:
|
|
14
|
+
从测试范围界定到用例设计,从环境准备到质量门禁,让测试工作有据可依、有目标可量化。`,
|
|
15
|
+
triggers: [
|
|
16
|
+
'测试计划',
|
|
17
|
+
'测试策略',
|
|
18
|
+
'test plan',
|
|
19
|
+
'测试方案',
|
|
20
|
+
'质量保障',
|
|
21
|
+
'QA 计划',
|
|
22
|
+
'测试用例',
|
|
23
|
+
'测试设计',
|
|
24
|
+
'测试范围',
|
|
25
|
+
'@ethan 测试计划',
|
|
26
|
+
'@ethan test-plan',
|
|
27
|
+
'/test-plan',
|
|
28
|
+
],
|
|
29
|
+
steps: [
|
|
30
|
+
{
|
|
31
|
+
title: '1. 测试范围与目标',
|
|
32
|
+
content: `明确本次迭代的测试边界:
|
|
33
|
+
|
|
34
|
+
**测试目标**
|
|
35
|
+
- 本版本要验证的核心功能/场景
|
|
36
|
+
- 回归范围:哪些已有功能可能受影响?
|
|
37
|
+
- 明确不测的内容(Out of Scope)及原因
|
|
38
|
+
|
|
39
|
+
**风险评估与测试重点**
|
|
40
|
+
\`\`\`
|
|
41
|
+
高风险(必须全面测试):
|
|
42
|
+
- 新增功能 / 核心主流程变更
|
|
43
|
+
- 与外部系统集成点
|
|
44
|
+
- 数据迁移或 Schema 变更
|
|
45
|
+
|
|
46
|
+
中风险(重点测试):
|
|
47
|
+
- 依赖被修改模块的功能
|
|
48
|
+
- 性能敏感路径
|
|
49
|
+
|
|
50
|
+
低风险(冒烟测试即可):
|
|
51
|
+
- UI 样式微调
|
|
52
|
+
- 文案修改
|
|
53
|
+
- 配置项变更
|
|
54
|
+
\`\`\`
|
|
55
|
+
|
|
56
|
+
**测试类型矩阵**
|
|
57
|
+
|
|
58
|
+
| 测试类型 | 是否需要 | 负责人 | 工具 |
|
|
59
|
+
|---------|---------|--------|------|
|
|
60
|
+
| 单元测试 | ✅ | 开发 | Vitest/Jest |
|
|
61
|
+
| 接口测试 | ✅ | QA/开发 | Postman/Newman |
|
|
62
|
+
| 集成测试 | ✅ | QA | Playwright/Cypress |
|
|
63
|
+
| 性能测试 | 视需求 | QA | k6/JMeter |
|
|
64
|
+
| 安全测试 | 视需求 | 安全/QA | OWASP ZAP |
|
|
65
|
+
| 兼容性测试 | ✅ | QA | BrowserStack |`,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
title: '2. 测试用例设计',
|
|
69
|
+
content: `系统化设计测试用例,覆盖正常流、异常流和边界条件:
|
|
70
|
+
|
|
71
|
+
**测试用例设计方法**
|
|
72
|
+
|
|
73
|
+
**等价类划分**
|
|
74
|
+
\`\`\`
|
|
75
|
+
有效等价类(正常输入):
|
|
76
|
+
- 例:年龄字段 → 有效范围 [1, 150]
|
|
77
|
+
|
|
78
|
+
无效等价类(异常输入):
|
|
79
|
+
- 例:年龄字段 → 负数、0、>150、非数字、空值
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
**边界值分析**
|
|
83
|
+
\`\`\`
|
|
84
|
+
对于范围 [min, max],测试:min-1, min, min+1, max-1, max, max+1
|
|
85
|
+
\`\`\`
|
|
86
|
+
|
|
87
|
+
**测试用例模板**
|
|
88
|
+
|
|
89
|
+
| TC编号 | 模块 | 用例标题 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|
|
90
|
+
|--------|------|---------|---------|---------|---------|--------|
|
|
91
|
+
| TC-001 | 登录 | 正确账密登录成功 | 账号已注册 | 1.输入账密 2.点击登录 | 跳转首页 | P0 |
|
|
92
|
+
| TC-002 | 登录 | 错误密码提示友好 | 账号已注册 | 1.输入错误密码 2.点击登录 | 显示"密码错误" | P1 |
|
|
93
|
+
|
|
94
|
+
**测试优先级定义**
|
|
95
|
+
- **P0**:核心主流程,必须在版本发布前全部通过
|
|
96
|
+
- **P1**:重要功能,应在发布前通过
|
|
97
|
+
- **P2**:次要功能,可在下次迭代修复
|
|
98
|
+
- **P3**:体验优化,记录但不阻塞发布
|
|
99
|
+
|
|
100
|
+
**探索性测试 Charter**
|
|
101
|
+
除结构化用例外,为高风险模块安排探索测试:
|
|
102
|
+
\`\`\`
|
|
103
|
+
探索目标:[模块名称]
|
|
104
|
+
时间盒:X 小时
|
|
105
|
+
关注点:[并发操作、网络异常、异常数据输入等]
|
|
106
|
+
记录方式:截图 + 操作日志
|
|
107
|
+
\`\`\``,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: '3. 测试环境与数据准备',
|
|
111
|
+
content: `确保测试环境稳定、测试数据充分:
|
|
112
|
+
|
|
113
|
+
**环境规划**
|
|
114
|
+
|
|
115
|
+
| 环境 | 用途 | 部署方式 | 数据说明 |
|
|
116
|
+
|------|------|---------|---------|
|
|
117
|
+
| Dev | 开发自测 | 本地 | 模拟数据 |
|
|
118
|
+
| Staging | QA 测试 | 自动部署 | 脱敏生产数据 |
|
|
119
|
+
| PreProd | UAT验收 | 手动触发 | 接近真实数据 |
|
|
120
|
+
| Production | 生产监控 | 审批发布 | 真实数据 |
|
|
121
|
+
|
|
122
|
+
**测试数据策略**
|
|
123
|
+
\`\`\`
|
|
124
|
+
数据分类:
|
|
125
|
+
- 正常数据:覆盖典型使用场景
|
|
126
|
+
- 边界数据:最大值、最小值、空值
|
|
127
|
+
- 异常数据:非法格式、SQL注入、XSS尝试
|
|
128
|
+
- 历史存量数据:模拟真实用户场景
|
|
129
|
+
|
|
130
|
+
数据准备方法:
|
|
131
|
+
- 自动生成:Faker.js / 工厂函数
|
|
132
|
+
- 快照恢复:测试开始前恢复数据库快照
|
|
133
|
+
- 独立隔离:每个测试用例使用独立数据集,避免互相污染
|
|
134
|
+
\`\`\`
|
|
135
|
+
|
|
136
|
+
**环境就绪检查**
|
|
137
|
+
- [ ] 所有依赖服务(数据库、消息队列、第三方API)可用
|
|
138
|
+
- [ ] 测试账号已创建(覆盖不同角色权限)
|
|
139
|
+
- [ ] 监控和日志收集已开启
|
|
140
|
+
- [ ] 被测版本已正确部署并通过冒烟测试`,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
title: '4. 自动化测试策略',
|
|
144
|
+
content: `规划自动化覆盖,实现质量门禁:
|
|
145
|
+
|
|
146
|
+
**自动化优先级选择**
|
|
147
|
+
\`\`\`
|
|
148
|
+
优先自动化的场景:
|
|
149
|
+
✅ 回归测试(高频执行)
|
|
150
|
+
✅ 核心主流程(P0 用例)
|
|
151
|
+
✅ 接口测试(快速、稳定)
|
|
152
|
+
✅ 数据驱动场景(大量参数组合)
|
|
153
|
+
|
|
154
|
+
暂不自动化的场景:
|
|
155
|
+
❌ 探索性测试(需人工判断)
|
|
156
|
+
❌ 一次性场景(成本高于收益)
|
|
157
|
+
❌ UI 频繁变更的页面(维护成本高)
|
|
158
|
+
\`\`\`
|
|
159
|
+
|
|
160
|
+
**自动化框架选型**
|
|
161
|
+
|
|
162
|
+
| 类型 | 框架 | 适用场景 |
|
|
163
|
+
|------|------|---------|
|
|
164
|
+
| 单元测试 | Vitest / Jest | 函数/组件逻辑 |
|
|
165
|
+
| API 测试 | Supertest / Postman | 接口验证 |
|
|
166
|
+
| E2E 测试 | Playwright | 全链路主流程 |
|
|
167
|
+
| 性能测试 | k6 | 压力/负载测试 |
|
|
168
|
+
|
|
169
|
+
**CI 集成配置**
|
|
170
|
+
\`\`\`yaml
|
|
171
|
+
# 每次 PR 必须通过:
|
|
172
|
+
- 单元测试(覆盖率 ≥ 80%)
|
|
173
|
+
- API 接口测试(P0 用例全通过)
|
|
174
|
+
|
|
175
|
+
# 每日定时(凌晨 2:00):
|
|
176
|
+
- 全量回归(含 P1 用例)
|
|
177
|
+
- 性能基准测试(响应时间对比)
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
**质量门禁(Quality Gate)**
|
|
181
|
+
|
|
182
|
+
| 指标 | 通过标准 | 失败处理 |
|
|
183
|
+
|------|---------|---------|
|
|
184
|
+
| 单测覆盖率 | ≥ 80% | 阻塞合并 |
|
|
185
|
+
| P0 用例通过率 | 100% | 阻塞发布 |
|
|
186
|
+
| P1 用例通过率 | ≥ 95% | 需评审 |
|
|
187
|
+
| Critical/High Bug | 0 | 阻塞发布 |
|
|
188
|
+
| 性能劣化 | P99 < 基线 120% | 需评审 |`,
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
title: '5. 缺陷管理与发布标准',
|
|
192
|
+
content: `建立清晰的缺陷处理流程和发布质量标准:
|
|
193
|
+
|
|
194
|
+
**缺陷严重级别定义**
|
|
195
|
+
\`\`\`
|
|
196
|
+
P0 - Critical(阻塞级):
|
|
197
|
+
系统崩溃、核心功能不可用、数据丢失/安全漏洞
|
|
198
|
+
→ 立即修复,不发布
|
|
199
|
+
|
|
200
|
+
P1 - High(严重):
|
|
201
|
+
核心功能受损,有临时绕过方法
|
|
202
|
+
→ 本版本修复
|
|
203
|
+
|
|
204
|
+
P2 - Medium(一般):
|
|
205
|
+
功能部分异常,不影响主流程
|
|
206
|
+
→ 可延期至下版本
|
|
207
|
+
|
|
208
|
+
P3 - Low(轻微):
|
|
209
|
+
体验问题、文案错误、UI 细节
|
|
210
|
+
→ 排期修复,不阻塞发布
|
|
211
|
+
\`\`\`
|
|
212
|
+
|
|
213
|
+
**缺陷生命周期**
|
|
214
|
+
\`\`\`
|
|
215
|
+
New → 开发确认 → In Progress → Fixed → 测试验证
|
|
216
|
+
↓(无法复现/不修复)→ Closed / Won't Fix
|
|
217
|
+
\`\`\`
|
|
218
|
+
|
|
219
|
+
**发布质量标准(Release Criteria)**
|
|
220
|
+
- ✅ 所有 P0 Bug 已修复并验证
|
|
221
|
+
- ✅ P1 Bug 修复率 ≥ 95%,剩余已评估风险
|
|
222
|
+
- ✅ P0/P1 测试用例通过率 100%
|
|
223
|
+
- ✅ 性能指标未出现显著劣化(对比基线)
|
|
224
|
+
- ✅ 安全扫描无 Critical/High 漏洞
|
|
225
|
+
- ✅ 主要浏览器/设备兼容性验证通过
|
|
226
|
+
|
|
227
|
+
**测试报告模板**
|
|
228
|
+
\`\`\`markdown
|
|
229
|
+
## 测试总结报告
|
|
230
|
+
|
|
231
|
+
### 执行概况
|
|
232
|
+
- 测试周期:[开始] ~ [结束]
|
|
233
|
+
- 执行用例数:N(P0: x, P1: y, P2: z)
|
|
234
|
+
- 通过率:X%
|
|
235
|
+
- 发现缺陷:N(P0:x, P1:y, P2:z, P3:w)
|
|
236
|
+
- 已修复:N / 待修复:N
|
|
237
|
+
|
|
238
|
+
### 风险说明
|
|
239
|
+
[遗留问题及上线风险评估]
|
|
240
|
+
|
|
241
|
+
### 质量结论
|
|
242
|
+
✅ 建议发布 / ⚠️ 有条件发布 / ❌ 不建议发布
|
|
243
|
+
\`\`\``,
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
outputFormat: 'Markdown 测试计划文档:测试范围 + 用例设计矩阵 + 环境准备清单 + 自动化策略 + 发布质量标准',
|
|
247
|
+
notes: [
|
|
248
|
+
'测试计划应在需求评审阶段启动,与开发并行而非串行',
|
|
249
|
+
'P0 测试用例必须自动化,保证每次发布快速回归',
|
|
250
|
+
'测试数据要独立隔离,避免用例间互相污染',
|
|
251
|
+
'发布标准要提前与产品/研发对齐,避免上线当天扯皮',
|
|
252
|
+
],
|
|
253
|
+
nextSkill: 'bug-report',
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=41-test-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"41-test-plan.js","sourceRoot":"","sources":["../../src/skills/41-test-plan.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAoB;IAC5C,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,8CAA8C;IAC3D,aAAa,EAAE,mHAAmH;IAClI,iBAAiB,EAAE;;0CAEqB;IACxC,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,WAAW;QACX,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;QACN,aAAa;QACb,kBAAkB;QAClB,YAAY;KACb;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAiCmB;SAC7B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCR;SACF;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6BQ;SAClB;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4CgB;SAC1B;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDR;SACF;KACF;IACD,YAAY,EAAE,yDAAyD;IACvE,KAAK,EAAE;QACL,0BAA0B;QAC1B,yBAAyB;QACzB,qBAAqB;QACrB,0BAA0B;KAC3B;IACD,SAAS,EAAE,YAAY;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"42-bug-report.d.ts","sourceRoot":"","sources":["../../src/skills/42-bug-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,eA2N5B,CAAC"}
|