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.

Source facts

Repository
proffesor-for-testing/sentinel-api-testing
Last source activity
December 8, 2025 at 14:35
Detected SKILL.md language
English
Stars
48
Forks
14

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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.
View on GitHub