mcpField
Q
qe-context-driven-testing

qe-context-driven-testing

github.com/proffesor-for-testing测试与质量51986 次安装今天更新
代码仓库

关于 qe-context-driven-testing

qe-context-driven-testing 帮助测试人员依据项目目标、风险、约束和团队技能选择或调整测试方法。它强调调查和记录发现,而非套用通用做法或只运行脚本。

主要功能

  1. 01分析项目背景与风险
  2. 02按约束和团队技能调整测试
  3. 03运用探索式测试启发法
  4. 04记录发现与决策
  5. 05围绕背景协调 Agent

适用场景

  1. 01为新项目选择测试方法
  2. 02重新审视缺乏明确理由的流程
  3. 03根据项目风险规划探索式测试
  4. 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> 在制定测试决策或调整方法时:

  1. 分析上下文:项目目标、约束、风险、团队技能
  2. 质疑实践:“为什么要这样做?这能应对什么风险?代价是什么?”
  3. 不只检查,还要调查:软件解决了问题,还是带来了新问题?
  4. 根据上下文调整方法,而不是照搬“最佳实践”
  5. 记录发现,而不是预先写好的计划

快速分析上下文:

  • 使命:“尽快发现重要问题”(而不是“执行测试用例”)
  • 风险:安全关键型项目需要高度严谨;内部工具则可从简
  • 约束:时间紧迫的初创公司 ≠ 需要合规的大型企业
  • 技能:新手需要结构;专家可以凭直觉调整

关键成功因素:

  • 没有适用于所有场景的“最佳实践”——只有符合上下文的良好实践
  • 测试是调查,而不是执行脚本
  • 上下文会变化;你的方法也应随之调整 </default_to_action>

速查卡

适用场景
  • 为新项目制定测试决策
  • 质疑“大家一向如此”的教条
  • 根据具体约束调整方法
  • 开展探索式测试
七项上下文驱动原则
  1. 任何实践的价值都取决于其所处的上下文
  2. 实践应符合上下文,没有普适的最佳实践
  3. 协同工作的人最为重要
  4. 项目会以不可预测的方式推进
  5. 产品是解决方案——如果问题没有解决,产品就失败了
  6. 良好的测试是一项具有挑战性的智力工作
  7. 判断力和技能决定在恰当的时机做恰当的事
上下文因素
因素问题
项目业务目标是什么?用户需求是什么?失败会造成什么影响?
约束时间安排?预算?团队技能?遗留系统?
风险是否与安全相关?是否受监管?是否涉及大量用户?
技术技术栈有什么特殊之处?有哪些集成?可观测性如何?
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
});

实用技巧

  1. 从风险评估入手 - 列出功能,并询问:失败的可能性有多大?后果有多严重?测试难度有多高?
  2. 为探索设定时间限制 - 检查 2 小时,错误处理 30 分钟,每个浏览器 15 分钟
  3. 记录发现 - 不要写“输入无效邮箱,验证错误”,而要写“支付 API 返回 500,而不是 400,用户看不到错误提示。已提交 Bug。”
  4. 与人交流 - 开发人员、用户、支持人员、产品人员
  5. 与他人结对 - 不同的视角 = 不同的 Bug

相关技能


请记住

上下文决定决策。 没有普适的最佳实践。熟练的测试人员会根据具体目标、约束和风险做出明智的决策。

你不是测试脚本执行者,而是帮助团队打造更好产品的专业调查者。

使用 Agent: Agent 会分析上下文、调整策略,并学习什么方法适合你的情况。借助 Agent 扩展上下文驱动的思维,同时在关键决策中保留人类判断。

评论

支持 Markdown