Files
proffesor-for-testing__agen…/docs/policies/test-execution.md
Profa fb45e5e763 chore: release v1.6.1 - Advanced QE Skills Phase 3
## New Features

### 3 New Advanced QE Skills
- six-thinking-hats: Edward de Bono's methodology for comprehensive testing analysis
- brutal-honesty-review: Unvarnished technical criticism for code/test quality
- cicd-pipeline-qe-orchestrator: Complete CI/CD quality orchestration (5 phases, 3 workflows)

### Skills Library Growth
- Phase 1: 18 skills (Original Quality Engineering)
- Phase 2: 16 skills (Expanded QE Library)
- Phase 3: 3 skills (Advanced Quality Engineering) ⭐ NEW
- Total: 37 specialized QE skills (up from 34)

## Changes

### Documentation Updates (10 files)
- CHANGELOG.md: v1.6.1 release notes with comprehensive details
- README.md: Updated version badge, skills count (34→37)
- CLAUDE.md: Updated skills count and names in quick reference
- package.json: Version 1.6.0→1.6.1, description updated
- docs/reference/skills.md: Added Phase 3 section
- docs/reference/usage.md: Updated skills count
- src/cli/commands/init-claude-md-template.ts: New condensed template generator
- CI/CD orchestrator files: Updated all references to 37 skills

### Code Updates
- src/cli/commands/init.ts: Added 3 skills to QE_FLEET_SKILLS array
- Updated validation to check for 37 skills (was 34)
- Updated all documentation comments

### New Files (8 files)
- .claude/skills/six-thinking-hats/SKILL.md (1,215 lines)
- .claude/skills/brutal-honesty-review/SKILL.md (725 lines)
- .claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md (510 lines)
- .claude/skills/cicd-pipeline-qe-orchestrator/README.md (290 lines)
- resources/workflows/microservice-pipeline.md (372 lines)
- resources/workflows/monolith-pipeline.md (389 lines)
- resources/workflows/mobile-pipeline.md (497 lines)
- src/cli/commands/init-claude-md-template.ts (99 lines)

## Testing

- ✅ Build: Compiled successfully with no TypeScript errors
- ✅ Init: `aqe init --yes` successfully copies all 37 skills
- ✅ Verification: All 3 new skill directories created with valid SKILL.md
- ✅ CLAUDE.md: Correctly reports "37 QE Skills" with new skill names
- ✅ Lint: No new linting issues introduced
- ✅ Unit Tests: 898 passed, no new failures related to v1.6.1

## Impact

- Skills Coverage: 95%+ of modern QE practices with advanced frameworks
- CI/CD Integration: Complete pipeline orchestration commit→production
- Critical Thinking: Cognitive frameworks for better testing decisions
- Quality Standards: Brutal honesty approach for technical excellence

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 15:57:52 +00:00

74 lines
3.0 KiB
Markdown

# Test Execution Policy
**ALWAYS run tests in batches to avoid memory overload in constrained environments (DevPod, Codespaces, etc.).**
## Critical Requirements
This is a critical policy to prevent workspace crashes:
- ❌ **NEVER** run all tests in parallel without memory constraints
- ❌ **NEVER** use `npm test` without understanding memory impact
- ❌ **NEVER** run `npm run test:integration-unsafe` (direct Jest execution)
- ✅ **ALWAYS** use batched test scripts: `npm run test:unit`, `npm run test:integration`, `npm run test:agents`, etc.
- ✅ **ALWAYS** run tests sequentially with `--runInBand` in memory-constrained environments
- ✅ **ALWAYS** monitor memory usage before running large test suites
- ✅ **INTEGRATION TESTS**: Always use `npm run test:integration` which runs `scripts/test-integration-batched.sh`
## Examples of Correct Behavior
- User: "run all tests" → Run batched: `npm run test:unit && npm run test:integration && npm run test:agents`
- User: "test everything" → Use sequential batched execution with memory limits
- User: "run integration tests" → Use `npm run test:integration` (runs batched script)
- ❌ **BAD**: `npm test` (runs all 959 tests in parallel, causes OOM)
- ❌ **BAD**: `npm run test:integration-unsafe` (loads 46 files, causes OOM)
- ✅ **GOOD**: `npm run test:unit` then `npm run test:integration` (batched with memory limits)
## Available Batched Test Scripts
See `package.json` for all available scripts:
```bash
npm run test:unit # Unit tests only (512MB limit)
npm run test:integration # Integration tests BATCHED (scripts/test-integration-batched.sh)
npm run test:agents # Agent tests (512MB limit)
npm run test:cli # CLI tests (512MB limit)
npm run test:mcp # MCP tests (512MB limit)
npm run test:performance # Performance tests (1536MB limit)
npm run test:agentdb # AgentDB tests (1024MB limit)
```
## Why Integration Tests Need Batching
- **46 integration test files** (40 main + 6 phase2)
- Each file creates Database instances, agents, FleetManagers
- Running all 46 at once exceeds 768MB memory limit
- `scripts/test-integration-batched.sh` runs in batches of 5 files with cleanup between batches
- Phase2 tests run individually (heavier memory usage)
## Background
This policy prevents workspace crashes that occurred in previous sessions due to running all tests simultaneously. The workspace has limited memory (typically 768MB-2GB in DevPod/Codespaces), and running 959 tests in parallel can exceed this limit.
## Memory Profiling
If you need to check memory usage:
```bash
# Check available memory
free -h
# Monitor memory during test execution
watch -n 1 free -h
# Run tests with memory profiling
NODE_OPTIONS="--max-old-space-size=512" npm run test:unit
```
---
**Related Policies:**
- [Git Operations Policy](git-operations.md)
- [Release Verification Policy](release-verification.md)
**Related Scripts:**
- `scripts/test-integration-batched.sh` - Batched integration test runner