关于 context-driven-testing
帮助团队根据项目目标、风险、约束和技能调整测试方式,而非照搬固定做法的技能。它将测试视为调查过程,强调记录发现,并随情境变化修订决策。
主要功能
- 01分析目标与约束
- 02审视测试实践
- 03调查软件实际表现
- 04按情境调整方法
- 05记录发现与决策
适用场景
- 01为新项目选择测试方法
- 02按团队与产品需求调整自动化
- 03在受限条件下开展探索式测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill context-driven-testing安装后在 Claude Code 中输入/context-driven-testing确认已加载。
详细介绍
情境驱动测试
<default_to_action> 在制定测试决策或调整方法时:
- 分析情境:项目目标、约束、风险、团队技能
- 质疑实践:“为什么要这样做?它应对什么风险?成本是什么?”
- 不只检查,还要调查:软件解决了问题,还是制造了新问题?
- 根据情境调整方法,而不是照搬“最佳实践”
- 记录发现,而非预先编写计划
快速情境分析:
- 使命:“尽快发现重要问题”(而非“执行测试用例”)
- 风险:安全关键型项目 = 高严谨度;内部工具 = 较轻量的测试
- 约束:时间紧迫的初创公司 ≠ 有合规要求的大型企业
- 技能:新手需要结构化指导;专家会凭直觉调整
关键成功因素:
- 没有适用于所有场景的“最佳实践”——只有适合具体情境的良好实践
- 测试是调查,而非执行脚本
- 情境会变化;你的方法也应随之变化 </default_to_action>
快速参考卡
适用场景
- 为新项目制定测试决策
- 质疑“大家一向都这么做”的教条
- 根据具体约束调整方法
- 开展探索式测试
RST 启发式
| 启发式 | 应用 |
|---|---|
| SFDIPOT | 结构、功能、数据、接口、平台、操作、时间 |
| Oracles | 与历史、类似产品、预期和文档的一致性 |
| Tours | 商业区、历史之旅、危险区域、游客之旅、博物馆之旅 |
情境驱动决策
示例:测试自动化程度
初创公司情境:
- 团队规模小、变化快、产品与市场契合度尚不明确
- 决策: 对关键路径进行轻量自动化,并大量开展探索式测试
- 理由: 需求变化太快,无法进行大规模自动化
大型企业情境:
- 功能稳定、有监管要求、团队规模大
- 决策: 建立全面的自动化回归测试套件
- 理由: 稳定性让自动化投资能够获得回报
示例:文档
受监管场景(FDA/医疗):
- 决策: 编写详细的测试规程和可追溯性矩阵
- 理由: 监管合规不是可选项
快节奏初创公司:
- 决策: 使用精简的测试会话记录和风险日志
- 理由: 官僚流程带来的拖累大于帮助
Agent 辅助的情境驱动测试
// Agent analyzes context and recommends approach
const context = await Task("Analyze Context", {
project: 'e-commerce-platform',
stage: 'startup',
constraints: ['timeline: tight', 'budget: limited'],
risks: ['payment-security', 'high-volume']
}, "qe-fleet-commander");
// Context-aware agent selection
// - qe-security-scanner (critical risk)
// - qe-performance-tester (high volume)
// - Skip: qe-visual-tester (low priority in startup context)
// Adaptive testing strategy
await Task("Generate Tests", {
context: 'startup',
focus: 'critical-paths-only',
depth: 'smoke-tests',
automation: 'minimal'
}, "qe-test-generator");
Agent 协作提示
记忆命名空间
aqe/context-driven/
├── context-analysis/* - Project context snapshots
├── decisions/* - Testing decisions with rationale
├── discoveries/* - What was learned during testing
└── adaptations/* - How approach changed over time
Agent 群协作
const contextFleet = await FleetManager.coordinate({
strategy: 'context-driven',
context: {
type: 'greenfield-saas',
stage: 'growth',
compliance: 'gdpr-only'
},
agents: ['qe-test-generator', 'qe-security-scanner', 'qe-performance-tester'],
exclude: ['qe-visual-tester', 'qe-requirements-validator'] // Not priority
});
实用技巧
- 从风险评估开始——列出功能,并询问:出错的可能性有多大?后果有多严重?测试起来有多困难?
- 为探索设定时间上限——结账流程测试 2 小时、错误处理测试 30 分钟、每个浏览器测试 15 分钟
- 记录发现——不要写“输入无效电子邮件,确认出现错误”,而要写“支付 API 返回 500 而非 400,用户界面未显示错误。已提交 Bug。”
- 与人交流——开发人员、用户、支持人员、产品团队
- 与他人结对——不同视角 = 发现不同 Bug
相关技能
- agentic-quality-engineering - 根据情境选择 Agent
- holistic-testing-pact - 根据情境调整整体测试模型
- risk-based-testing - 情境会影响风险评估
- exploratory-testing-advanced - RST 技术
请记住
使用 Agent 时: Agent 会分析情境、调整策略,并了解哪些方法适合你的情况。使用 Agent 扩展情境驱动思维,同时在关键决策中保留人的判断。
评论
支持 Markdown