关于 qe-shift-left-testing
qe-shift-left-testing 面向希望将测试前移至开发早期的团队,覆盖从需求和设计到实现与 CI 的阶段。它介绍 TDD、BDD、风险分析、自动化测试,以及 Agent 辅助的需求验证和测试生成。
主要功能
- 01验证需求的可测试性
- 02在实现前编写测试
- 03在 CI 中自动运行测试
- 04应用测试金字塔
- 05分析设计风险
- 06根据规范生成测试
适用场景
- 01在需求细化阶段检查需求
- 02在编码前实践 TDD
- 03在每次提交时运行自动化测试
- 04在架构设计时评估风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-shift-left-testing安装后在 Claude Code 中输入/qe-shift-left-testing确认已加载。
详细介绍
左移测试
<default_to_action> 实施早期测试实践时:
- 在编码前验证需求(可测试性、BDD 场景)
- 在实现前编写测试(TDD:红—绿—重构)
- 在 CI 流水线中自动化(每次提交都会触发测试)
- 遵循测试金字塔:大量单元测试(70%)、一些集成测试(20%)、少量端到端测试(10%)
- 立即修复缺陷——绝不让缺陷累积
快速了解左移级别:
- 级别 1:每个 PR 都包含单元测试(开发者负责)
- 级别 2:采用 TDD 实践(先写测试,再写代码)
- 级别 3:在细化阶段进行 BDD/示例映射(需求测试)
- 级别 4:在设计阶段进行风险分析(架构测试)
关键成功因素:
- 在需求阶段发现的缺陷成本为 1 倍;在生产环境中发现则为 100 倍
- 每次提交都必须运行自动化测试
- 质量是构建出来的,而不是测试出来的 </default_to_action>
速查卡
适用场景
- 降低缺陷成本
- 实施 CI/CD 流水线
- 开始实践 TDD
- 提升需求质量
各阶段的缺陷成本
| 阶段 | 相对成本 | 示例 |
|---|---|---|
| 需求 | 1 倍 | 修正文档:30 分钟 |
| 设计 | 5 倍 | 重新设计:数小时 |
| 开发 | 10 倍 | 修复代码:1 天 |
| 测试 | 20 倍 | 修复并重新测试:2 天 |
| 生产 | 100 倍 | 热修复 + 回滚 + 调查 |
测试金字塔
/\ E2E (10%) - Critical user journeys
/ \
/ \ Integration (20%) - Component interactions
/ \
/________\ Unit (70%) - Fast, isolated, comprehensive
左移级别
| 级别 | 实践 | 时机 |
|---|---|---|
| 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
级别 2:TDD 实践
// Red: Write failing test first
test('calculates discount for orders over $100', () => {
const order = new Order([{ price: 150 }]);
expect(order.discount).toBe(15); // 10% off
});
// Green: Minimal implementation
class Order {
get discount() {
return this.total > 100 ? this.total * 0.1 : 0;
}
}
// Refactor: Improve while keeping green
级别 3:在细化阶段进行 BDD
# Example mapping before coding
Feature: Loyalty Discount
Scenario: Gold member gets 15% discount
Given a customer with "gold" membership
When they checkout with $200 in cart
Then discount applied is $30
And order total is $170
Scenario: New customer gets no discount
Given a customer with no membership
When they checkout with $200 in cart
Then no discount is applied
级别 4:在设计阶段进行风险分析
// During architecture review
await Task("Risk Analysis", {
phase: 'design',
component: 'payment-service',
questions: [
'What happens when payment gateway times out?',
'How do we handle duplicate submissions?',
'What if inventory changed during checkout?'
]
}, "qe-requirements-validator");
// Output: Testability requirements, failure mode tests
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 - 生产反馈
请记住
越早越省。 需求阶段的缺陷成本为 1 倍;生产环境中的缺陷成本为 100 倍。测试金字塔:70% 单元测试、20% 集成测试、10% 端到端测试。每次提交都运行测试。TDD 将质量构建在产品中。
借助 Agent: Agent 会验证需求的可测试性、根据规格生成测试,并选择最优回归测试套件。借助 Agent 一致地实施左移实践。
评论
支持 Markdown