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
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# Six Hats Example: REST API Testing Strategy
|
|
2
|
+
|
|
3
|
+
**Context**: New REST API with 25 endpoints, 3-week development sprint, need to define comprehensive test strategy.
|
|
4
|
+
|
|
5
|
+
**Team**: 2 backend developers, 1 QE engineer
|
|
6
|
+
**Timeline**: Week 1 (planning), Weeks 2-3 (implementation & testing)
|
|
7
|
+
**Stack**: Node.js, Express, PostgreSQL, JWT auth
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🤍 White Hat - Facts (5 minutes)
|
|
12
|
+
|
|
13
|
+
### Current State
|
|
14
|
+
- **API Endpoints**: 25 total (8 GET, 7 POST, 5 PUT, 3 DELETE, 2 PATCH)
|
|
15
|
+
- **Authentication**: JWT with refresh tokens
|
|
16
|
+
- **Database**: PostgreSQL with 12 tables
|
|
17
|
+
- **Documentation**: OpenAPI 3.0 spec (80% complete)
|
|
18
|
+
- **Current Coverage**: 0% (greenfield project)
|
|
19
|
+
- **Team Experience**: Strong backend, moderate API testing experience
|
|
20
|
+
|
|
21
|
+
### Technical Details
|
|
22
|
+
- **Expected Load**: 100 requests/second peak
|
|
23
|
+
- **Response Time Target**: <200ms for 95th percentile
|
|
24
|
+
- **Uptime SLA**: 99.9%
|
|
25
|
+
- **Data Volume**: ~50k records in production
|
|
26
|
+
|
|
27
|
+
### Available Resources
|
|
28
|
+
- **CI/CD**: GitHub Actions configured
|
|
29
|
+
- **Test Frameworks**: Jest, Supertest, Newman (Postman)
|
|
30
|
+
- **Timeline**: 2 weeks for test development
|
|
31
|
+
- **Budget**: Standard (no new tools needed)
|
|
32
|
+
|
|
33
|
+
### Known Risks (from product)
|
|
34
|
+
- Authentication complexity (OAuth2 + JWT)
|
|
35
|
+
- Multi-tenant data isolation
|
|
36
|
+
- Real-time updates via WebSockets
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## ❤️ Red Hat - Feelings (3 minutes)
|
|
41
|
+
|
|
42
|
+
### Confidence Levels
|
|
43
|
+
- ✅ **Confident**: CRUD operations, database schema design
|
|
44
|
+
- ⚠️ **Somewhat Anxious**: Authentication edge cases, rate limiting
|
|
45
|
+
- ❌ **Very Concerned**: WebSocket testing, multi-tenant isolation
|
|
46
|
+
|
|
47
|
+
### Gut Instincts
|
|
48
|
+
- "The authentication flow feels overly complex - bugs will hide there"
|
|
49
|
+
- "I have a bad feeling about the data isolation between tenants"
|
|
50
|
+
- "The WebSocket real-time updates worry me - we've never tested those before"
|
|
51
|
+
- "The happy path will work, but edge cases will bite us"
|
|
52
|
+
|
|
53
|
+
### Team Sentiment
|
|
54
|
+
- Backend devs are excited about the API design
|
|
55
|
+
- QE engineer feels time pressure (2 weeks is tight)
|
|
56
|
+
- Product manager seems unaware of testing complexity
|
|
57
|
+
- Overall: 6/10 confidence we'll ship on time with quality
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 🖤 Black Hat - Risks & Problems (7 minutes)
|
|
62
|
+
|
|
63
|
+
### High-Risk Areas
|
|
64
|
+
|
|
65
|
+
**1. Authentication & Authorization**
|
|
66
|
+
- JWT token expiration not tested
|
|
67
|
+
- Refresh token rotation edge cases
|
|
68
|
+
- Password reset flow vulnerable
|
|
69
|
+
- Multi-tenant authorization bypass possible
|
|
70
|
+
- No rate limiting on auth endpoints
|
|
71
|
+
|
|
72
|
+
**2. Data Isolation (Multi-Tenancy)**
|
|
73
|
+
- Tenant A could potentially access Tenant B data
|
|
74
|
+
- No tests verify data isolation
|
|
75
|
+
- Database queries lack tenant ID filters
|
|
76
|
+
- Admin endpoints could leak data
|
|
77
|
+
|
|
78
|
+
**3. WebSocket Real-Time Updates**
|
|
79
|
+
- Zero experience testing WebSockets
|
|
80
|
+
- Connection stability untested
|
|
81
|
+
- Concurrent user scenarios unknown
|
|
82
|
+
- Message ordering not validated
|
|
83
|
+
|
|
84
|
+
**4. Performance & Scalability**
|
|
85
|
+
- No load testing planned
|
|
86
|
+
- N+1 query problems likely
|
|
87
|
+
- Database connection pooling untested
|
|
88
|
+
- No caching strategy
|
|
89
|
+
|
|
90
|
+
### Coverage Gaps
|
|
91
|
+
- Error handling: Only 30% of endpoints have error tests
|
|
92
|
+
- Edge cases: Boundary values, null handling untested
|
|
93
|
+
- Integration: Database + API + auth not tested together
|
|
94
|
+
- Regression: No test suite exists yet
|
|
95
|
+
|
|
96
|
+
### Assumptions to Challenge
|
|
97
|
+
- ❌ "JWT handles security" → Need to test token validation, expiry, revocation
|
|
98
|
+
- ❌ "ORM prevents SQL injection" → Need to validate input sanitization
|
|
99
|
+
- ❌ "Database constraints ensure data integrity" → Need application-level validation tests
|
|
100
|
+
|
|
101
|
+
### What Could Go Wrong in Production
|
|
102
|
+
- **Authentication bypass**: Attacker gains unauthorized access
|
|
103
|
+
- **Data leak**: Tenant A sees Tenant B's sensitive data
|
|
104
|
+
- **Performance degradation**: 100 req/sec causes database crash
|
|
105
|
+
- **Race conditions**: Concurrent updates corrupt data
|
|
106
|
+
- **API breaking changes**: Clients break on deployment
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 💛 Yellow Hat - Benefits & Opportunities (5 minutes)
|
|
111
|
+
|
|
112
|
+
### Current Strengths
|
|
113
|
+
- ✅ Well-documented OpenAPI spec (can generate tests from it!)
|
|
114
|
+
- ✅ Team has strong Jest experience
|
|
115
|
+
- ✅ CI/CD already configured (easy to add test stage)
|
|
116
|
+
- ✅ Database schema well-designed (migrations tested)
|
|
117
|
+
- ✅ Clean architecture (easy to mock/stub)
|
|
118
|
+
|
|
119
|
+
### Reusable Assets
|
|
120
|
+
- Existing authentication test utilities from previous project
|
|
121
|
+
- Database seeding scripts already written
|
|
122
|
+
- Postman collection with 15 example requests
|
|
123
|
+
- Swagger UI for manual testing
|
|
124
|
+
|
|
125
|
+
### Opportunities
|
|
126
|
+
- **Test automation framework**: Build once, reuse for future APIs
|
|
127
|
+
- **Contract testing**: Share API contracts with frontend team
|
|
128
|
+
- **Performance baseline**: Establish benchmarks early
|
|
129
|
+
- **Documentation**: Tests serve as living documentation
|
|
130
|
+
|
|
131
|
+
### Quick Wins
|
|
132
|
+
- Generate basic tests from OpenAPI spec (1 day)
|
|
133
|
+
- Automate Postman collection in CI (4 hours)
|
|
134
|
+
- Add authentication test suite from previous project (2 hours)
|
|
135
|
+
|
|
136
|
+
### Strategic Value
|
|
137
|
+
- First API with comprehensive testing → template for future projects
|
|
138
|
+
- Build QE reputation with strong quality delivery
|
|
139
|
+
- Reduce production incidents (costly to fix)
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 💚 Green Hat - Creative Ideas (7 minutes)
|
|
144
|
+
|
|
145
|
+
### Alternative Testing Approaches
|
|
146
|
+
|
|
147
|
+
**1. Contract Testing (Pact)**
|
|
148
|
+
- Define API contracts between frontend and backend
|
|
149
|
+
- Generate tests from contracts automatically
|
|
150
|
+
- Prevent breaking changes
|
|
151
|
+
- Enable independent team deployments
|
|
152
|
+
|
|
153
|
+
**2. Property-Based Testing (fast-check)**
|
|
154
|
+
- Define properties: "All GET requests return 200 or 404"
|
|
155
|
+
- Generate hundreds of random inputs
|
|
156
|
+
- Uncover edge cases humans miss
|
|
157
|
+
- Example: Test all possible JWT token formats
|
|
158
|
+
|
|
159
|
+
**3. Chaos Testing**
|
|
160
|
+
- Randomly kill database connections
|
|
161
|
+
- Inject network latency
|
|
162
|
+
- Corrupt request payloads
|
|
163
|
+
- Test system resilience
|
|
164
|
+
|
|
165
|
+
**4. Visual API Testing**
|
|
166
|
+
- Use Postman Mock Server
|
|
167
|
+
- Validate response schemas visually
|
|
168
|
+
- Enable non-technical stakeholders to review
|
|
169
|
+
- Generate documentation from tests
|
|
170
|
+
|
|
171
|
+
**5. AI-Generated Test Data**
|
|
172
|
+
- Use LLMs to generate realistic test users
|
|
173
|
+
- Create synthetic PII (privacy-safe)
|
|
174
|
+
- Generate edge case scenarios
|
|
175
|
+
- Cover cultural/language variations
|
|
176
|
+
|
|
177
|
+
### Crazy Ideas (That Might Work)
|
|
178
|
+
|
|
179
|
+
- **Idea**: Test API by deploying to production with feature flags (0% traffic)
|
|
180
|
+
- **Why it might work**: Real production environment, no synthetic load, early validation
|
|
181
|
+
|
|
182
|
+
- **Idea**: Crowdsource testing with bug bounty program
|
|
183
|
+
- **Why it might work**: Security experts find vulnerabilities we'd miss
|
|
184
|
+
|
|
185
|
+
- **Idea**: Record production traffic and replay in test
|
|
186
|
+
- **Why it might work**: Test with real usage patterns, not synthetic scenarios
|
|
187
|
+
|
|
188
|
+
- **Idea**: Use GitHub Copilot to generate test cases from API documentation
|
|
189
|
+
- **Why it might work**: Fast initial coverage, human review for quality
|
|
190
|
+
|
|
191
|
+
### Emerging Techniques to Explore
|
|
192
|
+
|
|
193
|
+
- **Fuzzing**: AFL, libFuzzer for input validation
|
|
194
|
+
- **GraphQL Testing**: If we migrate from REST
|
|
195
|
+
- **Service Virtualization**: For external API dependencies
|
|
196
|
+
- **Shift-Left Security**: OWASP ZAP in CI/CD
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 🔵 Blue Hat - Process & Action Plan (5 minutes)
|
|
201
|
+
|
|
202
|
+
### Test Strategy Summary
|
|
203
|
+
|
|
204
|
+
**Goal**: 80% automated coverage, <5% production defects, ship on time
|
|
205
|
+
|
|
206
|
+
**Approach**: Risk-based testing with focus on authentication and data isolation
|
|
207
|
+
|
|
208
|
+
**Frameworks**:
|
|
209
|
+
- Unit: Jest
|
|
210
|
+
- Integration: Supertest
|
|
211
|
+
- Contract: Pact (frontend collaboration)
|
|
212
|
+
- Performance: k6 (load testing)
|
|
213
|
+
- Security: OWASP ZAP (automated scan)
|
|
214
|
+
|
|
215
|
+
### Prioritized Test Development
|
|
216
|
+
|
|
217
|
+
**Week 1: Foundation (Red Hat priorities)**
|
|
218
|
+
- ✅ Day 1-2: Authentication test suite (JWT, refresh, expiry)
|
|
219
|
+
- ✅ Day 3: Multi-tenant data isolation tests
|
|
220
|
+
- ✅ Day 4: Error handling and edge cases
|
|
221
|
+
- ✅ Day 5: Integration tests (DB + API + Auth)
|
|
222
|
+
|
|
223
|
+
**Week 2: Expansion (Yellow Hat opportunities)**
|
|
224
|
+
- Day 1-2: Property-based testing for input validation
|
|
225
|
+
- Day 3: Contract testing setup with frontend
|
|
226
|
+
- Day 4: Performance baseline (load testing)
|
|
227
|
+
- Day 5: Security scan (OWASP ZAP)
|
|
228
|
+
|
|
229
|
+
**Week 3: Polish (Green Hat innovations)**
|
|
230
|
+
- Day 1-2: WebSocket testing framework
|
|
231
|
+
- Day 3: Chaos testing experiments
|
|
232
|
+
- Day 4: Documentation and knowledge sharing
|
|
233
|
+
- Day 5: Buffer for fixes
|
|
234
|
+
|
|
235
|
+
### Action Plan
|
|
236
|
+
|
|
237
|
+
| Priority | Action | Owner | Deadline | Success Criteria |
|
|
238
|
+
|----------|--------|-------|----------|------------------|
|
|
239
|
+
| P0 | Build auth test suite with JWT validation | QE | Week 1 Day 2 | 30 tests covering auth flows |
|
|
240
|
+
| P0 | Create tenant isolation tests | QE | Week 1 Day 3 | Verified no data leaks |
|
|
241
|
+
| P0 | Integration test framework | Dev 1 | Week 1 Day 4 | CI/CD passing |
|
|
242
|
+
| P1 | Property-based testing POC | QE | Week 2 Day 2 | 100+ generated test cases |
|
|
243
|
+
| P1 | Contract testing with frontend | Dev 2 | Week 2 Day 3 | Pact broker deployed |
|
|
244
|
+
| P1 | Load testing baseline | QE | Week 2 Day 4 | 100 req/sec validated |
|
|
245
|
+
| P2 | WebSocket test framework | Dev 1 | Week 3 Day 2 | 10 WebSocket tests |
|
|
246
|
+
| P2 | Security scan automation | QE | Week 2 Day 5 | OWASP ZAP in CI |
|
|
247
|
+
|
|
248
|
+
### Decision Points
|
|
249
|
+
|
|
250
|
+
**Go/No-Go Decision (End of Week 2)**:
|
|
251
|
+
- ✅ Must have: All P0 tests passing, no critical security issues
|
|
252
|
+
- ✅ Should have: P1 tests at 70% complete, performance baseline met
|
|
253
|
+
- ⚠️ Nice to have: P2 experimental tests
|
|
254
|
+
|
|
255
|
+
**Criteria for Launch**:
|
|
256
|
+
- Auth test suite: 95%+ coverage
|
|
257
|
+
- Data isolation: 100% verified
|
|
258
|
+
- Integration tests: All passing
|
|
259
|
+
- Performance: <200ms p95 response time
|
|
260
|
+
- Security: No high/critical findings
|
|
261
|
+
|
|
262
|
+
### Next Steps (Immediate)
|
|
263
|
+
|
|
264
|
+
1. **Today**: QE starts auth test suite (pull existing code from previous project)
|
|
265
|
+
2. **Tomorrow**: Dev 1 sets up integration test framework
|
|
266
|
+
3. **Day 3**: Team reviews OpenAPI spec, generates test skeleton
|
|
267
|
+
4. **Day 4**: QE demos property-based testing POC to team
|
|
268
|
+
5. **Day 5**: Retrospective on Week 1 progress
|
|
269
|
+
|
|
270
|
+
### Metrics to Track
|
|
271
|
+
|
|
272
|
+
- Test coverage % (target: 80%)
|
|
273
|
+
- Test execution time (target: <5 min)
|
|
274
|
+
- Defect detection rate (baseline: track for future)
|
|
275
|
+
- Production incidents (target: <2 per month)
|
|
276
|
+
|
|
277
|
+
### Communication Plan
|
|
278
|
+
|
|
279
|
+
- **Daily**: Standup with test status
|
|
280
|
+
- **Weekly**: Demo to product manager (show test results)
|
|
281
|
+
- **End of Week 2**: Go/No-Go decision meeting
|
|
282
|
+
- **Post-Launch**: Retrospective with Six Hats on testing effectiveness
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Synthesis: Key Decisions
|
|
287
|
+
|
|
288
|
+
### What We're Doing
|
|
289
|
+
|
|
290
|
+
1. **Risk-based approach**: Auth + data isolation first (Black Hat priorities)
|
|
291
|
+
2. **Quick wins**: Reuse existing test utilities (Yellow Hat opportunities)
|
|
292
|
+
3. **Innovation**: Property-based testing + contract testing (Green Hat ideas)
|
|
293
|
+
4. **Pragmatic**: Skip WebSocket deep testing for MVP, address in next sprint
|
|
294
|
+
|
|
295
|
+
### What We're NOT Doing (And Why)
|
|
296
|
+
|
|
297
|
+
- ❌ Comprehensive WebSocket testing (too risky for timeline, defer to next sprint)
|
|
298
|
+
- ❌ Chaos testing in production (not ready for that level of experimentation)
|
|
299
|
+
- ❌ 100% coverage (diminishing returns, 80% is realistic)
|
|
300
|
+
- ❌ Manual exploratory testing (no time, focus on automation)
|
|
301
|
+
|
|
302
|
+
### How This Addresses Concerns
|
|
303
|
+
|
|
304
|
+
- **Red Hat anxiety** about auth → P0 auth test suite
|
|
305
|
+
- **Black Hat risk** of data leaks → P0 tenant isolation tests
|
|
306
|
+
- **Yellow Hat opportunity** to reuse code → Leverage existing test utils
|
|
307
|
+
- **Green Hat innovation** → Property-based testing POC
|
|
308
|
+
|
|
309
|
+
### Success Definition
|
|
310
|
+
|
|
311
|
+
- Ship on time with <3 critical bugs in first month
|
|
312
|
+
- 80% automated test coverage
|
|
313
|
+
- <5 minute CI/CD test execution
|
|
314
|
+
- Team confident in quality (Red Hat validation)
|
|
315
|
+
- Reusable test framework for future APIs
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Lessons for Next Time
|
|
320
|
+
|
|
321
|
+
### What This Six Hats Session Revealed
|
|
322
|
+
|
|
323
|
+
1. **Red Hat** identified the real concern (auth complexity, data isolation) before we wasted time
|
|
324
|
+
2. **Black Hat** forced us to challenge "JWT is secure" assumption
|
|
325
|
+
3. **Green Hat** gave us property-based testing idea (wouldn't have thought of it)
|
|
326
|
+
4. **Yellow Hat** reminded us we have existing auth tests (saved 2 days)
|
|
327
|
+
5. **Blue Hat** prevented scope creep (deferred WebSocket testing)
|
|
328
|
+
|
|
329
|
+
### Time Investment vs Value
|
|
330
|
+
|
|
331
|
+
- **Time**: 45 minutes for Six Hats session
|
|
332
|
+
- **Value**:
|
|
333
|
+
- Avoided 2 days of redundant work (reused existing tests)
|
|
334
|
+
- Identified critical risk (data isolation) early
|
|
335
|
+
- Aligned team on priorities
|
|
336
|
+
- Created clear action plan
|
|
337
|
+
|
|
338
|
+
**ROI**: ~4x (45 min investment prevented 2+ days of rework)
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
**Session Date**: 2025-11-13
|
|
343
|
+
**Participants**: Backend Dev 1, Backend Dev 2, QE Engineer
|
|
344
|
+
**Duration**: 45 minutes
|
|
345
|
+
**Outcome**: Clear test strategy, team alignment, on-track for launch
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Six Hats Analysis: [Your Testing Topic]
|
|
2
|
+
Date: YYYY-MM-DD
|
|
3
|
+
Facilitator: [Your Name]
|
|
4
|
+
Focus: [Specific testing question or challenge]
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🤍 White Hat - Facts & Data (5 minutes)
|
|
9
|
+
**Objective**: List only objective information. No opinions or interpretations.
|
|
10
|
+
|
|
11
|
+
### Test Metrics
|
|
12
|
+
- Current coverage:
|
|
13
|
+
- Number of tests:
|
|
14
|
+
- Pass rate:
|
|
15
|
+
- Execution time:
|
|
16
|
+
|
|
17
|
+
### Environment & Resources
|
|
18
|
+
- Test environments:
|
|
19
|
+
- Tools available:
|
|
20
|
+
- Team capacity:
|
|
21
|
+
|
|
22
|
+
### Known Data
|
|
23
|
+
- Recent defects:
|
|
24
|
+
- Performance benchmarks:
|
|
25
|
+
- Historical trends:
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ❤️ Red Hat - Feelings & Intuition (3 minutes)
|
|
30
|
+
**Objective**: Capture gut instincts and emotions. No justification needed.
|
|
31
|
+
|
|
32
|
+
### My Feelings About Quality
|
|
33
|
+
- I feel confident about:
|
|
34
|
+
- I feel anxious about:
|
|
35
|
+
- I'm frustrated by:
|
|
36
|
+
|
|
37
|
+
### Gut Instincts
|
|
38
|
+
- Something feels off about:
|
|
39
|
+
- My intuition says:
|
|
40
|
+
- If I had to ship today, I'd feel:
|
|
41
|
+
|
|
42
|
+
### Team Sentiment
|
|
43
|
+
- The team seems:
|
|
44
|
+
- Energy level around testing:
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 🖤 Black Hat - Risks & Problems (7 minutes)
|
|
49
|
+
**Objective**: Critical judgment. What could go wrong?
|
|
50
|
+
|
|
51
|
+
### High-Risk Areas
|
|
52
|
+
1.
|
|
53
|
+
2.
|
|
54
|
+
3.
|
|
55
|
+
|
|
56
|
+
### Coverage Gaps
|
|
57
|
+
- Not testing:
|
|
58
|
+
- Missing edge cases:
|
|
59
|
+
- Integration points:
|
|
60
|
+
|
|
61
|
+
### Assumptions to Challenge
|
|
62
|
+
- We assume:
|
|
63
|
+
- This might be wrong because:
|
|
64
|
+
|
|
65
|
+
### Potential Failures
|
|
66
|
+
- In production, this could fail if:
|
|
67
|
+
- Security vulnerabilities:
|
|
68
|
+
- Performance bottlenecks:
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 💛 Yellow Hat - Benefits & Opportunities (5 minutes)
|
|
73
|
+
**Objective**: Positive thinking. What's working? What can we leverage?
|
|
74
|
+
|
|
75
|
+
### Current Strengths
|
|
76
|
+
- Testing assets we have:
|
|
77
|
+
- Team capabilities:
|
|
78
|
+
- Tools and infrastructure:
|
|
79
|
+
|
|
80
|
+
### Opportunities
|
|
81
|
+
- We could leverage:
|
|
82
|
+
- Quick wins available:
|
|
83
|
+
- Reusable components:
|
|
84
|
+
|
|
85
|
+
### Value Being Provided
|
|
86
|
+
- Our testing prevents:
|
|
87
|
+
- We're good at:
|
|
88
|
+
- Competitive advantages:
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 💚 Green Hat - Creative Ideas (7 minutes)
|
|
93
|
+
**Objective**: New ideas and alternatives. No idea too crazy!
|
|
94
|
+
|
|
95
|
+
### Alternative Approaches
|
|
96
|
+
1.
|
|
97
|
+
2.
|
|
98
|
+
3.
|
|
99
|
+
|
|
100
|
+
### Innovative Testing Ideas
|
|
101
|
+
- What if we:
|
|
102
|
+
- We could try:
|
|
103
|
+
- Emerging techniques to explore:
|
|
104
|
+
|
|
105
|
+
### Crazy Ideas (That Might Work)
|
|
106
|
+
-
|
|
107
|
+
-
|
|
108
|
+
-
|
|
109
|
+
|
|
110
|
+
### Tools/Techniques to Investigate
|
|
111
|
+
-
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🔵 Blue Hat - Process & Action Plan (5 minutes)
|
|
116
|
+
**Objective**: Organize findings into structured plan.
|
|
117
|
+
|
|
118
|
+
### Summary of Key Insights
|
|
119
|
+
- Most critical finding:
|
|
120
|
+
- Biggest opportunity:
|
|
121
|
+
- Top creative idea:
|
|
122
|
+
|
|
123
|
+
### Prioritized Actions
|
|
124
|
+
1. **Immediate** (This Week):
|
|
125
|
+
- [ ]
|
|
126
|
+
- [ ]
|
|
127
|
+
|
|
128
|
+
2. **Short-Term** (2-4 Weeks):
|
|
129
|
+
- [ ]
|
|
130
|
+
- [ ]
|
|
131
|
+
|
|
132
|
+
3. **Long-Term** (Quarter):
|
|
133
|
+
- [ ]
|
|
134
|
+
- [ ]
|
|
135
|
+
|
|
136
|
+
### Next Steps
|
|
137
|
+
- First action:
|
|
138
|
+
- Owner:
|
|
139
|
+
- Deadline:
|
|
140
|
+
- Success criteria:
|
|
141
|
+
|
|
142
|
+
### Decision Points
|
|
143
|
+
- Go/No-Go decision:
|
|
144
|
+
- Required before proceeding:
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Final Synthesis
|
|
149
|
+
|
|
150
|
+
### What Did I Learn?
|
|
151
|
+
-
|
|
152
|
+
|
|
153
|
+
### Key Decisions Made
|
|
154
|
+
-
|
|
155
|
+
|
|
156
|
+
### Follow-Up Required
|
|
157
|
+
-
|
|
158
|
+
|
|
159
|
+
### Share With
|
|
160
|
+
-
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
**Session Duration**: ___ minutes
|
|
165
|
+
**Most Valuable Hat**:
|
|
166
|
+
**Would Use Again**: Yes / No
|
|
167
|
+
**Notes**:
|