关于 qe-risk-based-testing
qe-risk-based-testing 是帮助团队规划测试范围和分配有限资源的测试技能。它按概率与影响评估风险,并据此安排测试深度,随新信息调整优先级。
主要功能
- 01按概率与影响计算风险
- 02划分从关键到低的优先级
- 03按风险分配测试投入
- 04根据新数据动态重新评估
- 05在 CI/CD 中按风险选择测试
适用场景
- 01制定迭代或发布测试策略
- 02决定优先自动化哪些测试
- 03分配有限的测试时间
- 04生产事故后调整优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-risk-based-testing安装后在 Claude Code 中输入/qe-risk-based-testing确认已加载。
详细介绍
基于风险的测试
<default_to_action> 规划测试或分配测试资源时:
- 识别风险:可能出现什么问题?影响是什么?可能性有多大?
- 计算风险:风险 = 概率 × 影响(两项均使用 1-5 分制)
- 确定优先级:关键(20+)→ 高(12-19)→ 中(6-11)→ 低(1-5)
- 分配精力:关键 60%,高 25%,中 10%,低 5%
- 持续重新评估:新信息、变更、生产事故
快速风险评估:
- 概率因素:复杂度、变更频率、开发者经验、技术债务
- 影响因素:用户数量、收入、安全、声誉、监管
- 动态调整:生产环境中的 Bug 会提高风险;稳定的代码会降低风险
关键成功因素:
- 在 Bug 危害最大的地方进行测试,而不是平均覆盖所有地方
- 风险会动态变化——根据新信息重新评估
- 生产数据为风险评估提供依据(右移反馈左移) </default_to_action>
快速参考卡
适用场景
- 规划迭代/发布测试策略
- 决定优先自动化哪些内容
- 分配有限的测试时间
- 说明测试覆盖率决策的依据
风险计算
Risk Score = Probability (1-5) × Impact (1-5)
| 分数 | 优先级 | 精力 | 行动 |
|---|---|---|---|
| 20-25 | 关键 | 60% | 全面测试,采用多种技术 |
| 12-19 | 高 | 25% | 充分测试,优先自动化 |
| 6-11 | 中 | 10% | 标准测试,基础自动化 |
| 1-5 | 低 | 5% | 冒烟测试,仅探索性测试 |
概率因素
| 因素 | 低(1) | 中(3) | 高(5) |
|---|---|---|---|
| 复杂度 | 简单的 CRUD | 业务逻辑 | 算法、集成 |
| 变更率 | 6 个月以上保持稳定 | 每月变更 | 每周/每天变更 |
| 开发者经验 | 资深领域专家 | 中级 | 初级,刚接触代码库 |
| 技术债务 | 代码整洁 | 存在一些债务 | 遗留代码,没有测试 |
影响因素
| 因素 | 低(1) | 中(3) | 高(5) |
|---|---|---|---|
| 受影响用户 | 仅管理员 | 部门 | 所有用户 |
| 收入 | 无 | 间接影响 | 直接影响(结账) |
| 安全 | 便利性 | 数据丢失 | 人身伤害 |
| 声誉 | 内部 | 行业 | 公开丑闻 |
风险评估工作流
第 1 步:列出功能/组件
Feature | Probability | Impact | Risk | Priority
--------|-------------|--------|------|----------
Checkout | 4 | 5 | 20 | Critical
User Auth | 3 | 5 | 15 | High
Admin Panel | 2 | 2 | 4 | Low
Search | 3 | 3 | 9 | Medium
第 2 步:应用测试深度
await Task("Risk-Based Test Generation", {
critical: {
features: ['checkout', 'payment'],
depth: 'comprehensive',
techniques: ['unit', 'integration', 'e2e', 'performance', 'security']
},
high: {
features: ['auth', 'user-profile'],
depth: 'thorough',
techniques: ['unit', 'integration', 'e2e']
},
medium: {
features: ['search', 'notifications'],
depth: 'standard',
techniques: ['unit', 'integration']
},
low: {
features: ['admin-panel', 'settings'],
depth: 'smoke',
techniques: ['smoke-tests']
}
}, "qe-test-generator");
第 3 步:动态重新评估
// Production incident increases risk
await Task("Update Risk Score", {
feature: 'search',
event: 'production-incident',
previousRisk: 9,
newProbability: 5, // Increased due to incident
newRisk: 15 // Now HIGH priority
}, "qe-regression-risk-analyzer");
ML 增强型风险分析
// Agent predicts risk using historical data
const riskAnalysis = await Task("ML Risk Analysis", {
codeChanges: changedFiles,
historicalBugs: bugDatabase,
prediction: {
model: 'gradient-boosting',
factors: ['complexity', 'change-frequency', 'author-experience', 'file-age']
}
}, "qe-regression-risk-analyzer");
// Output: 95% accuracy risk prediction per file
Agent 协作提示
记忆命名空间
aqe/risk-based/
├── risk-scores/* - Current risk assessments
├── historical-bugs/* - Bug patterns by area
├── production-data/* - Incident data for risk
└── coverage-map/* - Test depth by risk level
Agent 集群协作
const riskFleet = await FleetManager.coordinate({
strategy: 'risk-based-testing',
agents: [
'qe-regression-risk-analyzer', // Risk scoring
'qe-test-generator', // Risk-appropriate tests
'qe-production-intelligence', // Production feedback
'qe-quality-gate' // Risk-based gates
],
topology: 'sequential'
});
与 CI/CD 集成
# Risk-based test selection in pipeline
- name: Risk Analysis
run: aqe risk-analyze --changes ${{ github.event.pull_request.files }}
- name: Run Critical Tests
if: risk.critical > 0
run: npm run test:critical
- name: Run High Tests
if: risk.high > 0
run: npm run test:high
- name: Skip Low Risk
if: risk.low_only
run: npm run test:smoke
相关技能
- agentic-quality-engineering - 风险感知型 Agent
- context-driven-testing - 上下文会影响风险
- regression-testing - 基于风险选择回归测试
- shift-right-testing - 生产环境为风险评估提供依据
请记住
风险 = 概率 × 影响。 在 Bug 危害最大的地方进行测试。关键风险分配 60%,低风险分配 5%。风险会动态变化——根据新信息重新评估。生产事故会提高风险分数。
使用 Agent: Agent 利用历史数据通过 ML 计算风险,选择与风险相匹配的测试,并根据生产反馈调整分数。使用 Agent 大规模维护动态风险档案。
评论
支持 Markdown