Agentic-qe shift-right-testing
Testing in production with feature flags, canary deployments, synthetic monitoring, and chaos engineering. Use when implementing production observability or progressive delivery.
git clone https://github.com/proffesor-for-testing/agentic-qe
T=$(mktemp -d) && git clone --depth=1 https://github.com/proffesor-for-testing/agentic-qe "$T" && mkdir -p ~/.claude/skills && cp -r "$T/assets/skills/shift-right-testing" ~/.claude/skills/proffesor-for-testing-agentic-qe-shift-right-testing-ca086c && rm -rf "$T"
assets/skills/shift-right-testing/SKILL.mdShift-Right Testing
<default_to_action> When testing in production or implementing progressive delivery:
- IMPLEMENT feature flags for progressive rollout (1% → 10% → 50% → 100%)
- DEPLOY with canary releases (compare metrics before full rollout)
- MONITOR with synthetic tests (proactive) + RUM (reactive)
- INJECT failures with chaos engineering (build resilience)
- ANALYZE production data to improve pre-production testing
Quick Shift-Right Techniques:
- Feature flags → Control who sees what, instant rollback
- Canary deployment → 5% traffic, compare error rates
- Synthetic monitoring → Simulate users 24/7, catch issues before users
- Chaos engineering → Netflix-style failure injection
- RUM (Real User Monitoring) → Actual user experience data
Critical Success Factors:
- Production is the ultimate test environment
- Ship fast with safety nets, not slow with certainty
- Use production data to improve shift-left testing </default_to_action>
Quick Reference Card
When to Use
- Progressive feature rollouts
- Production reliability validation
- Performance monitoring at scale
- Learning from real user behavior
Shift-Right Techniques
| Technique | Purpose | When |
|---|---|---|
| Feature Flags | Controlled rollout | Every feature |
| Canary | Compare new vs old | Every deployment |
| Synthetic Monitoring | Proactive detection | 24/7 |
| RUM | Real user metrics | Always on |
| Chaos Engineering | Resilience validation | Regularly |
| A/B Testing | User behavior validation | Feature decisions |
Progressive Rollout Pattern
1% → 10% → 25% → 50% → 100% ↓ ↓ ↓ ↓ Check Check Check Monitor
Key Metrics to Monitor
| Metric | SLO Target | Alert Threshold |
|---|---|---|
| Error rate | < 0.1% | > 1% |
| p95 latency | < 200ms | > 500ms |
| Availability | 99.9% | < 99.5% |
| Apdex | > 0.95 | < 0.8 |
Feature Flags
// Progressive rollout with LaunchDarkly/Unleash pattern const newCheckout = featureFlags.isEnabled('new-checkout', { userId: user.id, percentage: 10, // 10% of users allowlist: ['beta-testers'] }); if (newCheckout) { return <NewCheckoutFlow />; } else { return <LegacyCheckoutFlow />; } // Instant rollback on issues await featureFlags.disable('new-checkout');
Canary Deployment
# Flagger canary config apiVersion: flagger.app/v1beta1 kind: Canary spec: targetRef: apiVersion: apps/v1 kind: Deployment name: checkout-service progressDeadlineSeconds: 60 analysis: interval: 1m threshold: 5 # Max failed checks maxWeight: 50 # Max traffic to canary stepWeight: 10 # Increment per interval metrics: - name: request-success-rate threshold: 99 - name: request-duration threshold: 500
Synthetic Monitoring
// Continuous production validation await Task("Synthetic Tests", { endpoints: [ { path: '/health', expected: 200, interval: '30s' }, { path: '/api/products', expected: 200, interval: '1m' }, { path: '/checkout', flow: 'full-purchase', interval: '5m' } ], locations: ['us-east', 'eu-west', 'ap-south'], alertOn: { statusCode: '!= 200', latency: '> 500ms', contentMismatch: true } }, "qe-production-intelligence");
Chaos Engineering
// Controlled failure injection await Task("Chaos Experiment", { hypothesis: 'System handles database latency gracefully', steadyState: { metric: 'error_rate', expected: '< 0.1%' }, experiment: { type: 'network-latency', target: 'database', delay: '500ms', duration: '5m' }, rollback: { automatic: true, trigger: 'error_rate > 5%' } }, "qe-chaos-engineer");
Production → Pre-Production Feedback Loop
// Convert production incidents to regression tests await Task("Incident Replay", { incident: { id: 'INC-2024-001', type: 'performance-degradation', conditions: { concurrent_users: 500, cart_items: 10 } }, generateTests: true, addToRegression: true }, "qe-production-intelligence"); // Output: New test added to prevent recurrence
Agent Coordination Hints
Memory Namespace
aqe/shift-right/ ├── canary-results/* - Canary deployment metrics ├── synthetic-tests/* - Monitoring configurations ├── chaos-experiments/* - Experiment results ├── production-insights/* - Issues → test conversions └── rum-analysis/* - Real user data patterns
Fleet Coordination
const shiftRightFleet = await FleetManager.coordinate({ strategy: 'shift-right-testing', agents: [ 'qe-production-intelligence', // RUM, incident replay 'qe-chaos-engineer', // Resilience testing 'qe-performance-tester', // Synthetic monitoring 'qe-quality-analyzer' // Metrics analysis ], topology: 'mesh' });
Related Skills
- shift-left-testing - Pre-production testing
- chaos-engineering-resilience - Failure injection deep dive
- performance-testing - Load testing
- agentic-quality-engineering - Agent coordination
Remember
Production is the ultimate test environment. Feature flags enable instant rollback. Canary catches issues before 100% rollout. Synthetic monitoring detects problems before users. Chaos engineering builds resilience. RUM shows real user experience.
With Agents: Agents monitor production, replay incidents as tests, run chaos experiments, and convert production insights to pre-production tests. Use agents to maintain continuous production quality.