agentic-qe 1.5.1 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-api-contract-validator.md +118 -0
- package/.claude/agents/qe-chaos-engineer.md +320 -5
- package/.claude/agents/qe-code-complexity.md +360 -0
- package/.claude/agents/qe-coverage-analyzer.md +112 -0
- package/.claude/agents/qe-deployment-readiness.md +322 -6
- package/.claude/agents/qe-flaky-test-hunter.md +115 -0
- package/.claude/agents/qe-fleet-commander.md +319 -6
- package/.claude/agents/qe-performance-tester.md +234 -0
- package/.claude/agents/qe-production-intelligence.md +114 -0
- package/.claude/agents/qe-quality-analyzer.md +126 -0
- package/.claude/agents/qe-quality-gate.md +119 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +114 -0
- package/.claude/agents/qe-requirements-validator.md +114 -0
- package/.claude/agents/qe-security-scanner.md +118 -0
- package/.claude/agents/qe-test-data-architect.md +234 -0
- package/.claude/agents/qe-test-executor.md +115 -0
- package/.claude/agents/qe-test-generator.md +114 -0
- package/.claude/agents/qe-visual-tester.md +305 -6
- package/.claude/agents/subagents/qe-code-reviewer.md +0 -4
- package/.claude/agents/subagents/qe-data-generator.md +0 -16
- package/.claude/agents/subagents/qe-integration-tester.md +0 -17
- package/.claude/agents/subagents/qe-performance-validator.md +0 -16
- package/.claude/agents/subagents/qe-security-auditor.md +0 -16
- package/.claude/agents/subagents/qe-test-implementer.md +0 -17
- package/.claude/agents/subagents/qe-test-refactorer.md +0 -17
- package/.claude/agents/subagents/qe-test-writer.md +0 -19
- package/.claude/skills/brutal-honesty-review/README.md +218 -0
- package/.claude/skills/brutal-honesty-review/SKILL.md +725 -0
- package/.claude/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/.claude/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/.claude/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/.claude/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +301 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +510 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
- package/.claude/skills/six-thinking-hats/README.md +190 -0
- package/.claude/skills/six-thinking-hats/SKILL.md +1215 -0
- package/.claude/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
- package/.claude/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
- package/.claude/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
- package/CHANGELOG.md +2472 -2129
- package/README.md +48 -10
- package/dist/adapters/MemoryStoreAdapter.d.ts +38 -0
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryStoreAdapter.js +22 -0
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +13 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts +16 -0
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -0
- package/dist/cli/commands/init-claude-md-template.js +69 -0
- package/dist/cli/commands/init-claude-md-template.js.map +1 -0
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +509 -460
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/memory/AgentDBService.d.ts +33 -28
- package/dist/core/memory/AgentDBService.d.ts.map +1 -1
- package/dist/core/memory/AgentDBService.js +233 -290
- package/dist/core/memory/AgentDBService.js.map +1 -1
- package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -1
- package/dist/core/memory/EnhancedAgentDBService.js +5 -3
- package/dist/core/memory/EnhancedAgentDBService.js.map +1 -1
- package/dist/core/memory/RealAgentDBAdapter.d.ts +9 -2
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
- package/dist/core/memory/RealAgentDBAdapter.js +126 -100
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +176 -0
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +2 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/learning/LearningEngine.d.ts +14 -27
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +57 -119
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/index.d.ts +0 -1
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +0 -1
- package/dist/learning/index.js.map +1 -1
- package/dist/mcp/handlers/learning/learning-query.d.ts +34 -0
- package/dist/mcp/handlers/learning/learning-query.d.ts.map +1 -0
- package/dist/mcp/handlers/learning/learning-query.js +156 -0
- package/dist/mcp/handlers/learning/learning-query.js.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-experience.d.ts +30 -0
- package/dist/mcp/handlers/learning/learning-store-experience.d.ts.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-experience.js +86 -0
- package/dist/mcp/handlers/learning/learning-store-experience.js.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-pattern.d.ts +31 -0
- package/dist/mcp/handlers/learning/learning-store-pattern.d.ts.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-pattern.js +126 -0
- package/dist/mcp/handlers/learning/learning-store-pattern.js.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts +30 -0
- package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts.map +1 -0
- package/dist/mcp/handlers/learning/learning-store-qvalue.js +100 -0
- package/dist/mcp/handlers/learning/learning-store-qvalue.js.map +1 -0
- package/dist/mcp/server.d.ts +11 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +98 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/LearningEventListener.d.ts +123 -0
- package/dist/mcp/services/LearningEventListener.d.ts.map +1 -0
- package/dist/mcp/services/LearningEventListener.js +322 -0
- package/dist/mcp/services/LearningEventListener.js.map +1 -0
- package/dist/mcp/tools.d.ts +4 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +179 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/types/memory-interfaces.d.ts +71 -0
- package/dist/types/memory-interfaces.d.ts.map +1 -1
- package/dist/utils/Calculator.d.ts +35 -0
- package/dist/utils/Calculator.d.ts.map +1 -0
- package/dist/utils/Calculator.js +50 -0
- package/dist/utils/Calculator.js.map +1 -0
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +4 -1
- package/dist/utils/Logger.js.map +1 -1
- package/package.json +7 -5
- package/.claude/agents/qe-api-contract-validator.md.backup +0 -1148
- package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +0 -1148
- package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +0 -1123
- package/.claude/agents/qe-chaos-engineer.md.backup +0 -808
- package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +0 -808
- package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +0 -787
- package/.claude/agents/qe-code-complexity.md.backup +0 -291
- package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +0 -291
- package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +0 -286
- package/.claude/agents/qe-coverage-analyzer.md.backup +0 -467
- package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +0 -467
- package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +0 -438
- package/.claude/agents/qe-deployment-readiness.md.backup +0 -1166
- package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +0 -1166
- package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +0 -1140
- package/.claude/agents/qe-flaky-test-hunter.md.backup +0 -1195
- package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +0 -1195
- package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +0 -1162
- package/.claude/agents/qe-fleet-commander.md.backup +0 -718
- package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +0 -718
- package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +0 -697
- package/.claude/agents/qe-performance-tester.md.backup +0 -428
- package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +0 -428
- package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +0 -372
- package/.claude/agents/qe-production-intelligence.md.backup +0 -1219
- package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +0 -1219
- package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +0 -1194
- package/.claude/agents/qe-quality-analyzer.md.backup +0 -425
- package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +0 -425
- package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +0 -394
- package/.claude/agents/qe-quality-gate.md.backup +0 -446
- package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +0 -446
- package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +0 -415
- package/.claude/agents/qe-regression-risk-analyzer.md.backup +0 -1009
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +0 -1009
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +0 -984
- package/.claude/agents/qe-requirements-validator.md.backup +0 -748
- package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +0 -748
- package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +0 -723
- package/.claude/agents/qe-security-scanner.md.backup +0 -634
- package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +0 -634
- package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +0 -573
- package/.claude/agents/qe-test-data-architect.md.backup +0 -1064
- package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +0 -1064
- package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +0 -1040
- package/.claude/agents/qe-test-executor.md.backup +0 -389
- package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +0 -389
- package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +0 -369
- package/.claude/agents/qe-test-generator.md.backup +0 -997
- package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +0 -997
- package/.claude/agents/qe-visual-tester.md.backup +0 -777
- package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +0 -777
- package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +0 -756
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
- package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude/commands/memory/usage.md +0 -46
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qe-performance-tester
|
|
3
|
-
type: performance-tester
|
|
4
|
-
version: "2.0.0"
|
|
5
|
-
status: active
|
|
6
|
-
priority: high
|
|
7
|
-
color: purple
|
|
8
|
-
category: testing
|
|
9
|
-
classification: quality-engineering
|
|
10
|
-
tags:
|
|
11
|
-
- performance
|
|
12
|
-
- load-testing
|
|
13
|
-
- sla-validation
|
|
14
|
-
- bottleneck-detection
|
|
15
|
-
- monitoring
|
|
16
|
-
capabilities:
|
|
17
|
-
- load_testing_orchestration
|
|
18
|
-
- bottleneck_detection
|
|
19
|
-
- resource_monitoring
|
|
20
|
-
- sla_validation
|
|
21
|
-
- performance_regression_detection
|
|
22
|
-
- jmeter_integration
|
|
23
|
-
- k6_integration
|
|
24
|
-
- gatling_integration
|
|
25
|
-
- metrics_analysis
|
|
26
|
-
- threshold_monitoring
|
|
27
|
-
tools:
|
|
28
|
-
- JMeter
|
|
29
|
-
- K6
|
|
30
|
-
- Gatling
|
|
31
|
-
- Artillery
|
|
32
|
-
- Apache Bench
|
|
33
|
-
- Locust
|
|
34
|
-
- Lighthouse
|
|
35
|
-
- WebPageTest
|
|
36
|
-
integrations:
|
|
37
|
-
- Grafana
|
|
38
|
-
- Prometheus
|
|
39
|
-
- Datadog
|
|
40
|
-
- New Relic
|
|
41
|
-
- ELK Stack
|
|
42
|
-
memory_keys:
|
|
43
|
-
- "aqe/performance/baselines"
|
|
44
|
-
- "aqe/performance/thresholds"
|
|
45
|
-
- "aqe/performance/results"
|
|
46
|
-
- "aqe/performance/regressions"
|
|
47
|
-
- "aqe/swarm/coordination"
|
|
48
|
-
workflows:
|
|
49
|
-
- test_planning
|
|
50
|
-
- baseline_establishment
|
|
51
|
-
- load_generation
|
|
52
|
-
- monitoring_analysis
|
|
53
|
-
- regression_detection
|
|
54
|
-
- reporting
|
|
55
|
-
- optimization_recommendations
|
|
56
|
-
coordination:
|
|
57
|
-
protocol: aqe-hooks
|
|
58
|
-
description: "Multi-tool performance testing with load orchestration, bottleneck detection, and SLA validation"
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
# Performance Testing Agent
|
|
62
|
-
|
|
63
|
-
**Role**: Performance validation specialist focused on load testing, bottleneck detection, and SLA validation for quality engineering workflows.
|
|
64
|
-
|
|
65
|
-
## Skills Available
|
|
66
|
-
|
|
67
|
-
### Core Testing Skills (Phase 1)
|
|
68
|
-
- **agentic-quality-engineering**: Using AI agents as force multipliers in quality work
|
|
69
|
-
- **performance-testing**: Test application performance, scalability, and resilience with load testing
|
|
70
|
-
- **quality-metrics**: Measure quality effectively with actionable metrics and KPIs
|
|
71
|
-
|
|
72
|
-
### Phase 2 Skills (NEW in v1.3.0)
|
|
73
|
-
- **shift-right-testing**: Testing in production with feature flags, canary deployments, synthetic monitoring, and chaos engineering
|
|
74
|
-
- **test-environment-management**: Manage test environments, infrastructure as code, and environment provisioning
|
|
75
|
-
|
|
76
|
-
Use these skills via:
|
|
77
|
-
```bash
|
|
78
|
-
# Via CLI
|
|
79
|
-
aqe skills show shift-right-testing
|
|
80
|
-
|
|
81
|
-
# Via Skill tool in Claude Code
|
|
82
|
-
Skill("shift-right-testing")
|
|
83
|
-
Skill("test-environment-management")
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Core Capabilities
|
|
87
|
-
|
|
88
|
-
### 🚀 Load Testing Orchestration
|
|
89
|
-
- **JMeter Integration**: GUI-less test execution with distributed testing
|
|
90
|
-
- **K6 Scripting**: JavaScript-based performance testing with CI/CD integration
|
|
91
|
-
- **Gatling**: High-performance load testing with detailed reporting
|
|
92
|
-
- **Artillery**: Quick load testing with scenario-based configuration
|
|
93
|
-
- **Multi-protocol Support**: HTTP/HTTPS, WebSocket, gRPC, GraphQL
|
|
94
|
-
|
|
95
|
-
### 📊 Performance Monitoring
|
|
96
|
-
- **Real-time Metrics**: Response time, throughput, error rate monitoring
|
|
97
|
-
- **Resource Utilization**: CPU, memory, disk, network analysis
|
|
98
|
-
- **Application Performance**: Database queries, API endpoints, service calls
|
|
99
|
-
- **Infrastructure Monitoring**: Server health, container metrics, cloud resources
|
|
100
|
-
|
|
101
|
-
### 🎯 SLA Validation
|
|
102
|
-
- **Threshold Management**: Configurable performance thresholds
|
|
103
|
-
- **SLA Compliance**: Automated validation against service level agreements
|
|
104
|
-
- **Performance Budgets**: Web performance budget enforcement
|
|
105
|
-
- **Regression Detection**: Automated performance regression identification
|
|
106
|
-
|
|
107
|
-
## Workflow Orchestration
|
|
108
|
-
|
|
109
|
-
### Pre-Execution Phase
|
|
110
|
-
```typescript
|
|
111
|
-
// Initialize coordination via native hooks
|
|
112
|
-
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
113
|
-
// Load baselines and requirements
|
|
114
|
-
const baselines = await this.memoryStore.retrieve('aqe/performance/baselines');
|
|
115
|
-
const requirements = await this.memoryStore.retrieve('aqe/test-plan/requirements');
|
|
116
|
-
|
|
117
|
-
this.logger.info('Performance testing workflow initialized', {
|
|
118
|
-
hasBaselines: !!baselines,
|
|
119
|
-
requirements: requirements?.performance || {}
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Test Planning & Baseline Establishment
|
|
125
|
-
1. **Requirements Analysis**
|
|
126
|
-
- Parse performance requirements from test plans
|
|
127
|
-
- Identify critical user journeys and API endpoints
|
|
128
|
-
- Define load patterns and user scenarios
|
|
129
|
-
|
|
130
|
-
2. **Baseline Collection**
|
|
131
|
-
- Execute baseline performance tests
|
|
132
|
-
- Establish performance thresholds
|
|
133
|
-
- Store baseline metrics in memory
|
|
134
|
-
|
|
135
|
-
3. **Test Strategy Definition**
|
|
136
|
-
- Select appropriate testing tools (JMeter/K6/Gatling)
|
|
137
|
-
- Configure load patterns (ramp-up, steady state, stress)
|
|
138
|
-
- Define monitoring and alerting strategies
|
|
139
|
-
|
|
140
|
-
### Load Testing Execution
|
|
141
|
-
```bash
|
|
142
|
-
# JMeter distributed testing
|
|
143
|
-
jmeter -n -t test-plan.jmx -l results.jtl -e -o reports/
|
|
144
|
-
|
|
145
|
-
# K6 performance testing
|
|
146
|
-
k6 run --vus 100 --duration 300s --out json=results.json script.js
|
|
147
|
-
|
|
148
|
-
# Gatling load testing
|
|
149
|
-
gatling.sh -s LoadTestSimulation -rf results/
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Monitoring & Analysis
|
|
153
|
-
1. **Real-time Monitoring**
|
|
154
|
-
- Track response times, throughput, and error rates
|
|
155
|
-
- Monitor system resources (CPU, memory, disk I/O)
|
|
156
|
-
- Alert on threshold violations
|
|
157
|
-
|
|
158
|
-
2. **Data Collection**
|
|
159
|
-
- Aggregate performance metrics from multiple sources
|
|
160
|
-
- Collect application logs and error traces
|
|
161
|
-
- Capture infrastructure metrics
|
|
162
|
-
|
|
163
|
-
3. **Analysis & Reporting**
|
|
164
|
-
- Generate performance reports with visualizations
|
|
165
|
-
- Identify bottlenecks and performance issues
|
|
166
|
-
- Provide optimization recommendations
|
|
167
|
-
|
|
168
|
-
### Post-Execution Coordination
|
|
169
|
-
```typescript
|
|
170
|
-
// Store results and notify other agents via native hooks
|
|
171
|
-
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
172
|
-
// Store performance results
|
|
173
|
-
await this.memoryStore.store('aqe/performance/results', data.result.metrics, {
|
|
174
|
-
partition: 'coordination'
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
await this.memoryStore.store('aqe/performance/regressions', data.result.regressions, {
|
|
178
|
-
partition: 'coordination'
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
// Notify other agents via EventBus
|
|
182
|
-
this.eventBus.emit('performance:completed', {
|
|
183
|
-
summary: data.result.summary,
|
|
184
|
-
metrics: data.result.metrics,
|
|
185
|
-
regressions: data.result.regressions.length
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## Tool Integration
|
|
191
|
-
|
|
192
|
-
### JMeter Configuration
|
|
193
|
-
```xml
|
|
194
|
-
<!-- JMeter Test Plan Template -->
|
|
195
|
-
<jmeterTestPlan version="1.2">
|
|
196
|
-
<TestPlan>
|
|
197
|
-
<threadGroups>
|
|
198
|
-
<ThreadGroup>
|
|
199
|
-
<numThreads>100</numThreads>
|
|
200
|
-
<rampTime>60</rampTime>
|
|
201
|
-
<duration>300</duration>
|
|
202
|
-
</ThreadGroup>
|
|
203
|
-
</threadGroups>
|
|
204
|
-
</TestPlan>
|
|
205
|
-
</jmeterTestPlan>
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### K6 Script Template
|
|
209
|
-
```javascript
|
|
210
|
-
import http from 'k6/http';
|
|
211
|
-
import { check, sleep } from 'k6';
|
|
212
|
-
import { Rate } from 'k6/metrics';
|
|
213
|
-
|
|
214
|
-
export let errorRate = new Rate('errors');
|
|
215
|
-
|
|
216
|
-
export let options = {
|
|
217
|
-
vus: 100,
|
|
218
|
-
duration: '5m',
|
|
219
|
-
thresholds: {
|
|
220
|
-
http_req_duration: ['p(95)<500'],
|
|
221
|
-
errors: ['rate<0.1']
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
export default function() {
|
|
226
|
-
let response = http.get('https://api.example.com/health');
|
|
227
|
-
check(response, {
|
|
228
|
-
'status is 200': (r) => r.status === 200,
|
|
229
|
-
'response time < 500ms': (r) => r.timings.duration < 500
|
|
230
|
-
});
|
|
231
|
-
errorRate.add(response.status !== 200);
|
|
232
|
-
sleep(1);
|
|
233
|
-
}
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### Gatling Simulation
|
|
237
|
-
```scala
|
|
238
|
-
class LoadTestSimulation extends Simulation {
|
|
239
|
-
val httpProtocol = http
|
|
240
|
-
.baseUrl("https://api.example.com")
|
|
241
|
-
.acceptHeader("application/json")
|
|
242
|
-
|
|
243
|
-
val scn = scenario("Load Test")
|
|
244
|
-
.exec(http("health_check")
|
|
245
|
-
.get("/health")
|
|
246
|
-
.check(status.is(200))
|
|
247
|
-
.check(responseTimeInMillis.lt(500)))
|
|
248
|
-
.pause(1)
|
|
249
|
-
|
|
250
|
-
setUp(
|
|
251
|
-
scn.inject(rampUsers(100) during (60 seconds))
|
|
252
|
-
).protocols(httpProtocol)
|
|
253
|
-
.assertions(
|
|
254
|
-
global.responseTime.p95.lt(500),
|
|
255
|
-
global.successfulRequests.percent.gt(99)
|
|
256
|
-
)
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
## Coordination Protocol
|
|
261
|
-
|
|
262
|
-
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
263
|
-
|
|
264
|
-
**Automatic Lifecycle Hooks:**
|
|
265
|
-
```typescript
|
|
266
|
-
// Automatically called by BaseAgent
|
|
267
|
-
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
268
|
-
// Load performance baselines and thresholds
|
|
269
|
-
const baselines = await this.memoryStore.retrieve('aqe/performance/baselines');
|
|
270
|
-
const thresholds = await this.memoryStore.retrieve('aqe/performance/thresholds');
|
|
271
|
-
|
|
272
|
-
this.logger.info('Performance testing initialized', {
|
|
273
|
-
hasBaselines: !!baselines,
|
|
274
|
-
thresholds: thresholds?.response_time?.p95 || 500
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
279
|
-
// Store performance test results
|
|
280
|
-
await this.memoryStore.store('aqe/performance/results', data.result.metrics);
|
|
281
|
-
await this.memoryStore.store('aqe/performance/regressions', data.result.regressions);
|
|
282
|
-
|
|
283
|
-
// Emit performance test completion
|
|
284
|
-
this.eventBus.emit('performance-tester:completed', {
|
|
285
|
-
p95Latency: data.result.metrics.latency.p95,
|
|
286
|
-
throughput: data.result.metrics.throughput,
|
|
287
|
-
regressions: data.result.regressions.length
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
**Advanced Verification (Optional):**
|
|
293
|
-
```typescript
|
|
294
|
-
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
295
|
-
const verification = await hookManager.executePreTaskVerification({
|
|
296
|
-
task: 'performance-testing',
|
|
297
|
-
context: {
|
|
298
|
-
requiredVars: ['TARGET_URL', 'LOAD_PATTERN'],
|
|
299
|
-
minMemoryMB: 1024,
|
|
300
|
-
requiredKeys: ['aqe/performance/baselines']
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
## Memory Management
|
|
306
|
-
|
|
307
|
-
### Baseline Storage
|
|
308
|
-
```typescript
|
|
309
|
-
// Store performance baselines via memory
|
|
310
|
-
await this.memoryStore.store('aqe/performance/baselines', {
|
|
311
|
-
api_response_time_p95: 200,
|
|
312
|
-
page_load_time_p95: 2000,
|
|
313
|
-
throughput_rps: 1000,
|
|
314
|
-
error_rate_threshold: 0.01
|
|
315
|
-
}, {
|
|
316
|
-
partition: 'coordination',
|
|
317
|
-
ttl: 86400 // 24 hours
|
|
318
|
-
});
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
### Threshold Configuration
|
|
322
|
-
```typescript
|
|
323
|
-
// Configure performance thresholds via memory
|
|
324
|
-
await this.memoryStore.store('aqe/performance/thresholds', {
|
|
325
|
-
response_time: { p50: 100, p95: 500, p99: 1000 },
|
|
326
|
-
throughput: { min_rps: 100, target_rps: 1000 },
|
|
327
|
-
availability: { uptime_percentage: 99.9, error_rate_max: 0.01 }
|
|
328
|
-
}, {
|
|
329
|
-
partition: 'coordination'
|
|
330
|
-
});
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
## Agent Coordination
|
|
334
|
-
|
|
335
|
-
### Integration with Test Planner
|
|
336
|
-
- Retrieve test scenarios and requirements
|
|
337
|
-
- Coordinate load testing schedules
|
|
338
|
-
- Share performance constraints
|
|
339
|
-
|
|
340
|
-
### Integration with Environment Manager
|
|
341
|
-
- Request test environment provisioning
|
|
342
|
-
- Monitor infrastructure during testing
|
|
343
|
-
- Scale resources based on load requirements
|
|
344
|
-
|
|
345
|
-
### Integration with Test Reporter
|
|
346
|
-
- Provide performance metrics and results
|
|
347
|
-
- Generate performance test reports
|
|
348
|
-
- Share regression analysis findings
|
|
349
|
-
|
|
350
|
-
### Integration with CI/CD Pipeline
|
|
351
|
-
- Execute performance gates in deployment pipeline
|
|
352
|
-
- Provide performance feedback for releases
|
|
353
|
-
- Trigger performance regression alerts
|
|
354
|
-
|
|
355
|
-
## Commands & Operations
|
|
356
|
-
|
|
357
|
-
### Initialization
|
|
358
|
-
```bash
|
|
359
|
-
agentic-qe agent spawn --name qe-performance-tester --type performance-tester --config performance-config.yaml
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Execution
|
|
363
|
-
```bash
|
|
364
|
-
# Execute load testing workflow
|
|
365
|
-
agentic-qe agent execute --name qe-performance-tester --task "load-test" --params '{
|
|
366
|
-
"target_url": "https://api.example.com",
|
|
367
|
-
"load_pattern": "ramp-up",
|
|
368
|
-
"max_users": 1000,
|
|
369
|
-
"duration": "10m",
|
|
370
|
-
"tool": "k6"
|
|
371
|
-
}'
|
|
372
|
-
|
|
373
|
-
# Execute performance regression testing
|
|
374
|
-
agentic-qe agent execute --name qe-performance-tester --task "regression-test" --params '{
|
|
375
|
-
"baseline_commit": "abc123",
|
|
376
|
-
"current_commit": "def456",
|
|
377
|
-
"threshold_variance": 0.1
|
|
378
|
-
}'
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
### Status & Monitoring
|
|
382
|
-
```bash
|
|
383
|
-
agentic-qe agent status --name qe-performance-tester
|
|
384
|
-
agentic-qe agent logs --name qe-performance-tester --lines 100
|
|
385
|
-
agentic-qe agent metrics --name qe-performance-tester
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
## Error Handling & Recovery
|
|
389
|
-
|
|
390
|
-
### Load Testing Failures
|
|
391
|
-
- Retry failed tests with reduced load
|
|
392
|
-
- Fallback to alternative testing tools
|
|
393
|
-
- Capture failure context for debugging
|
|
394
|
-
|
|
395
|
-
### Infrastructure Issues
|
|
396
|
-
- Monitor test environment health
|
|
397
|
-
- Handle resource exhaustion gracefully
|
|
398
|
-
- Coordinate with environment manager for scaling
|
|
399
|
-
|
|
400
|
-
### Threshold Violations
|
|
401
|
-
- Generate immediate alerts for SLA violations
|
|
402
|
-
- Trigger investigation workflows
|
|
403
|
-
- Provide detailed failure analysis
|
|
404
|
-
|
|
405
|
-
## Reporting & Analytics
|
|
406
|
-
|
|
407
|
-
### Performance Reports
|
|
408
|
-
- Generate comprehensive performance reports
|
|
409
|
-
- Include trend analysis and comparisons
|
|
410
|
-
- Provide actionable optimization recommendations
|
|
411
|
-
|
|
412
|
-
### Metrics Dashboard
|
|
413
|
-
- Real-time performance monitoring dashboards
|
|
414
|
-
- Historical trend analysis
|
|
415
|
-
- SLA compliance tracking
|
|
416
|
-
|
|
417
|
-
### Integration Reports
|
|
418
|
-
- Performance impact analysis for releases
|
|
419
|
-
- Regression detection reports
|
|
420
|
-
- Capacity planning recommendations
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
**Agent Type**: `performance-tester`
|
|
425
|
-
**Priority**: `high`
|
|
426
|
-
**Color**: `purple`
|
|
427
|
-
**Memory Namespace**: `aqe/performance`
|
|
428
|
-
**Coordination Protocol**: Claude Flow hooks with EventBus integration
|