关于 shift-left-testing
帮助团队将质量检查前移的测试技能,涵盖需求验证、TDD、CI 测试和风险分析,并提供 Agent 协作指引。
主要功能
- 01检查需求可测试性
- 02编写 BDD 场景
- 03先写测试再实现
- 04每次提交运行测试
- 05设计阶段风险分析
- 06选择回归测试集
适用场景
- 01在需求细化时改进验收标准
- 02为新功能采用 TDD
- 03在 Pull Request 中运行单元测试
- 04按风险确定回归测试优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill shift-left-testing安装后在 Claude Code 中输入/shift-left-testing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/shift-left-testing.yamlschemas/output.jsonscripts/validate-config.json详细介绍
左移测试
<default_to_action> 实施早期测试实践时:
- 编码前验证需求(可测试性、BDD 场景)
- 实现前编写测试(TDD)
- 在 CI 流水线中自动化(每次提交都会触发测试)
- 立即修复缺陷,绝不让缺陷累积
快速了解左移级别:
- 级别 1:每个 PR 都进行单元测试(开发者负责)
- 级别 2:采用 TDD 实践(先写测试,再写代码)
- 级别 3:在需求细化时进行 BDD/示例映射(需求测试)
- 级别 4:在设计阶段进行风险分析(架构测试) </default_to_action>
快速参考卡
适用场景
- 降低缺陷成本
- 实施 CI/CD 流水线
- 开始实践 TDD
- 提高需求质量
左移级别
| 级别 | 实践 | 时机 |
|---|---|---|
| 1 | 在 PR 中进行单元测试 | 合并前 |
| 2 | TDD | 实现前 |
| 3 | BDD/示例映射 | 需求细化期间 |
| 4 | 风险分析 | 设计期间 |
级别 1:每个 PR 都进行测试
# CI pipeline - tests run on every commit
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run test:unit
- run: npm run test:integration
- run: npm run lint
quality-gate:
needs: test
steps:
- name: Coverage Check
run: npx coverage-check --min 80
- name: No New Warnings
run: npm run lint -- --max-warnings 0
Agent 辅助左移
// Validate requirements testability
await Task("Requirements Validation", {
requirements: userStories,
check: ['INVEST-criteria', 'testability', 'ambiguity'],
generateBDD: true
}, "qe-requirements-validator");
// Generate tests from requirements
await Task("Generate Tests", {
source: 'requirements',
types: ['unit', 'integration', 'e2e'],
coverage: 'comprehensive'
}, "qe-test-generator");
// Smart test selection for changes
await Task("Select Regression Tests", {
changedFiles: prFiles,
algorithm: 'risk-based',
targetReduction: 0.7 // 70% time savings
}, "qe-regression-risk-analyzer");
Agent 协作提示
记忆命名空间
aqe/shift-left/
├── requirements/* - Validated requirements
├── generated-tests/* - Auto-generated tests
├── coverage-targets/* - Coverage goals by component
└── pipeline-results/* - CI/CD test history
Fleet 协作
const shiftLeftFleet = await FleetManager.coordinate({
strategy: 'shift-left',
agents: [
'qe-requirements-validator', // Level 3-4
'qe-test-generator', // Level 2
'qe-regression-risk-analyzer' // Smart selection
],
topology: 'sequential'
});
相关技能
- tdd-london-chicago - TDD 实践
- holistic-testing-pact - 主动测试
- cicd-pipeline-qe-orchestrator - 流水线集成
- shift-right-testing - 生产环境反馈
请记住
借助 Agent: Agent 可验证需求的可测试性、根据规格生成测试,并选择最优回归测试套件。使用 Agent 一致地实施左移实践。
技能组合
- TDD 实践 → 使用
/tdd-london-chicago获取具体的 TDD 指引 - 生成测试 → 使用
/qe-test-generation进行 AI 驱动的测试生成 - CI/CD 质量 → 使用
/cicd-pipeline-qe-orchestrator设置流水线
注意事项
- “左移”并不意味着“只测左边”——仍然需要生产环境监控(右移)
- Agent 在理解需求前就生成测试——针对错误行为编写测试比不写测试更糟
- 耗时超过 10 分钟的 CI 流水线测试会破坏反馈循环——将提交阶段的测试控制在 5 分钟以内
- Agent 同时编写测试和代码时,TDD 纪律会减弱——确保 Red 阶段分离
- 没有轻量级环境就左移,只会转移瓶颈——先解决环境问题
评论
支持 Markdown