关于 qe-context-driven-testing
qe-context-driven-testing 帮助测试人员依据项目目标、风险、约束和团队技能选择或调整测试方法。它强调调查和记录发现,而非套用通用做法或只运行脚本。
主要功能
- 01分析项目背景与风险
- 02按约束和团队技能调整测试
- 03运用探索式测试启发法
- 04记录发现与决策
- 05围绕背景协调 Agent
适用场景
- 01为新项目选择测试方法
- 02重新审视缺乏明确理由的流程
- 03根据项目风险规划探索式测试
- 04约束变化时调整测试方式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-context-driven-testing安装后在 Claude Code 中输入/qe-context-driven-testing确认已加载。
详细介绍
由上下文驱动的测试
<default_to_action> 在制定测试决策或调整方法时:
- 分析上下文:项目目标、约束、风险、团队技能
- 质疑实践:“为什么要这样做?这能应对什么风险?代价是什么?”
- 不只检查,还要调查:软件解决了问题,还是带来了新问题?
- 根据上下文调整方法,而不是照搬“最佳实践”
- 记录发现,而不是预先写好的计划
快速分析上下文:
- 使命:“尽快发现重要问题”(而不是“执行测试用例”)
- 风险:安全关键型项目需要高度严谨;内部工具则可从简
- 约束:时间紧迫的初创公司 ≠ 需要合规的大型企业
- 技能:新手需要结构;专家可以凭直觉调整
关键成功因素:
- 没有适用于所有场景的“最佳实践”——只有符合上下文的良好实践
- 测试是调查,而不是执行脚本
- 上下文会变化;你的方法也应随之调整 </default_to_action>
速查卡
适用场景
- 为新项目制定测试决策
- 质疑“大家一向如此”的教条
- 根据具体约束调整方法
- 开展探索式测试
七项上下文驱动原则
- 任何实践的价值都取决于其所处的上下文
- 实践应符合上下文,没有普适的最佳实践
- 协同工作的人最为重要
- 项目会以不可预测的方式推进
- 产品是解决方案——如果问题没有解决,产品就失败了
- 良好的测试是一项具有挑战性的智力工作
- 判断力和技能决定在恰当的时机做恰当的事
上下文因素
| 因素 | 问题 |
|---|---|
| 项目 | 业务目标是什么?用户需求是什么?失败会造成什么影响? |
| 约束 | 时间安排?预算?团队技能?遗留系统? |
| 风险 | 是否与安全相关?是否受监管?是否涉及大量用户? |
| 技术 | 技术栈有什么特殊之处?有哪些集成?可观测性如何? |
RST 启发式方法
| 启发式方法 | 应用 |
|---|---|
| SFDIPOT | 结构、功能、数据、接口、平台、运维、时间 |
| Oracles | 与历史记录、类似产品、预期和文档保持一致 |
| Tours | 商业区、历史之旅、问题区域、游客之旅、博物馆之旅 |
由上下文驱动的决策
示例:测试自动化程度
初创公司上下文:
- 团队规模小、变化快、产品与市场的契合度尚不明确
- 决策: 对关键路径进行轻量自动化,重点开展探索式测试
- 理由: 需求变化太快,难以开展大规模自动化
大型企业上下文:
- 功能稳定、受监管要求约束、团队规模大
- 决策: 建立全面的自动化回归测试套件
- 理由: 稳定性有助于自动化投资取得回报
示例:文档
受监管领域(FDA/医疗):
- 决策: 编写详细的测试规程和可追溯性矩阵
- 理由: 法规合规不是可选项
节奏快速的初创公司:
- 决策: 采用轻量级会话记录和风险日志
- 理由: 官僚流程带来的阻碍大于帮助
调查与检查
| 检查 | 测试(调查) |
|---|---|
| API 是否返回了 200? | API 是否满足用户需求? |
| 按钮能用吗? | 负载较高时会发生什么? |
| 是否符合规范? | 是否解决了问题? |
缺乏上下文驱动思维的警示信号
- “大家一向如此”,所以照着流程做
- 说不清自己这样做的原因
- 衡量已执行的测试用例数量,而不是发现的问题数量
- 测试计划可以套用到任何项目
- 一旦有了脚本就停止思考
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
集群协调
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