Skip to main content

shift-left-testing

Move testing activities earlier in the development lifecycle to catch defects when they're cheapest to fix. Use when implementing TDD, CI/CD, or early quality practices.

소스 정보

저장소
proffesor-for-testing/sentinel-api-testing
최근 소스 활동
2025년 12월 8일 14:35
감지된 SKILL.md 언어
영어
스타
48
포크
14

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
shift-left-testing
description
Move testing activities earlier in the development lifecycle to catch defects when they're cheapest to fix. Use when implementing TDD, CI/CD, or early quality practices.
category
testing-methodologies
priority
high
tokenEstimate
900
agents
["qe-test-generator","qe-requirements-validator","qe-regression-risk-analyzer"]
implementation_status
optimized
optimization_version
1
last_optimized
2025-12-02T00:00:00.000Z
dependencies
[]
quick_reference_card
true
tags
["shift-left","early-testing","tdd","bdd","ci-cd","prevention"]
# Shift-Left Testing <default_to_action> When implementing early testing practices: 1. VALIDATE requirements before coding (testability, BDD scenarios) 2. WRITE tests before implementation (TDD red-green-refactor) 3. AUTOMATE in CI pipeline (every commit triggers tests) 4. FOLLOW test pyramid: Many unit (70%), some integration (20%), few E2E (10%) 5. FIX defects immediately - never let them accumulate **Quick Shift-Left Levels:** - Level 1: Unit tests with each PR (developer responsibility) - Level 2: TDD practice (tests before code) - Level 3: BDD/Example mapping in refinement (requirements testing) - Level 4: Risk analysis in design (architecture testing) **Critical Success Factors:** - Defects found in requirements cost 1x; in production cost 100x - Every commit must run automated tests - Quality is built in, not tested in </default_to_action> ## Quick Reference Card ### When to Use - Reducing cost of defects - Implementing CI/CD pipelines - Starting TDD practice - Improving requirements quality ### Cost of Defects by Phase | Phase | Relative Cost | Example | |-------|--------------|---------| | Requirements | 1x | Fix doc: 30 min | | Design | 5x | Redesign: few hours | | Development | 10x | Code fix: 1 day | | Testing | 20x | Fix + retest: 2 days | | Production | 100x | Hotfix + rollback + investigation | ### Test Pyramid ``` /\ E2E (10%) - Critical user journeys / \ / \ Integration (20%) - Component interactions / \ /________\ Unit (70%) - Fast, isolated, comprehensive ``` ### Shift-Left Levels | Level | Practice | When | |-------|----------|------| | 1 | Unit tests in PR | Before merge | | 2 | TDD | Before implementation | | 3 | BDD/Example Mapping | During refinement | | 4 | Risk Analysis | During design | --- ## Level 1: Tests in Every PR ```yaml # 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 ``` --- ## Level 2: TDD Practice ```javascript // 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 ``` --- ## Level 3: BDD in Refinement ```gherkin # 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 ``` --- ## Level 4: Risk Analysis in Design ```typescript // 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-Assisted Shift-Left ```typescript // 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 Coordination Hints ### Memory Namespace ``` aqe/shift-left/ ├── requirements/* - Validated requirements ├── generated-tests/* - Auto-generated tests ├── coverage-targets/* - Coverage goals by component └── pipeline-results/* - CI/CD test history ``` ### Fleet Coordination ```typescript 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' }); ``` --- ## Related Skills - [tdd-london-chicago](../tdd-london-chicago/) - TDD practices - [holistic-testing-pact](../holistic-testing-pact/) - Proactive testing - [cicd-pipeline-qe-orchestrator](../cicd-pipeline-qe-orchestrator/) - Pipeline integration - [shift-right-testing](../shift-right-testing/) - Production feedback --- ## Remember **Earlier = Cheaper.** Requirements defects cost 1x; production defects cost 100x. Test pyramid: 70% unit, 20% integration, 10% E2E. Every commit runs tests. TDD builds quality in. **With Agents:** Agents validate requirements testability, generate tests from specs, and select optimal regression suites. Use agents to implement shift-left practices consistently.
GitHub에서 보기