initial commit
This commit is contained in:
6
.gemini/skills/bmad-teach-me-testing/SKILL.md
Normal file
6
.gemini/skills/bmad-teach-me-testing/SKILL.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
name: bmad-teach-me-testing
|
||||
description: 'Teach testing progressively through structured sessions. Use when user says "lets learn testing" or "I want to study test practices"'
|
||||
---
|
||||
|
||||
Follow the instructions in [workflow.md](workflow.md).
|
||||
@@ -0,0 +1 @@
|
||||
type: skill
|
||||
197
.gemini/skills/bmad-teach-me-testing/checklist.md
Normal file
197
.gemini/skills/bmad-teach-me-testing/checklist.md
Normal file
@@ -0,0 +1,197 @@
|
||||
# Teach Me Testing - Quality Checklist
|
||||
|
||||
## Workflow Quality Standards
|
||||
|
||||
Use this checklist to validate the teaching workflow meets quality standards.
|
||||
|
||||
---
|
||||
|
||||
## Foundation Quality
|
||||
|
||||
- [ ] **workflow.md** exists with proper frontmatter
|
||||
- [ ] Tri-modal routing logic present (Create/Edit/Validate)
|
||||
- [ ] Configuration loading references correct module (TEA)
|
||||
- [ ] First step path correct (`./steps-c/step-01-init.md`)
|
||||
- [ ] Folder structure complete (steps-c/, steps-e/, steps-v/, data/, templates/)
|
||||
|
||||
---
|
||||
|
||||
## Template Quality
|
||||
|
||||
- [ ] **progress-template.yaml** has complete schema
|
||||
- [ ] All 7 sessions defined with proper structure
|
||||
- [ ] Session status tracking fields present (not-started/in-progress/completed)
|
||||
- [ ] stepsCompleted array for continuation tracking
|
||||
- [ ] **session-notes-template.md** has all required sections
|
||||
- [ ] **certificate-template.md** includes all 7 sessions
|
||||
|
||||
---
|
||||
|
||||
## Step File Quality (CREATE mode)
|
||||
|
||||
### Initialization Steps
|
||||
|
||||
- [ ] **step-01-init.md** checks for existing progress file
|
||||
- [ ] Continuation detection logic works correctly
|
||||
- [ ] **step-01b-continue.md** loads progress and routes to session menu
|
||||
- [ ] Progress dashboard displays completion status
|
||||
|
||||
### Assessment Step
|
||||
|
||||
- [ ] **step-02-assess.md** gathers role, experience, goals
|
||||
- [ ] Validation for role (QA/Dev/Lead/VP)
|
||||
- [ ] Validation for experience (beginner/intermediate/experienced)
|
||||
- [ ] Assessment data written to progress file
|
||||
|
||||
### Session Menu Hub
|
||||
|
||||
- [ ] **step-03-session-menu.md** displays all 7 sessions
|
||||
- [ ] Completion indicators shown (✓ completed, 🔄 in-progress, ⬜ not-started)
|
||||
- [ ] Branching logic routes to selected session (1-7)
|
||||
- [ ] Exit logic (X) routes to completion if all done, otherwise saves and exits
|
||||
|
||||
### Session Steps (1-7)
|
||||
|
||||
- [ ] Each session loads relevant TEA docs just-in-time
|
||||
- [ ] Teaching content presented (mostly autonomous)
|
||||
- [ ] Quiz validation with ≥70% threshold
|
||||
- [ ] Session notes artifact generated
|
||||
- [ ] Progress file updated (status, score, artifact path)
|
||||
- [ ] Returns to session menu hub after completion
|
||||
|
||||
### Completion Step
|
||||
|
||||
- [ ] **step-05-completion.md** verifies all 7 sessions complete
|
||||
- [ ] Certificate generated with accurate data
|
||||
- [ ] Final progress file update (certificate_generated: true)
|
||||
- [ ] Congratulations message shown
|
||||
|
||||
---
|
||||
|
||||
## Data File Quality
|
||||
|
||||
- [ ] **curriculum.yaml** defines all 7 sessions
|
||||
- [ ] **role-paths.yaml** maps role customizations
|
||||
- [ ] **session-content-map.yaml** references TEA docs/fragments/URLs correctly
|
||||
- [ ] **quiz-questions.yaml** has questions for all sessions
|
||||
- [ ] **tea-resources-index.yaml** has complete documentation index
|
||||
|
||||
---
|
||||
|
||||
## Content Quality
|
||||
|
||||
### TEA Documentation Integration
|
||||
|
||||
- [ ] Local file paths correct (`/docs/*.md`, `/src/testarch/knowledge/*.md`)
|
||||
- [ ] Online URLs correct (<https://bmad-code-org.github.io/...>)
|
||||
- [ ] GitHub fragment links correct
|
||||
- [ ] Triple reference system (local + online + GitHub) implemented
|
||||
|
||||
### Role-Based Content
|
||||
|
||||
- [ ] QA examples present (practical testing focus)
|
||||
- [ ] Dev examples present (integration/TDD focus)
|
||||
- [ ] Lead examples present (architecture/patterns focus)
|
||||
- [ ] VP examples present (strategy/metrics focus)
|
||||
|
||||
### Quiz Quality
|
||||
|
||||
- [ ] Questions test understanding, not memorization
|
||||
- [ ] 3-5 questions per session
|
||||
- [ ] Mix of difficulty levels
|
||||
- [ ] Clear correct answers with explanations
|
||||
|
||||
---
|
||||
|
||||
## Error Handling
|
||||
|
||||
- [ ] Corrupted progress file detection
|
||||
- [ ] Backup and recovery options
|
||||
- [ ] Missing TEA docs fallback (Web-Browsing)
|
||||
- [ ] Quiz failure recovery (review or continue)
|
||||
- [ ] Session interruption handling (auto-save)
|
||||
|
||||
---
|
||||
|
||||
## User Experience
|
||||
|
||||
- [ ] Clear navigation instructions
|
||||
- [ ] Progress visibility (completion percentage, next recommended)
|
||||
- [ ] Auto-save after each session
|
||||
- [ ] Resume capability works seamlessly
|
||||
- [ ] Exit options clear at all decision points
|
||||
|
||||
---
|
||||
|
||||
## State Management
|
||||
|
||||
- [ ] stepsCompleted array updated correctly
|
||||
- [ ] Session tracking accurate (status, dates, scores)
|
||||
- [ ] Completion percentage calculated correctly
|
||||
- [ ] Next recommended session logic works
|
||||
- [ ] lastStep and lastContinued timestamps updated
|
||||
|
||||
---
|
||||
|
||||
## Validation Mode
|
||||
|
||||
- [ ] **step-v-01-validate.md** checks all quality standards
|
||||
- [ ] Generates validation report
|
||||
- [ ] Identifies issues clearly
|
||||
- [ ] Provides remediation suggestions
|
||||
|
||||
---
|
||||
|
||||
## Edit Mode
|
||||
|
||||
- [ ] **step-e-01-assess-workflow.md** identifies what to edit
|
||||
- [ ] **step-e-02-apply-edits.md** applies modifications safely
|
||||
- [ ] Preserves workflow integrity during edits
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
- [ ] **instructions.md** clear and complete
|
||||
- [ ] **checklist.md** (this file) comprehensive
|
||||
- [ ] README (if present) accurate
|
||||
- [ ] Inline comments in complex logic
|
||||
|
||||
---
|
||||
|
||||
## Performance
|
||||
|
||||
- [ ] Just-in-time loading (not loading all docs upfront)
|
||||
- [ ] Session steps complete in reasonable time (<5 min)
|
||||
- [ ] Quiz validation fast (<1 min)
|
||||
- [ ] Progress file writes efficient
|
||||
|
||||
---
|
||||
|
||||
## Security
|
||||
|
||||
- [ ] No hardcoded credentials
|
||||
- [ ] File paths use variables
|
||||
- [ ] Progress files private to user
|
||||
- [ ] No sensitive data in session notes
|
||||
|
||||
---
|
||||
|
||||
## Completion Criteria
|
||||
|
||||
✅ **Workflow is ready for deployment when:**
|
||||
|
||||
- All checkboxes above are checked
|
||||
- All step files exist and follow standards
|
||||
- All templates present and correct
|
||||
- Data files complete and accurate
|
||||
- Error handling robust
|
||||
- User experience smooth
|
||||
- Documentation complete
|
||||
|
||||
---
|
||||
|
||||
**Validation Date:** **\*\***\_\_\_**\*\***
|
||||
**Validated By:** **\*\***\_\_\_**\*\***
|
||||
**Issues Found:** **\*\***\_\_\_**\*\***
|
||||
**Status:** ⬜ Ready for Production | ⬜ Needs Revisions
|
||||
129
.gemini/skills/bmad-teach-me-testing/data/curriculum.yaml
Normal file
129
.gemini/skills/bmad-teach-me-testing/data/curriculum.yaml
Normal file
@@ -0,0 +1,129 @@
|
||||
# TEA Academy Curriculum Structure
|
||||
# Defines the 7-session learning path with objectives and content mappings
|
||||
|
||||
sessions:
|
||||
- id: session-01-quickstart
|
||||
name: "Quick Start"
|
||||
duration: "30 min"
|
||||
difficulty: beginner
|
||||
objective: "Get immediate value by seeing TEA in action"
|
||||
description: "TEA Lite intro, run automate workflow, understand engagement models"
|
||||
recommended_for:
|
||||
- beginner
|
||||
- intermediate
|
||||
- experienced
|
||||
prerequisites: []
|
||||
|
||||
- id: session-02-concepts
|
||||
name: "Core Concepts"
|
||||
duration: "45 min"
|
||||
difficulty: beginner
|
||||
objective: "Understand WHY behind TEA principles"
|
||||
description: "Risk-based testing, DoD, testing as engineering philosophy"
|
||||
recommended_for:
|
||||
- beginner
|
||||
- intermediate
|
||||
prerequisites: []
|
||||
|
||||
- id: session-03-architecture
|
||||
name: "Architecture & Patterns"
|
||||
duration: "60 min"
|
||||
difficulty: intermediate
|
||||
objective: "Understand TEA patterns and architecture"
|
||||
description: "Fixtures, network-first patterns, data factories, step-file architecture"
|
||||
recommended_for:
|
||||
- intermediate
|
||||
- experienced
|
||||
prerequisites:
|
||||
- session-02-concepts
|
||||
|
||||
- id: session-04-test-design
|
||||
name: "Test Design"
|
||||
duration: "60 min"
|
||||
difficulty: intermediate
|
||||
objective: "Learn risk assessment and coverage planning"
|
||||
description: "Test Design workflow, risk/testability assessment, coverage planning"
|
||||
recommended_for:
|
||||
- intermediate
|
||||
- experienced
|
||||
prerequisites:
|
||||
- session-02-concepts
|
||||
|
||||
- id: session-05-atdd-automate
|
||||
name: "ATDD & Automate"
|
||||
duration: "60 min"
|
||||
difficulty: intermediate
|
||||
objective: "Generate tests with TDD red-green approach"
|
||||
description: "ATDD workflow (red phase), Automate workflow, component TDD, API testing"
|
||||
recommended_for:
|
||||
- intermediate
|
||||
- experienced
|
||||
prerequisites:
|
||||
- session-02-concepts
|
||||
|
||||
- id: session-06-quality-trace
|
||||
name: "Quality & Trace"
|
||||
duration: "45 min"
|
||||
difficulty: intermediate
|
||||
objective: "Audit quality and ensure traceability"
|
||||
description: "Test Review (5 dimensions), Trace workflow, quality metrics"
|
||||
recommended_for:
|
||||
- intermediate
|
||||
- experienced
|
||||
prerequisites:
|
||||
- session-02-concepts
|
||||
|
||||
- id: session-07-advanced
|
||||
name: "Advanced Patterns"
|
||||
duration: "ongoing"
|
||||
difficulty: advanced
|
||||
objective: "Deep-dive into specific knowledge fragments"
|
||||
description: "Menu-driven exploration of 35 knowledge fragments organized by category"
|
||||
recommended_for:
|
||||
- experienced
|
||||
prerequisites: []
|
||||
|
||||
# Learning Paths by Experience Level
|
||||
learning_paths:
|
||||
beginner:
|
||||
recommended_sequence:
|
||||
- session-01-quickstart
|
||||
- session-02-concepts
|
||||
- session-03-architecture
|
||||
- session-04-test-design
|
||||
- session-05-atdd-automate
|
||||
- session-06-quality-trace
|
||||
- session-07-advanced
|
||||
skip_optional: []
|
||||
|
||||
intermediate:
|
||||
recommended_sequence:
|
||||
- session-01-quickstart
|
||||
- session-02-concepts
|
||||
- session-03-architecture
|
||||
- session-04-test-design
|
||||
- session-05-atdd-automate
|
||||
- session-06-quality-trace
|
||||
- session-07-advanced
|
||||
skip_optional:
|
||||
- session-01-quickstart # Can skip if already familiar
|
||||
certificate_eligible_if_skipped: false
|
||||
|
||||
experienced:
|
||||
recommended_sequence:
|
||||
- session-02-concepts
|
||||
- session-03-architecture
|
||||
- session-04-test-design
|
||||
- session-05-atdd-automate
|
||||
- session-06-quality-trace
|
||||
- session-07-advanced
|
||||
skip_optional:
|
||||
- session-01-quickstart
|
||||
certificate_eligible_if_skipped: false
|
||||
|
||||
# Completion Requirements
|
||||
completion:
|
||||
minimum_sessions: 7 # All sessions required for certificate
|
||||
passing_score: 70 # Minimum quiz score to pass session
|
||||
average_score_threshold: 70 # Minimum average for certificate
|
||||
certificate_note: "Certificate eligibility requires completion.minimum_sessions. If intermediate.skip_optional or experienced.skip_optional sessions are skipped, certificate eligibility is forfeited."
|
||||
206
.gemini/skills/bmad-teach-me-testing/data/quiz-questions.yaml
Normal file
206
.gemini/skills/bmad-teach-me-testing/data/quiz-questions.yaml
Normal file
@@ -0,0 +1,206 @@
|
||||
# Quiz Questions Bank
|
||||
# Organized by session with questions, answers, and explanations
|
||||
|
||||
session-01-quickstart:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-purpose
|
||||
question: "What is the primary purpose of TEA?"
|
||||
options:
|
||||
A: "Replace all testing tools with a single framework"
|
||||
B: "Make testing expertise accessible through structured workflows and knowledge"
|
||||
C: "Automate 100% of test writing"
|
||||
D: "Only works for Playwright tests"
|
||||
correct: B
|
||||
explanation: "TEA makes testing expertise accessible and scalable through workflows and knowledge fragments. It's not about replacing tools or automating everything."
|
||||
|
||||
- id: q2-risk-matrix
|
||||
question: "What does the P0-P3 risk matrix help with?"
|
||||
options:
|
||||
A: "Prioritizing test coverage based on criticality"
|
||||
B: "Grading test code quality"
|
||||
C: "Measuring test execution speed"
|
||||
D: "Tracking bug severity"
|
||||
correct: A
|
||||
explanation: "P0-P3 helps prioritize what to test based on risk (Probability × Impact). P0 = critical features like login, P3 = nice-to-have like tooltips."
|
||||
|
||||
- id: q3-engagement
|
||||
question: "Which TEA engagement model is best for quick value in 30 minutes?"
|
||||
options:
|
||||
A: "TEA Enterprise"
|
||||
B: "TEA Lite"
|
||||
C: "TEA Integrated"
|
||||
D: "TEA Brownfield"
|
||||
correct: B
|
||||
explanation: "TEA Lite is the 30-minute quick start approach. Enterprise and Integrated are more comprehensive."
|
||||
|
||||
session-02-concepts:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-p0-priority
|
||||
question: "In the P0-P3 matrix, what priority level should login/authentication have?"
|
||||
options:
|
||||
A: "P3 - Low priority"
|
||||
B: "P2 - Medium priority"
|
||||
C: "P1 - High priority"
|
||||
D: "P0 - Critical priority"
|
||||
correct: D
|
||||
explanation: "Login/authentication is P0 - critical. Business fails if broken. High usage, high impact, business-critical."
|
||||
|
||||
- id: q2-hard-waits
|
||||
question: "What is the problem with using sleep(5000) instead of waitFor conditions?"
|
||||
options:
|
||||
A: "It makes tests slower"
|
||||
B: "It's a hard wait that doesn't react to state changes (violates DoD)"
|
||||
C: "It uses too much memory"
|
||||
D: "It's not supported in modern frameworks"
|
||||
correct: B
|
||||
explanation: "Hard waits don't react to state changes - they guess timing. Use waitFor to react to conditions. This violates TEA Definition of Done."
|
||||
|
||||
- id: q3-self-cleaning
|
||||
question: "What does 'self-cleaning tests' mean in TEA Definition of Done?"
|
||||
options:
|
||||
A: "Tests automatically fix their own bugs"
|
||||
B: "Tests delete/deactivate entities they create during testing"
|
||||
C: "Tests run faster by cleaning up code"
|
||||
D: "Tests remove old test files"
|
||||
correct: B
|
||||
explanation: "Self-cleaning means tests delete/deactivate entities they created. No manual cleanup required."
|
||||
|
||||
session-03-architecture:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-fixtures
|
||||
question: "What is the main benefit of fixture composition?"
|
||||
options:
|
||||
A: "Faster test execution"
|
||||
B: "DRY - define once, reuse everywhere"
|
||||
C: "Better error messages"
|
||||
D: "Automatic screenshot capture"
|
||||
correct: B
|
||||
explanation: "Fixture composition allows you to define setup once and reuse everywhere. DRY principle for test setup."
|
||||
|
||||
- id: q2-network-first
|
||||
question: "Why is 'network-first' better than mocking after the action?"
|
||||
options:
|
||||
A: "It's faster"
|
||||
B: "It prevents race conditions"
|
||||
C: "It uses less memory"
|
||||
D: "It's easier to write"
|
||||
correct: B
|
||||
explanation: "Setting up network interception BEFORE the action prevents race conditions. The mock is ready when the action triggers."
|
||||
|
||||
- id: q3-step-file
|
||||
question: "What pattern does this teaching workflow use?"
|
||||
options:
|
||||
A: "Page Object Model"
|
||||
B: "Behavior Driven Development"
|
||||
C: "Step-File Architecture"
|
||||
D: "Test Pyramid"
|
||||
correct: C
|
||||
explanation: "This workflow uses step-file architecture: micro-file design, just-in-time loading, sequential enforcement."
|
||||
|
||||
session-04-test-design:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-test-design-purpose
|
||||
question: "What does the Test Design workflow help you do?"
|
||||
options:
|
||||
A: "Write tests faster"
|
||||
B: "Plan tests BEFORE writing them"
|
||||
C: "Run tests in parallel"
|
||||
D: "Debug test failures"
|
||||
correct: B
|
||||
explanation: "Test Design workflow helps you plan tests before writing them. Design before code, like architecture before implementation."
|
||||
|
||||
- id: q2-risk-calculation
|
||||
question: "How do you calculate risk?"
|
||||
options:
|
||||
A: "Probability + Impact"
|
||||
B: "Probability × Impact"
|
||||
C: "Probability - Impact"
|
||||
D: "Probability / Impact"
|
||||
correct: B
|
||||
explanation: "Risk = Probability × Impact. Multiply the likelihood of failure by the impact of failure."
|
||||
|
||||
- id: q3-p0-coverage
|
||||
question: "For P0 features, which test levels should you use?"
|
||||
options:
|
||||
A: "Only E2E tests"
|
||||
B: "Only unit tests"
|
||||
C: "Unit + Integration + E2E (comprehensive)"
|
||||
D: "Manual testing only"
|
||||
correct: C
|
||||
explanation: "P0 features need comprehensive coverage: Unit + Integration + E2E. High confidence for critical features."
|
||||
|
||||
session-05-atdd-automate:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-red-phase
|
||||
question: "What is the 'red' phase in TDD?"
|
||||
options:
|
||||
A: "Tests fail (code doesn't exist yet)"
|
||||
B: "Tests pass"
|
||||
C: "Code is refactored"
|
||||
D: "Tests are deleted"
|
||||
correct: A
|
||||
explanation: "Red phase: Tests fail because the code doesn't exist yet. Write tests first, then implement."
|
||||
|
||||
- id: q2-atdd-vs-automate
|
||||
question: "What's the difference between ATDD and Automate workflows?"
|
||||
options:
|
||||
A: "ATDD generates E2E, Automate generates API tests"
|
||||
B: "ATDD writes tests first (red phase), Automate tests existing code"
|
||||
C: "ATDD is faster than Automate"
|
||||
D: "They're the same workflow"
|
||||
correct: B
|
||||
explanation: "ATDD writes failing tests first (red phase), then you implement. Automate generates tests for existing code (coverage expansion)."
|
||||
|
||||
- id: q3-api-testing
|
||||
question: "Why use pure API tests without a browser?"
|
||||
options:
|
||||
A: "They look prettier"
|
||||
B: "They're easier to debug"
|
||||
C: "They're faster and test business logic directly"
|
||||
D: "They're required by TEA"
|
||||
correct: C
|
||||
explanation: "Pure API tests are faster (no browser overhead) and test business logic directly without UI complexity."
|
||||
|
||||
session-06-quality-trace:
|
||||
passing_score: 70
|
||||
questions:
|
||||
- id: q1-five-dimensions
|
||||
question: "What are the 5 dimensions in Test Review workflow?"
|
||||
options:
|
||||
A: "Speed, cost, coverage, bugs, time"
|
||||
B: "Determinism, Isolation, Assertions, Structure, Performance"
|
||||
C: "Unit, integration, E2E, manual, exploratory"
|
||||
D: "P0, P1, P2, P3, P4"
|
||||
correct: B
|
||||
explanation: "Test Review evaluates 5 dimensions: Determinism (no flakiness), Isolation (parallel-safe), Assertions (correct checks), Structure (readable/maintainable organization), Performance (speed)."
|
||||
|
||||
- id: q2-release-gate
|
||||
question: "When should the Trace workflow gate decision be RED (block release)?"
|
||||
options:
|
||||
A: "Any test failures exist"
|
||||
B: "P0 gaps exist (critical requirements not tested)"
|
||||
C: "Code coverage is below 80%"
|
||||
D: "Tests are slow"
|
||||
correct: B
|
||||
explanation: "RED gate when P0 gaps exist - critical requirements not tested. Don't ship if critical features lack test coverage."
|
||||
|
||||
- id: q3-metrics
|
||||
question: "Which metric matters most for quality?"
|
||||
options:
|
||||
A: "Total line coverage %"
|
||||
B: "Number of tests written"
|
||||
C: "P0/P1 coverage %"
|
||||
D: "Test file count"
|
||||
correct: C
|
||||
explanation: "P0/P1 coverage matters most - it measures coverage of critical/high-priority features. Total line coverage is a vanity metric."
|
||||
|
||||
session-07-advanced:
|
||||
# No quiz - exploratory session
|
||||
# Score: 100 (completion based, not quiz based)
|
||||
passing_score: 100
|
||||
questions: []
|
||||
136
.gemini/skills/bmad-teach-me-testing/data/role-paths.yaml
Normal file
136
.gemini/skills/bmad-teach-me-testing/data/role-paths.yaml
Normal file
@@ -0,0 +1,136 @@
|
||||
# Role-Based Content Customization
|
||||
# Defines how teaching examples and focus areas adapt based on learner role
|
||||
|
||||
roles:
|
||||
qa:
|
||||
display_name: "QA Engineer"
|
||||
focus_areas:
|
||||
- Practical testing workflow usage
|
||||
- Test framework setup and maintenance
|
||||
- Test quality and coverage metrics
|
||||
- CI/CD integration
|
||||
example_contexts:
|
||||
- "Expanding test coverage for existing features"
|
||||
- "Setting up test framework for new project"
|
||||
- "Reducing flaky tests in CI pipeline"
|
||||
- "Improving test execution speed"
|
||||
recommended_sessions:
|
||||
- session-01-quickstart
|
||||
- session-02-concepts
|
||||
- session-03-architecture
|
||||
- session-05-atdd-automate
|
||||
- session-06-quality-trace
|
||||
teaching_adaptations:
|
||||
session-01-quickstart: "Focus on Automate workflow - quickly expand coverage"
|
||||
session-02-concepts: "Emphasize P0-P3 for defending coverage decisions"
|
||||
session-03-architecture: "Fixture patterns for maintainable test suites"
|
||||
session-04-test-design: "Test design for planning coverage expansion"
|
||||
session-05-atdd-automate: "ATDD and Automate for test generation"
|
||||
session-06-quality-trace: "Test Review for quality metrics reporting"
|
||||
session-07-advanced: "Playwright Utils for advanced testing patterns"
|
||||
|
||||
dev:
|
||||
display_name: "Software Developer"
|
||||
focus_areas:
|
||||
- Integration testing perspective
|
||||
- TDD approach
|
||||
- Test-driven development workflow
|
||||
- Unit and integration tests
|
||||
example_contexts:
|
||||
- "Writing tests alongside feature development"
|
||||
- "Using ATDD to drive implementation"
|
||||
- "Integrating tests into development workflow"
|
||||
- "Testing APIs and business logic"
|
||||
recommended_sessions:
|
||||
- session-01-quickstart
|
||||
- session-02-concepts
|
||||
- session-05-atdd-automate
|
||||
- session-03-architecture
|
||||
- session-04-test-design
|
||||
teaching_adaptations:
|
||||
session-01-quickstart: "Focus on ATDD - tests drive implementation"
|
||||
session-02-concepts: "Connect DoD to code quality standards"
|
||||
session-03-architecture: "Fixtures as code patterns, like dependency injection"
|
||||
session-04-test-design: "Risk assessment before writing code"
|
||||
session-05-atdd-automate: "Red-green-refactor TDD cycle"
|
||||
session-06-quality-trace: "Test quality like code quality - refactoring applies"
|
||||
session-07-advanced: "API testing patterns, component TDD"
|
||||
|
||||
lead:
|
||||
display_name: "Tech Lead / Engineering Manager"
|
||||
focus_areas:
|
||||
- Test architecture decisions
|
||||
- Team testing patterns
|
||||
- Framework and tooling choices
|
||||
- Quality standards enforcement
|
||||
example_contexts:
|
||||
- "Establishing team testing standards"
|
||||
- "Choosing test architecture patterns"
|
||||
- "Code review for test quality"
|
||||
- "Scaling test automation across team"
|
||||
recommended_sessions:
|
||||
- session-01-quickstart
|
||||
- session-03-architecture
|
||||
- session-04-test-design
|
||||
- session-06-quality-trace
|
||||
- session-07-advanced
|
||||
teaching_adaptations:
|
||||
session-01-quickstart: "TEA as team standard - scalable patterns"
|
||||
session-02-concepts: "DoD as code review checklist - enforce quality"
|
||||
session-03-architecture: "Architecture patterns for team consistency"
|
||||
session-04-test-design: "Test design as planning phase in development"
|
||||
session-05-atdd-automate: "ATDD for team TDD adoption"
|
||||
session-06-quality-trace: "Test Review for quality metrics and team standards"
|
||||
session-07-advanced: "Step-file architecture, fixture patterns, CI governance"
|
||||
|
||||
vp:
|
||||
display_name: "VP Engineering / Director"
|
||||
focus_areas:
|
||||
- Testing strategy and ROI
|
||||
- Quality metrics that matter
|
||||
- Team scalability
|
||||
- Risk management through testing
|
||||
example_contexts:
|
||||
- "Justifying test automation investment"
|
||||
- "Scaling testing across multiple teams"
|
||||
- "Quality metrics for stakeholder reporting"
|
||||
- "Risk mitigation through test coverage"
|
||||
recommended_sessions:
|
||||
- session-01-quickstart
|
||||
- session-02-concepts
|
||||
- session-04-test-design
|
||||
- session-06-quality-trace
|
||||
teaching_adaptations:
|
||||
session-01-quickstart: "TEA scales testing without scaling headcount"
|
||||
session-02-concepts: "Risk-based testing aligns engineering with business impact"
|
||||
session-03-architecture: "Architecture patterns reduce maintenance costs"
|
||||
session-04-test-design: "Test design makes risk visible to stakeholders"
|
||||
session-05-atdd-automate: "ATDD reduces defect rates early"
|
||||
session-06-quality-trace: "Quality metrics: P0/P1 coverage, not vanity metrics"
|
||||
session-07-advanced: "Governance patterns, CI orchestration, NFR assessment"
|
||||
|
||||
# Role-Based Example Types
|
||||
example_types:
|
||||
qa:
|
||||
- "Test suite maintenance scenarios"
|
||||
- "Coverage expansion projects"
|
||||
- "Flaky test debugging"
|
||||
- "CI pipeline configuration"
|
||||
|
||||
dev:
|
||||
- "Feature development with TDD"
|
||||
- "API integration testing"
|
||||
- "Unit test patterns"
|
||||
- "Mocking and stubbing"
|
||||
|
||||
lead:
|
||||
- "Team architecture decisions"
|
||||
- "Code review scenarios"
|
||||
- "Standard enforcement"
|
||||
- "Tooling selection"
|
||||
|
||||
vp:
|
||||
- "ROI calculations"
|
||||
- "Quality dashboards"
|
||||
- "Risk reporting"
|
||||
- "Team scaling strategies"
|
||||
@@ -0,0 +1,207 @@
|
||||
# Session Content Mapping
|
||||
# Maps each session to specific TEA documentation, knowledge fragments, and online resources
|
||||
|
||||
base_paths:
|
||||
tea_docs: "/docs"
|
||||
tea_knowledge: "/src/testarch/knowledge"
|
||||
online_base: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise"
|
||||
github_knowledge: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge"
|
||||
|
||||
sessions:
|
||||
session-01-quickstart:
|
||||
docs:
|
||||
- path: "/docs/tutorials/tea-lite-quickstart.md"
|
||||
title: "TEA Lite Quickstart"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/tutorials/tea-lite-quickstart/"
|
||||
- path: "/docs/explanation/tea-overview.md"
|
||||
title: "TEA Overview"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/tea-overview/"
|
||||
- path: "/docs/how-to/workflows/run-automate.md"
|
||||
title: "Run Automate Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/"
|
||||
knowledge_fragments: []
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/"
|
||||
workflows_referenced:
|
||||
- automate
|
||||
key_concepts:
|
||||
- "What is TEA"
|
||||
- "TEA Lite approach"
|
||||
- "Engagement models"
|
||||
- "9 workflows overview"
|
||||
|
||||
session-02-concepts:
|
||||
docs:
|
||||
- path: "/docs/explanation/testing-as-engineering.md"
|
||||
title: "Testing as Engineering"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/testing-as-engineering/"
|
||||
- path: "/docs/explanation/risk-based-testing.md"
|
||||
title: "Risk-Based Testing"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/risk-based-testing/"
|
||||
- path: "/docs/explanation/test-quality-standards.md"
|
||||
title: "Test Quality Standards"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/test-quality-standards/"
|
||||
knowledge_fragments:
|
||||
- path: "/src/testarch/knowledge/test-quality.md"
|
||||
title: "Test Quality (DoD Execution Limits)"
|
||||
- path: "/src/testarch/knowledge/probability-impact.md"
|
||||
title: "Probability × Impact Scoring"
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/testing-as-engineering/"
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/risk-based-testing/"
|
||||
workflows_referenced: []
|
||||
key_concepts:
|
||||
- "Testing as engineering philosophy"
|
||||
- "P0-P3 risk matrix"
|
||||
- "Probability × Impact scoring"
|
||||
- "Definition of Done (7 principles)"
|
||||
|
||||
session-03-architecture:
|
||||
docs:
|
||||
- path: "/docs/explanation/fixture-architecture.md"
|
||||
title: "Fixture Architecture"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/fixture-architecture/"
|
||||
- path: "/docs/explanation/network-first-patterns.md"
|
||||
title: "Network-First Patterns"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/network-first-patterns/"
|
||||
- path: "/docs/explanation/step-file-architecture.md"
|
||||
title: "Step-File Architecture"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/step-file-architecture/"
|
||||
knowledge_fragments:
|
||||
- path: "/src/testarch/knowledge/fixture-architecture.md"
|
||||
title: "Fixture Architecture Patterns"
|
||||
- path: "/src/testarch/knowledge/network-first.md"
|
||||
title: "Network-First Implementation"
|
||||
- path: "/src/testarch/knowledge/data-factories.md"
|
||||
title: "Data Factories Pattern"
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/fixture-architecture/"
|
||||
workflows_referenced:
|
||||
- framework
|
||||
key_concepts:
|
||||
- "Fixture composition"
|
||||
- "Network interception patterns"
|
||||
- "Data factory pattern"
|
||||
- "Step-file architecture"
|
||||
|
||||
session-04-test-design:
|
||||
docs:
|
||||
- path: "/docs/how-to/workflows/run-test-design.md"
|
||||
title: "Run Test Design Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-design/"
|
||||
knowledge_fragments:
|
||||
- path: "/src/testarch/knowledge/test-levels-framework.md"
|
||||
title: "Test Levels Framework"
|
||||
- path: "/src/testarch/knowledge/test-priorities-matrix.md"
|
||||
title: "Test Priorities Matrix"
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-design/"
|
||||
workflows_referenced:
|
||||
- test-design
|
||||
key_concepts:
|
||||
- "Test Design workflow steps"
|
||||
- "Risk/testability assessment"
|
||||
- "Coverage planning"
|
||||
- "Test levels (unit/integration/E2E)"
|
||||
|
||||
session-05-atdd-automate:
|
||||
docs:
|
||||
- path: "/docs/how-to/workflows/run-atdd.md"
|
||||
title: "Run ATDD Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/"
|
||||
- path: "/docs/how-to/workflows/run-automate.md"
|
||||
title: "Run Automate Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/"
|
||||
knowledge_fragments:
|
||||
- path: "/src/testarch/knowledge/component-tdd.md"
|
||||
title: "Component TDD Red-Green Loop"
|
||||
- path: "/src/testarch/knowledge/api-testing-patterns.md"
|
||||
title: "API Testing Patterns"
|
||||
- path: "/src/testarch/knowledge/api-request.md"
|
||||
title: "API Request Utility"
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/"
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/"
|
||||
workflows_referenced:
|
||||
- atdd
|
||||
- automate
|
||||
key_concepts:
|
||||
- "ATDD workflow (red phase)"
|
||||
- "TDD red-green-refactor"
|
||||
- "Automate workflow (coverage expansion)"
|
||||
- "API testing without browser"
|
||||
|
||||
session-06-quality-trace:
|
||||
docs:
|
||||
- path: "/docs/how-to/workflows/run-test-review.md"
|
||||
title: "Run Test Review Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-review/"
|
||||
- path: "/docs/how-to/workflows/run-trace.md"
|
||||
title: "Run Trace Workflow"
|
||||
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-trace/"
|
||||
knowledge_fragments: []
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-review/"
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-trace/"
|
||||
workflows_referenced:
|
||||
- test-review
|
||||
- trace
|
||||
key_concepts:
|
||||
- "5 dimensions of test quality"
|
||||
- "Quality scoring (0-100)"
|
||||
- "Requirements traceability"
|
||||
- "Release gate decisions"
|
||||
|
||||
session-07-advanced:
|
||||
docs: []
|
||||
knowledge_fragments:
|
||||
categories:
|
||||
testing_patterns:
|
||||
- fixture-architecture.md
|
||||
- network-first.md
|
||||
- data-factories.md
|
||||
- component-tdd.md
|
||||
- api-testing-patterns.md
|
||||
- test-healing-patterns.md
|
||||
- selector-resilience.md
|
||||
- timing-debugging.md
|
||||
|
||||
playwright_utils:
|
||||
- api-request.md
|
||||
- network-recorder.md
|
||||
- intercept-network-call.md
|
||||
- recurse.md
|
||||
- log.md
|
||||
- file-utils.md
|
||||
- burn-in.md
|
||||
- network-error-monitor.md
|
||||
- contract-testing.md
|
||||
|
||||
browser_automation:
|
||||
- playwright-cli.md
|
||||
|
||||
configuration_governance:
|
||||
- playwright-config.md
|
||||
- ci-burn-in.md
|
||||
- selective-testing.md
|
||||
- feature-flags.md
|
||||
- risk-governance.md
|
||||
|
||||
quality_frameworks:
|
||||
- test-quality.md
|
||||
- test-levels-framework.md
|
||||
- test-priorities-matrix.md
|
||||
- nfr-criteria.md
|
||||
|
||||
auth_security:
|
||||
- email-auth.md
|
||||
- auth-session.md
|
||||
- error-handling.md
|
||||
online_references:
|
||||
- "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/reference/knowledge-base/"
|
||||
- "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge"
|
||||
workflows_referenced: []
|
||||
key_concepts:
|
||||
- "Menu-driven fragment exploration"
|
||||
- "Just-in-time deep-dive learning"
|
||||
- "35 knowledge fragments organized by category"
|
||||
@@ -0,0 +1,359 @@
|
||||
# TEA Resources Index
|
||||
# Comprehensive index of TEA documentation, knowledge fragments, and online resources
|
||||
|
||||
base_urls:
|
||||
online_docs: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise"
|
||||
github_repo: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise"
|
||||
github_knowledge: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge"
|
||||
|
||||
# Public Documentation (32 files)
|
||||
documentation:
|
||||
tutorials:
|
||||
- name: "Getting Started with Test Architect"
|
||||
local: "/docs/tutorials/tea-lite-quickstart.md"
|
||||
online: "/tutorials/tea-lite-quickstart/"
|
||||
description: "30-minute quick start guide to TEA Lite"
|
||||
|
||||
how_to_guides:
|
||||
workflows:
|
||||
- name: "Set Up Test Framework"
|
||||
local: "/docs/how-to/workflows/setup-test-framework.md"
|
||||
online: "/how-to/workflows/setup-test-framework/"
|
||||
workflow: framework
|
||||
|
||||
- name: "Set Up CI Pipeline"
|
||||
local: "/docs/how-to/workflows/setup-ci.md"
|
||||
online: "/how-to/workflows/setup-ci/"
|
||||
workflow: ci
|
||||
|
||||
- name: "Test Design"
|
||||
local: "/docs/how-to/workflows/run-test-design.md"
|
||||
online: "/how-to/workflows/run-test-design/"
|
||||
workflow: test-design
|
||||
|
||||
- name: "ATDD"
|
||||
local: "/docs/how-to/workflows/run-atdd.md"
|
||||
online: "/how-to/workflows/run-atdd/"
|
||||
workflow: atdd
|
||||
|
||||
- name: "Automate"
|
||||
local: "/docs/how-to/workflows/run-automate.md"
|
||||
online: "/how-to/workflows/run-automate/"
|
||||
workflow: automate
|
||||
|
||||
- name: "Test Review"
|
||||
local: "/docs/how-to/workflows/run-test-review.md"
|
||||
online: "/how-to/workflows/run-test-review/"
|
||||
workflow: test-review
|
||||
|
||||
- name: "Trace"
|
||||
local: "/docs/how-to/workflows/run-trace.md"
|
||||
online: "/how-to/workflows/run-trace/"
|
||||
workflow: trace
|
||||
|
||||
- name: "NFR Assessment"
|
||||
local: "/docs/how-to/workflows/run-nfr-assess.md"
|
||||
online: "/how-to/workflows/run-nfr-assess/"
|
||||
workflow: nfr-assess
|
||||
|
||||
customization:
|
||||
- name: "Configure Browser Automation"
|
||||
local: "/docs/how-to/customization/configure-browser-automation.md"
|
||||
online: "/how-to/customization/configure-browser-automation/"
|
||||
|
||||
- name: "Integrate Playwright Utils with TEA"
|
||||
local: "/docs/how-to/customization/integrate-playwright-utils.md"
|
||||
online: "/how-to/customization/integrate-playwright-utils/"
|
||||
|
||||
brownfield:
|
||||
- name: "Running TEA for Enterprise Projects"
|
||||
local: "/docs/how-to/brownfield/use-tea-for-enterprise.md"
|
||||
online: "/how-to/brownfield/use-tea-for-enterprise/"
|
||||
|
||||
- name: "Using TEA with Existing Tests"
|
||||
local: "/docs/how-to/brownfield/use-tea-with-existing-tests.md"
|
||||
online: "/how-to/brownfield/use-tea-with-existing-tests/"
|
||||
|
||||
explanation:
|
||||
- name: "TEA Overview"
|
||||
local: "/docs/explanation/tea-overview.md"
|
||||
online: "/explanation/tea-overview/"
|
||||
topics: ["Architecture", "Engagement models"]
|
||||
|
||||
- name: "Testing as Engineering"
|
||||
local: "/docs/explanation/testing-as-engineering.md"
|
||||
online: "/explanation/testing-as-engineering/"
|
||||
topics: ["Philosophy", "Design principles"]
|
||||
|
||||
- name: "Engagement Models"
|
||||
local: "/docs/explanation/engagement-models.md"
|
||||
online: "/explanation/engagement-models/"
|
||||
topics: ["Lite", "Solo", "Integrated", "Enterprise", "Brownfield"]
|
||||
|
||||
- name: "Risk-Based Testing"
|
||||
local: "/docs/explanation/risk-based-testing.md"
|
||||
online: "/explanation/risk-based-testing/"
|
||||
topics: ["P0-P3 matrix", "Probability × Impact"]
|
||||
|
||||
- name: "Test Quality Standards"
|
||||
local: "/docs/explanation/test-quality-standards.md"
|
||||
online: "/explanation/test-quality-standards/"
|
||||
topics: ["Definition of Done", "7 principles"]
|
||||
|
||||
- name: "Knowledge Base System"
|
||||
local: "/docs/explanation/knowledge-base-system.md"
|
||||
online: "/explanation/knowledge-base-system/"
|
||||
topics: ["Fragment management", "35 fragments"]
|
||||
|
||||
- name: "Network-First Patterns"
|
||||
local: "/docs/explanation/network-first-patterns.md"
|
||||
online: "/explanation/network-first-patterns/"
|
||||
topics: ["Network interception", "Race condition prevention"]
|
||||
|
||||
- name: "Fixture Architecture"
|
||||
local: "/docs/explanation/fixture-architecture.md"
|
||||
online: "/explanation/fixture-architecture/"
|
||||
topics: ["Composition", "mergeTests pattern"]
|
||||
|
||||
- name: "Step-File Architecture"
|
||||
local: "/docs/explanation/step-file-architecture.md"
|
||||
online: "/explanation/step-file-architecture/"
|
||||
topics: ["Micro-file design", "JIT loading", "Sequential enforcement"]
|
||||
|
||||
- name: "Subagent Architecture"
|
||||
local: "/docs/explanation/subagent-architecture.md"
|
||||
online: "/explanation/subagent-architecture/"
|
||||
topics: ["Parallel execution", "Context optimization"]
|
||||
|
||||
reference:
|
||||
- name: "Commands"
|
||||
local: "/docs/reference/commands.md"
|
||||
online: "/reference/commands/"
|
||||
|
||||
- name: "Configuration"
|
||||
local: "/docs/reference/configuration.md"
|
||||
online: "/reference/configuration/"
|
||||
|
||||
- name: "Knowledge Base"
|
||||
local: "/docs/reference/knowledge-base.md"
|
||||
online: "/reference/knowledge-base/"
|
||||
github_link: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge"
|
||||
|
||||
- name: "Troubleshooting"
|
||||
local: "/docs/reference/troubleshooting.md"
|
||||
online: "/reference/troubleshooting/"
|
||||
|
||||
# Knowledge Fragments (34 files)
|
||||
knowledge_fragments:
|
||||
testing_patterns:
|
||||
- name: "fixture-architecture"
|
||||
path: "/src/testarch/knowledge/fixture-architecture.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/fixture-architecture.md"
|
||||
description: "Composable fixture patterns and mergeTests"
|
||||
|
||||
- name: "fixtures-composition"
|
||||
path: "/src/testarch/knowledge/fixtures-composition.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/fixtures-composition.md"
|
||||
description: "mergeTests composition patterns for combining utilities"
|
||||
|
||||
- name: "network-first"
|
||||
path: "/src/testarch/knowledge/network-first.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/network-first.md"
|
||||
description: "Network interception safeguards"
|
||||
|
||||
- name: "data-factories"
|
||||
path: "/src/testarch/knowledge/data-factories.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/data-factories.md"
|
||||
description: "Data seeding and setup patterns"
|
||||
|
||||
- name: "component-tdd"
|
||||
path: "/src/testarch/knowledge/component-tdd.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/component-tdd.md"
|
||||
description: "TDD red-green-refactor loop"
|
||||
|
||||
- name: "api-testing-patterns"
|
||||
path: "/src/testarch/knowledge/api-testing-patterns.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/api-testing-patterns.md"
|
||||
description: "Pure API testing without browser"
|
||||
|
||||
- name: "test-healing-patterns"
|
||||
path: "/src/testarch/knowledge/test-healing-patterns.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/test-healing-patterns.md"
|
||||
description: "Auto-fix common test failures"
|
||||
|
||||
- name: "selector-resilience"
|
||||
path: "/src/testarch/knowledge/selector-resilience.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/selector-resilience.md"
|
||||
description: "Robust selectors that don't break"
|
||||
|
||||
- name: "timing-debugging"
|
||||
path: "/src/testarch/knowledge/timing-debugging.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/timing-debugging.md"
|
||||
description: "Race condition fixes"
|
||||
|
||||
playwright_utils:
|
||||
- name: "overview"
|
||||
path: "/src/testarch/knowledge/overview.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/overview.md"
|
||||
description: "Playwright Utils overview and installation"
|
||||
|
||||
- name: "api-request"
|
||||
path: "/src/testarch/knowledge/api-request.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/api-request.md"
|
||||
description: "Typed HTTP client with schema validation"
|
||||
|
||||
- name: "network-recorder"
|
||||
path: "/src/testarch/knowledge/network-recorder.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/network-recorder.md"
|
||||
description: "HAR record and playback"
|
||||
|
||||
- name: "intercept-network-call"
|
||||
path: "/src/testarch/knowledge/intercept-network-call.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/intercept-network-call.md"
|
||||
description: "Network spy and stub utilities"
|
||||
|
||||
- name: "recurse"
|
||||
path: "/src/testarch/knowledge/recurse.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/recurse.md"
|
||||
description: "Async polling for eventual consistency"
|
||||
|
||||
- name: "log"
|
||||
path: "/src/testarch/knowledge/log.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/log.md"
|
||||
description: "Test report logging utilities"
|
||||
|
||||
- name: "file-utils"
|
||||
path: "/src/testarch/knowledge/file-utils.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/file-utils.md"
|
||||
description: "CSV/XLSX/PDF/ZIP validation"
|
||||
|
||||
- name: "burn-in"
|
||||
path: "/src/testarch/knowledge/burn-in.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/burn-in.md"
|
||||
description: "Smart test selection via git diff"
|
||||
|
||||
- name: "network-error-monitor"
|
||||
path: "/src/testarch/knowledge/network-error-monitor.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/network-error-monitor.md"
|
||||
description: "HTTP 4xx/5xx detection"
|
||||
|
||||
- name: "contract-testing"
|
||||
path: "/src/testarch/knowledge/contract-testing.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/contract-testing.md"
|
||||
description: "Pact publishing and provider verification"
|
||||
|
||||
- name: "visual-debugging"
|
||||
path: "/src/testarch/knowledge/visual-debugging.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/visual-debugging.md"
|
||||
description: "Trace viewer workflows and debugging artifacts"
|
||||
|
||||
configuration_governance:
|
||||
- name: "playwright-config"
|
||||
path: "/src/testarch/knowledge/playwright-config.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/playwright-config.md"
|
||||
description: "Environment and timeout guardrails"
|
||||
|
||||
- name: "ci-burn-in"
|
||||
path: "/src/testarch/knowledge/ci-burn-in.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/ci-burn-in.md"
|
||||
description: "CI orchestration and smart selection"
|
||||
|
||||
- name: "selective-testing"
|
||||
path: "/src/testarch/knowledge/selective-testing.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/selective-testing.md"
|
||||
description: "Tag and grep filters"
|
||||
|
||||
- name: "feature-flags"
|
||||
path: "/src/testarch/knowledge/feature-flags.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/feature-flags.md"
|
||||
description: "Feature flag governance and cleanup"
|
||||
|
||||
- name: "risk-governance"
|
||||
path: "/src/testarch/knowledge/risk-governance.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/risk-governance.md"
|
||||
description: "Risk scoring matrix and gate rules"
|
||||
|
||||
- name: "adr-quality-readiness-checklist"
|
||||
path: "/src/testarch/knowledge/adr-quality-readiness-checklist.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/adr-quality-readiness-checklist.md"
|
||||
description: "Quality readiness checklist for decisions and reviews"
|
||||
|
||||
quality_frameworks:
|
||||
- name: "test-quality"
|
||||
path: "/src/testarch/knowledge/test-quality.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/test-quality.md"
|
||||
description: "Definition of Done execution limits"
|
||||
|
||||
- name: "test-levels-framework"
|
||||
path: "/src/testarch/knowledge/test-levels-framework.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/test-levels-framework.md"
|
||||
description: "Unit/Integration/E2E selection criteria"
|
||||
|
||||
- name: "test-priorities-matrix"
|
||||
path: "/src/testarch/knowledge/test-priorities-matrix.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/test-priorities-matrix.md"
|
||||
description: "P0-P3 coverage targets"
|
||||
|
||||
- name: "probability-impact"
|
||||
path: "/src/testarch/knowledge/probability-impact.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/probability-impact.md"
|
||||
description: "Probability × impact scoring definitions"
|
||||
|
||||
- name: "nfr-criteria"
|
||||
path: "/src/testarch/knowledge/nfr-criteria.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/nfr-criteria.md"
|
||||
description: "Non-functional requirements assessment"
|
||||
|
||||
auth_security:
|
||||
- name: "email-auth"
|
||||
path: "/src/testarch/knowledge/email-auth.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/email-auth.md"
|
||||
description: "Magic link extraction and auth state"
|
||||
|
||||
- name: "auth-session"
|
||||
path: "/src/testarch/knowledge/auth-session.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/auth-session.md"
|
||||
description: "Token persistence and multi-user auth"
|
||||
|
||||
- name: "error-handling"
|
||||
path: "/src/testarch/knowledge/error-handling.md"
|
||||
github: "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/blob/main/src/testarch/knowledge/error-handling.md"
|
||||
description: "Exception handling and retry validation"
|
||||
|
||||
# Quick Reference Maps
|
||||
session_to_resources:
|
||||
session-01:
|
||||
primary_docs: ["tea-lite-quickstart", "tea-overview", "run-automate"]
|
||||
fragments: []
|
||||
|
||||
session-02:
|
||||
primary_docs: ["testing-as-engineering", "risk-based-testing", "test-quality-standards"]
|
||||
fragments: ["test-quality", "probability-impact"]
|
||||
|
||||
session-03:
|
||||
primary_docs: ["fixture-architecture", "network-first-patterns", "step-file-architecture"]
|
||||
fragments: ["fixture-architecture", "network-first", "data-factories"]
|
||||
|
||||
session-04:
|
||||
primary_docs: ["run-test-design"]
|
||||
fragments: ["test-levels-framework", "test-priorities-matrix"]
|
||||
|
||||
session-05:
|
||||
primary_docs: ["run-atdd", "run-automate"]
|
||||
fragments: ["component-tdd", "api-testing-patterns", "api-request"]
|
||||
|
||||
session-06:
|
||||
primary_docs: ["run-test-review", "run-trace"]
|
||||
fragments: []
|
||||
|
||||
session-07:
|
||||
primary_docs: []
|
||||
fragments: [] # All 35 fragments available via menu-driven exploration
|
||||
|
||||
# Web-Browsing Fallback Strategy
|
||||
fallback_urls:
|
||||
playwright_docs: "https://playwright.dev/docs/intro"
|
||||
jest_docs: "https://jestjs.io/docs/getting-started"
|
||||
cypress_docs: "https://docs.cypress.io/guides/overview/why-cypress"
|
||||
vitest_docs: "https://vitest.dev/guide/"
|
||||
testing_library: "https://testing-library.com/docs/"
|
||||
130
.gemini/skills/bmad-teach-me-testing/instructions.md
Normal file
130
.gemini/skills/bmad-teach-me-testing/instructions.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# Teach Me Testing - Usage Instructions
|
||||
|
||||
## Overview
|
||||
|
||||
The Teach Me Testing workflow is a multi-session learning companion that teaches testing progressively through 7 structured sessions with state persistence. Designed for self-paced learning over 1-2 weeks.
|
||||
|
||||
## Who Should Use This
|
||||
|
||||
- **New QA Engineers:** Complete onboarding in testing fundamentals
|
||||
- **Developers:** Learn testing from an integration perspective
|
||||
- **Team Leads:** Understand architecture patterns and team practices
|
||||
- **VPs/Managers:** Grasp testing strategy and quality metrics
|
||||
|
||||
## How to Run
|
||||
|
||||
### Starting Fresh
|
||||
|
||||
```bash
|
||||
# From TEA module location
|
||||
cd /path/to/bmad-method-test-architecture-enterprise
|
||||
|
||||
# Run the workflow
|
||||
bmad run teach-me-testing
|
||||
```
|
||||
|
||||
Or invoke through TEA agent menu:
|
||||
|
||||
```bash
|
||||
bmad agent tea
|
||||
# Select [TMT] Teach Me Testing
|
||||
```
|
||||
|
||||
### Continuing Existing Progress
|
||||
|
||||
The workflow automatically detects existing progress and resumes where you left off. Your progress is saved at:
|
||||
|
||||
- `{test_artifacts}/teaching-progress/{your-name}-tea-progress.yaml`
|
||||
|
||||
## Workflow Structure
|
||||
|
||||
### 7 Sessions
|
||||
|
||||
1. **Quick Start (30 min)** - TEA Lite intro, run automate workflow
|
||||
2. **Core Concepts (45 min)** - Risk-based testing, DoD, philosophy
|
||||
3. **Architecture (60 min)** - Fixtures, network patterns, framework
|
||||
4. **Test Design (60 min)** - Risk assessment workflow
|
||||
5. **ATDD & Automate (60 min)** - ATDD + Automate workflows
|
||||
6. **Quality & Trace (45 min)** - Test review + Trace workflows
|
||||
7. **Advanced Patterns (ongoing)** - Menu-driven knowledge fragment exploration
|
||||
|
||||
### Non-Linear Learning
|
||||
|
||||
- Jump to any session based on your experience level
|
||||
- Beginners: Start at Session 1
|
||||
- Intermediate: Skip to Session 3-6
|
||||
- Experienced: Jump to Session 7 (Advanced)
|
||||
|
||||
### Session Flow
|
||||
|
||||
Each session follows this pattern:
|
||||
|
||||
1. Load relevant TEA docs just-in-time
|
||||
2. Present teaching content (mostly autonomous)
|
||||
3. Knowledge validation quiz (interactive)
|
||||
4. Generate session notes artifact
|
||||
5. Update progress file
|
||||
6. Return to session menu (continue or exit)
|
||||
|
||||
## Progress Tracking
|
||||
|
||||
Your progress is automatically saved after each session:
|
||||
|
||||
- **Progress file:** `{test_artifacts}/teaching-progress/{your-name}-tea-progress.yaml`
|
||||
- **Session notes:** `{test_artifacts}/tea-academy/{your-name}/session-{N}-notes.md`
|
||||
- **Certificate:** `{test_artifacts}/tea-academy/{your-name}/tea-completion-certificate.md`
|
||||
|
||||
## Quiz Scoring
|
||||
|
||||
- **Passing threshold:** ≥70%
|
||||
- **On failure:** Option to review content or continue anyway
|
||||
- **Attempts:** 3 attempts per question before showing correct answer
|
||||
|
||||
## Completion
|
||||
|
||||
Complete all 7 sessions to receive your TEA Academy completion certificate with:
|
||||
|
||||
- Session completion dates and scores
|
||||
- Skills acquired checklist
|
||||
- Learning artifacts paths
|
||||
- Recommended next steps
|
||||
|
||||
## Tips for Success
|
||||
|
||||
1. **Set aside dedicated time** - Each session requires focus (30-90 min)
|
||||
2. **Take notes** - Session notes are generated, but add your own insights
|
||||
3. **Apply immediately** - Practice concepts on your current project
|
||||
4. **Explore fragments** - Session 7 has 35 knowledge fragments to deep-dive
|
||||
5. **Share with team** - Help others learn by sharing your experience
|
||||
|
||||
## Customization by Role
|
||||
|
||||
The workflow adapts examples based on your role:
|
||||
|
||||
- **QA:** Practical testing focus, workflow usage
|
||||
- **Dev:** Integration perspective, TDD approach
|
||||
- **Lead:** Architecture decisions, team patterns
|
||||
- **VP:** Strategy, ROI, quality metrics
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Progress file corrupted
|
||||
|
||||
- Workflow detects corruption and offers fresh start
|
||||
- Backup file created automatically
|
||||
|
||||
### Missing TEA docs
|
||||
|
||||
- Workflow uses Web-Browsing fallback for external frameworks
|
||||
- Primary source is always local docs
|
||||
|
||||
### Session interrupted
|
||||
|
||||
- Progress auto-saved after quiz completion
|
||||
- Resume from session menu on next run
|
||||
|
||||
## Support
|
||||
|
||||
- **Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/>
|
||||
- **Knowledge Fragments:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge>
|
||||
- **Issues:** Report via TEA module repository
|
||||
235
.gemini/skills/bmad-teach-me-testing/steps-c/step-01-init.md
Normal file
235
.gemini/skills/bmad-teach-me-testing/steps-c/step-01-init.md
Normal file
@@ -0,0 +1,235 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize TEA Academy - check for existing progress and route to continuation or new assessment'
|
||||
|
||||
nextStepFile: './step-02-assess.md'
|
||||
continueFile: './step-01b-continue.md'
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
progressTemplate: '../templates/progress-template.yaml'
|
||||
---
|
||||
|
||||
# Step 1: Initialize TEA Academy
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To welcome the learner, check for existing progress from previous sessions, and route to either continuation (if progress exists) or new assessment (if starting fresh).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on initialization and routing
|
||||
- 🚫 FORBIDDEN to start teaching yet - that comes in session steps
|
||||
- 💬 Approach: Check for progress, route appropriately
|
||||
- 🚪 This is the entry point - sets up everything that follows
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Check for existing progress file
|
||||
- 💾 Create initial progress if new learner
|
||||
- 📖 Route to continuation or assessment based on progress
|
||||
- 🚫 FORBIDDEN to skip continuation check - critical for multi-session learning
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: User name, test artifacts path, templates
|
||||
- Focus: Detect continuation vs new start
|
||||
- Limits: No teaching yet, no assessment yet
|
||||
- Dependencies: None - this is the first step
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Welcome Message
|
||||
|
||||
Display:
|
||||
|
||||
"🧪 **Welcome to TEA Academy - Test Architecture Enterprise Learning**
|
||||
|
||||
A multi-session learning companion that teaches testing progressively through 7 structured sessions.
|
||||
|
||||
Let me check if you've started this journey before..."
|
||||
|
||||
### 2. Check for Existing Progress
|
||||
|
||||
Check if {progressFile} exists.
|
||||
|
||||
**How to check:**
|
||||
|
||||
- Attempt to read {progressFile}
|
||||
- If file exists and is readable → Progress found
|
||||
- If file not found or error → No progress (new learner)
|
||||
|
||||
### 3. Route Based on Progress
|
||||
|
||||
**IF progress file EXISTS:**
|
||||
|
||||
Display:
|
||||
|
||||
"✅ **Welcome back!** I found your existing progress.
|
||||
|
||||
Let me load where you left off..."
|
||||
|
||||
**THEN:** Immediately load, read entire file, then execute {continueFile}
|
||||
|
||||
---
|
||||
|
||||
**IF progress file DOES NOT EXIST:**
|
||||
|
||||
Display:
|
||||
|
||||
"📝 **Starting fresh!** I'll create your progress tracking file.
|
||||
|
||||
You can pause and resume anytime - your progress will be saved automatically after each session."
|
||||
|
||||
**THEN:** Proceed to step 4
|
||||
|
||||
### 4. Create Initial Progress File (New Learner Only)
|
||||
|
||||
Load {progressTemplate} and create {progressFile} with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
# TEA Academy Progress Tracking
|
||||
user: { user_name }
|
||||
role: null # Will be set in assessment
|
||||
experience_level: null # Will be set in assessment
|
||||
learning_goals: null # Will be set in assessment
|
||||
pain_points: null # Optional, set in assessment
|
||||
|
||||
started_date: { current_date }
|
||||
last_session_date: { current_date }
|
||||
|
||||
sessions:
|
||||
- id: session-01-quickstart
|
||||
name: 'Quick Start'
|
||||
duration: '30 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-02-concepts
|
||||
name: 'Core Concepts'
|
||||
duration: '45 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-03-architecture
|
||||
name: 'Architecture & Patterns'
|
||||
duration: '60 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-04-test-design
|
||||
name: 'Test Design'
|
||||
duration: '60 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-05-atdd-automate
|
||||
name: 'ATDD & Automate'
|
||||
duration: '60 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-06-quality-trace
|
||||
name: 'Quality & Trace'
|
||||
duration: '45 min'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-07-advanced
|
||||
name: 'Advanced Patterns'
|
||||
duration: 'ongoing'
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
sessions_completed: 0
|
||||
total_sessions: 7
|
||||
completion_percentage: 0
|
||||
next_recommended: session-01-quickstart
|
||||
|
||||
stepsCompleted: ['step-01-init']
|
||||
lastStep: 'step-01-init'
|
||||
lastContinued: { current_date }
|
||||
|
||||
certificate_generated: false
|
||||
certificate_path: null
|
||||
completion_date: null
|
||||
---
|
||||
```
|
||||
|
||||
### 5. Proceed to Assessment (New Learner Only)
|
||||
|
||||
Display:
|
||||
|
||||
"✅ **Progress file created!**
|
||||
|
||||
Now let's learn about you - your role, experience level, and learning goals.
|
||||
|
||||
This helps me customize examples and recommendations for you.
|
||||
|
||||
**Proceeding to assessment...**"
|
||||
|
||||
**THEN:** Immediately load, read entire file, then execute {nextStepFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Progress file check performed correctly
|
||||
- Existing learners routed to continuation (step-01b)
|
||||
- New learners get progress file created
|
||||
- Progress file has complete schema with all 7 sessions
|
||||
- New learners routed to assessment (step-02)
|
||||
- stepsCompleted array initialized
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping progress file check
|
||||
- Not routing to continuation for existing learners
|
||||
- Creating duplicate progress files
|
||||
- Progress file missing required fields
|
||||
- Not updating stepsCompleted array
|
||||
- Asking user questions before checking progress
|
||||
|
||||
**Master Rule:** This is an auto-proceed initialization step. Check progress, route appropriately, no user menu needed.
|
||||
@@ -0,0 +1,147 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Resume TEA Academy learning - load progress and display dashboard'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
---
|
||||
|
||||
# Step 1b: Continue TEA Academy
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To resume the TEA Academy workflow from a previous session by loading progress, displaying a dashboard, and routing to the session menu.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate _new instructional content_ without user input (auto-proceed steps may display status/route)
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on loading progress and routing to session menu
|
||||
- 🚫 FORBIDDEN to start teaching - that happens in session steps
|
||||
- 💬 Approach: Load progress, show dashboard, route to menu
|
||||
- 🚪 This is the continuation entry point - seamless resume
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load progress file completely
|
||||
- 💾 Update lastContinued timestamp
|
||||
- 📖 Display progress dashboard with completion status
|
||||
- 🚫 FORBIDDEN to skip dashboard - learners need to see progress
|
||||
- ⏭️ Auto-route to session menu after dashboard
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with all session data
|
||||
- Focus: Display progress, route to menu
|
||||
- Limits: No teaching, no session execution
|
||||
- Dependencies: Progress file must exist (checked in step-01-init)
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Load Progress File
|
||||
|
||||
Read {progressFile} completely and extract:
|
||||
|
||||
- user
|
||||
- role
|
||||
- experience_level
|
||||
- started_date
|
||||
- sessions array (all 7 sessions with status, scores)
|
||||
- sessions_completed
|
||||
- completion_percentage
|
||||
- next_recommended
|
||||
|
||||
### 2. Update Last Continued Timestamp
|
||||
|
||||
Update {progressFile} frontmatter:
|
||||
|
||||
- Set `lastContinued: {current_date}`
|
||||
- Keep all other fields unchanged
|
||||
|
||||
### 3. Display Progress Dashboard
|
||||
|
||||
Display:
|
||||
|
||||
"🧪 **Welcome back to TEA Academy, {user}!**
|
||||
|
||||
**Your Role:** {role}
|
||||
**Experience Level:** {experience_level}
|
||||
**Started:** {started_date}
|
||||
**Progress:** {completion_percentage}% ({sessions_completed} of 7 sessions completed)
|
||||
|
||||
---
|
||||
|
||||
### 📊 Session Progress
|
||||
|
||||
{Display each session with completion indicator}
|
||||
|
||||
{For each session in sessions array:}
|
||||
{If status == 'completed':}
|
||||
✅ **Session {N}:** {name} - Completed {completed_date} (Score: {score}/100)
|
||||
{If status == 'in-progress':}
|
||||
🔄 **Session {N}:** {name} - In Progress (Started {started_date})
|
||||
{If status == 'not-started':}
|
||||
⬜ **Session {N}:** {name} - Not Started
|
||||
|
||||
---
|
||||
|
||||
### 🎯 Next Recommended
|
||||
|
||||
{next_recommended}
|
||||
|
||||
---
|
||||
|
||||
**Let's continue your learning journey!**
|
||||
|
||||
Loading session menu..."
|
||||
|
||||
### 4. Route to Session Menu
|
||||
|
||||
Display:
|
||||
|
||||
"**Proceeding to session menu...**"
|
||||
|
||||
**THEN:** Immediately load, read entire file, then execute {nextStepFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Progress file loaded correctly
|
||||
- lastContinued timestamp updated
|
||||
- Dashboard displayed with accurate completion status
|
||||
- Session indicators correct (✅ completed, 🔄 in-progress, ⬜ not-started)
|
||||
- Completion percentage calculated correctly
|
||||
- Next recommended session identified
|
||||
- Auto-routed to session menu (step-03)
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not loading progress file
|
||||
- Dashboard missing or incomplete
|
||||
- Incorrect completion indicators
|
||||
- Not updating lastContinued timestamp
|
||||
- Asking user for input instead of auto-routing
|
||||
- Not routing to session menu
|
||||
|
||||
**Master Rule:** This is an auto-proceed continuation step. Load progress, show dashboard, route to session menu - no user menu needed.
|
||||
258
.gemini/skills/bmad-teach-me-testing/steps-c/step-02-assess.md
Normal file
258
.gemini/skills/bmad-teach-me-testing/steps-c/step-02-assess.md
Normal file
@@ -0,0 +1,258 @@
|
||||
---
|
||||
name: 'step-02-assess'
|
||||
description: 'Gather learner role, experience level, learning goals, and pain points to customize teaching'
|
||||
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
---
|
||||
|
||||
# Step 2: Learner Assessment
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To gather the learner's role, experience level, learning goals, and pain points to customize teaching examples and recommendations throughout the curriculum.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate _new instructional content_ without user input (auto-proceed steps may display status/route)
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step (auto-proceed), ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on gathering assessment data
|
||||
- 🚫 FORBIDDEN to start teaching yet - that comes in session steps
|
||||
- 💬 Approach: Ask clear questions, validate responses, explain why we're asking
|
||||
- 🚪 This assessment customizes the entire learning experience
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Ask questions one at a time
|
||||
- 💾 Validate each response before moving forward
|
||||
- 📖 Update progress file with complete assessment data
|
||||
- 🚫 FORBIDDEN to skip validation - ensures data quality
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file created in step-01
|
||||
- Focus: Gather role, experience, goals, pain points
|
||||
- Limits: No teaching yet, no session execution
|
||||
- Dependencies: Progress file exists (created in step-01-init)
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Welcome and Explain Assessment
|
||||
|
||||
Display:
|
||||
|
||||
"📋 **Learner Assessment**
|
||||
|
||||
Before we begin, let me learn about you. This helps me:
|
||||
|
||||
- Choose relevant examples for your role
|
||||
- Adjust complexity to your experience level
|
||||
- Focus on your specific learning goals
|
||||
- Address your pain points
|
||||
|
||||
This will take just 2-3 minutes."
|
||||
|
||||
### 2. Gather Role
|
||||
|
||||
Ask:
|
||||
|
||||
"**What is your role?**
|
||||
|
||||
Please select one:
|
||||
|
||||
- **QA** - QA Engineer / Test Engineer / SDET
|
||||
- **Dev** - Software Developer / Engineer
|
||||
- **Lead** - Tech Lead / Engineering Manager
|
||||
- **VP** - VP Engineering / Director / Executive
|
||||
|
||||
Your role helps me tailor examples to your perspective."
|
||||
|
||||
**Wait for response.**
|
||||
|
||||
**Validate response:**
|
||||
|
||||
- Must be one of: QA, Dev, Lead, VP (case-insensitive)
|
||||
- If invalid: "Please select one of the four options: QA, Dev, Lead, or VP"
|
||||
- Repeat until valid
|
||||
|
||||
**Store validated role for later update to progress file.**
|
||||
|
||||
### 3. Gather Experience Level
|
||||
|
||||
Ask:
|
||||
|
||||
"**What is your experience level with testing?**
|
||||
|
||||
Please select one:
|
||||
|
||||
- **Beginner** - New to testing, learning fundamentals
|
||||
- **Intermediate** - Have written tests, want to improve
|
||||
- **Experienced** - Strong testing background, want advanced techniques
|
||||
|
||||
Your experience level helps me adjust complexity and skip topics you already know."
|
||||
|
||||
**Wait for response.**
|
||||
|
||||
**Validate response:**
|
||||
|
||||
- Must be one of: Beginner, Intermediate, Experienced (case-insensitive)
|
||||
- If invalid: "Please select one of the three levels: Beginner, Intermediate, or Experienced"
|
||||
- Repeat until valid
|
||||
|
||||
**Store validated experience_level for later update to progress file.**
|
||||
|
||||
### 4. Gather Learning Goals
|
||||
|
||||
Ask:
|
||||
|
||||
"**What are your learning goals?**
|
||||
|
||||
Tell me what you want to achieve with TEA Academy. For example:
|
||||
|
||||
- Learn testing fundamentals from scratch
|
||||
- Understand TEA methodology and workflows
|
||||
- Improve test quality and reduce flakiness
|
||||
- Master advanced patterns (fixtures, network-first, etc.)
|
||||
- Prepare for QA onboarding at my company
|
||||
|
||||
**Your answer helps me recommend which sessions to focus on.**"
|
||||
|
||||
**Wait for response.**
|
||||
|
||||
**Validate response:**
|
||||
|
||||
- Must not be empty
|
||||
- Should be at least 10 characters
|
||||
- If too short: "Please provide more detail about your learning goals (at least a sentence)"
|
||||
- Repeat until valid
|
||||
|
||||
**Store learning_goals for later update to progress file.**
|
||||
|
||||
### 5. Gather Pain Points (Optional)
|
||||
|
||||
Ask:
|
||||
|
||||
"**What are your current pain points with testing?** _(Optional)_
|
||||
|
||||
For example:
|
||||
|
||||
- Flaky tests that fail randomly
|
||||
- Slow test suites
|
||||
- Hard to maintain tests
|
||||
- Don't know where to start
|
||||
- Team doesn't value testing
|
||||
|
||||
**This helps me provide targeted examples. You can skip this by typing 'skip' or 'none'.**"
|
||||
|
||||
**Wait for response.**
|
||||
|
||||
**Handle response:**
|
||||
|
||||
- If response is "skip", "none", or similar → Set pain_points to null
|
||||
- If response is provided → Store pain_points for later update
|
||||
- No validation needed (optional field)
|
||||
|
||||
### 6. Summarize Assessment
|
||||
|
||||
Display:
|
||||
|
||||
"✅ **Assessment Complete!**
|
||||
|
||||
Here's what I learned about you:
|
||||
|
||||
**Role:** {role}
|
||||
**Experience Level:** {experience_level}
|
||||
**Learning Goals:** {learning_goals}
|
||||
**Pain Points:** {pain_points or 'None specified'}
|
||||
|
||||
I'll use this to customize examples and recommendations throughout your learning journey."
|
||||
|
||||
### 7. Update Progress File
|
||||
|
||||
Load {progressFile} and update the following fields:
|
||||
|
||||
- `role: {role}`
|
||||
- `experience_level: {experience_level}`
|
||||
- `learning_goals: {learning_goals}`
|
||||
- `pain_points: {pain_points}` (or null if not provided)
|
||||
|
||||
Update stepsCompleted array:
|
||||
|
||||
- Append 'step-02-assess' to stepsCompleted array
|
||||
- Update lastStep: 'step-02-assess'
|
||||
|
||||
**Save the updated progress file.**
|
||||
|
||||
### 8. Provide Next Steps Preview
|
||||
|
||||
Display:
|
||||
|
||||
"**Next:** You'll see the session menu where you can choose from 7 learning sessions.
|
||||
|
||||
**Based on your experience level:**
|
||||
|
||||
{If beginner:}
|
||||
|
||||
- I recommend starting with Session 1 (Quick Start)
|
||||
- It introduces TEA with a hands-on example
|
||||
|
||||
{If intermediate:}
|
||||
|
||||
- You might want to skip to Session 3 (Architecture)
|
||||
- Or review Session 2 (Core Concepts) first if you want fundamentals
|
||||
|
||||
{If experienced:}
|
||||
|
||||
- Feel free to jump to Session 7 (Advanced Patterns)
|
||||
- Or pick specific sessions based on your goals
|
||||
|
||||
You can take sessions in any order and pause anytime!"
|
||||
|
||||
### 9. Proceed to Session Menu
|
||||
|
||||
After the assessment summary, proceed directly to the session menu:
|
||||
|
||||
- Load, read entire file, then execute {nextStepFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All required fields gathered (role, experience_level, learning_goals)
|
||||
- Optional pain_points handled correctly
|
||||
- All responses validated before proceeding
|
||||
- Progress file updated with assessment data
|
||||
- stepsCompleted array updated with 'step-02-assess'
|
||||
- Experience-based recommendations provided
|
||||
- User routed to session menu (step-03)
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping validation of required fields
|
||||
- Not updating progress file
|
||||
- Not adding to stepsCompleted array
|
||||
- Proceeding without waiting for user responses
|
||||
- Not providing experience-based recommendations
|
||||
- Hardcoding responses instead of asking user
|
||||
|
||||
**Master Rule:** Assessment must be complete and validated before proceeding to session menu.
|
||||
@@ -0,0 +1,219 @@
|
||||
---
|
||||
name: 'step-03-session-menu'
|
||||
description: 'Session selection hub - display all 7 sessions with completion status and route to selected session or completion'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
session01File: './step-04-session-01.md'
|
||||
session02File: './step-04-session-02.md'
|
||||
session03File: './step-04-session-03.md'
|
||||
session04File: './step-04-session-04.md'
|
||||
session05File: './step-04-session-05.md'
|
||||
session06File: './step-04-session-06.md'
|
||||
session07File: './step-04-session-07.md'
|
||||
completionFile: './step-05-completion.md'
|
||||
---
|
||||
|
||||
# Step 3: Session Menu (Hub)
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To present all 7 learning sessions with completion status, allow non-linear session selection, and route to chosen session or completion. This is the central hub - all sessions return here.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on displaying sessions and routing
|
||||
- 🚫 FORBIDDEN to start teaching - that happens in session steps
|
||||
- 💬 Approach: Show progress, let learner choose their path
|
||||
- 🚪 This is the HUB - all sessions loop back here
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load progress file to get session completion status
|
||||
- 💾 Display sessions with accurate indicators
|
||||
- 📖 Route to selected session or completion
|
||||
- 🚫 FORBIDDEN to skip progress check - status indicators critical
|
||||
- ⏭️ No stepsCompleted update (this is a routing hub, not a content step)
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with all session data
|
||||
- Focus: Display menu, route to selection
|
||||
- Limits: No teaching, no session execution
|
||||
- Dependencies: Progress file exists (created in step-01, updated in step-02)
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Load Progress File
|
||||
|
||||
Read {progressFile} and extract:
|
||||
|
||||
- user
|
||||
- role
|
||||
- experience_level
|
||||
- sessions array (all 7 sessions with status, scores, dates)
|
||||
- sessions_completed
|
||||
- completion_percentage
|
||||
- next_recommended
|
||||
|
||||
### 2. Display Session Menu with Status
|
||||
|
||||
Display:
|
||||
|
||||
"🧪 **TEA Academy - Session Menu**
|
||||
|
||||
**Progress:** {completion_percentage}% ({sessions_completed} of 7 sessions completed)
|
||||
|
||||
---
|
||||
|
||||
### 📚 Available Sessions
|
||||
|
||||
{For each session in sessions array, display with status indicator:}
|
||||
|
||||
**Session 1: Quick Start (30 min)**
|
||||
{status_indicator} TEA Lite intro, run automate workflow
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 2: Core Concepts (45 min)**
|
||||
{status_indicator} Risk-based testing, DoD, testing philosophy
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 3: Architecture & Patterns (60 min)**
|
||||
{status_indicator} Fixtures, network patterns, framework setup
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 4: Test Design (60 min)**
|
||||
{status_indicator} Risk assessment, test design workflow
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 5: ATDD & Automate (60 min)**
|
||||
{status_indicator} ATDD + Automate workflows, TDD approach
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 6: Quality & Trace (45 min)**
|
||||
{status_indicator} Test review + Trace workflows, quality metrics
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
**Session 7: Advanced Patterns (ongoing)**
|
||||
{status_indicator} Menu-driven knowledge fragment exploration (35 fragments)
|
||||
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
||||
{if in-progress: Started: {started_date}}
|
||||
|
||||
---
|
||||
|
||||
**Status Indicators:**
|
||||
|
||||
- ✅ = Completed
|
||||
- 🔄 = In Progress
|
||||
- ⬜ = Not Started
|
||||
|
||||
---
|
||||
|
||||
{If next_recommended exists:}
|
||||
💡 **Recommended Next:** {next_recommended}
|
||||
"
|
||||
|
||||
### 3. Check for Completion
|
||||
|
||||
**Before displaying menu options, check:**
|
||||
|
||||
If all 7 sessions have status 'completed' AND certificate_generated != true:
|
||||
|
||||
- Display: "🎉 **Congratulations!** You've completed all 7 sessions!"
|
||||
- Skip session menu options
|
||||
- Proceed directly to step 4b (route to completion)
|
||||
|
||||
**Otherwise:** Display session menu options in step 4a
|
||||
|
||||
### 4a. Present Session Menu Options (Sessions Remaining)
|
||||
|
||||
Display:
|
||||
|
||||
"**Select a session or exit:**
|
||||
|
||||
**[1-7]** Start or continue a session
|
||||
**[X]** Save progress and exit
|
||||
|
||||
What would you like to do?"
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- Route based on user selection
|
||||
- User can ask questions - always respond and redisplay menu
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF 1: Load, read entire file, then execute {session01File}
|
||||
- IF 2: Load, read entire file, then execute {session02File}
|
||||
- IF 3: Load, read entire file, then execute {session03File}
|
||||
- IF 4: Load, read entire file, then execute {session04File}
|
||||
- IF 5: Load, read entire file, then execute {session05File}
|
||||
- IF 6: Load, read entire file, then execute {session06File}
|
||||
- IF 7: Load, read entire file, then execute {session07File}
|
||||
- IF X: Display "Progress saved. See you next time! 👋" and END workflow
|
||||
- IF Any other: "Please select a session number (1-7) or X to exit", then [Redisplay Menu Options](#4a-present-session-menu-options-sessions-remaining)
|
||||
|
||||
### 4b. Route to Completion (All Sessions Done)
|
||||
|
||||
**If all 7 sessions completed:**
|
||||
|
||||
Display:
|
||||
|
||||
"**Proceeding to generate your completion certificate...**"
|
||||
|
||||
Load, read entire file, then execute {completionFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Progress file loaded correctly
|
||||
- All 7 sessions displayed with accurate status indicators
|
||||
- Completion percentage calculated correctly
|
||||
- Session status matches progress file (✅ completed, 🔄 in-progress, ⬜ not-started)
|
||||
- User selection validated (1-7 or X)
|
||||
- Correct routing to selected session file
|
||||
- Completion detected when all 7 done
|
||||
- Exit option saves and ends workflow cleanly
|
||||
- No stepsCompleted update (this is routing hub, not content step)
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not loading progress file
|
||||
- Wrong status indicators
|
||||
- Incorrect completion percentage
|
||||
- Not detecting when all sessions complete
|
||||
- Routing to wrong session file
|
||||
- Updating stepsCompleted (hub should not update this)
|
||||
- Not displaying session descriptions
|
||||
- Not allowing non-linear session selection
|
||||
|
||||
**Master Rule:** This is the central hub. Display accurate status, let learner choose freely, route correctly. All sessions return here.
|
||||
@@ -0,0 +1,460 @@
|
||||
---
|
||||
name: 'step-04-session-01'
|
||||
description: 'Session 1: Quick Start - TEA Lite intro, run automate workflow (30 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-01-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 1 - Quick Start
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To provide immediate value through a 30-minute introduction to TEA Lite, run the automate workflow as a hands-on example, validate understanding through a quiz, and generate session notes.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate _unsolicited_ content without user input (session flow content is allowed once session begins)
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on Session 1 content (Quick Start)
|
||||
- 🚫 FORBIDDEN to skip ahead to other sessions
|
||||
- 💬 Approach: Teach concepts, provide examples, quiz understanding
|
||||
- 🚪 Teaching is mostly autonomous, quiz is collaborative
|
||||
- 📚 Reference TEA docs and provide URLs for further reading
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load TEA docs just-in-time (not all at once)
|
||||
- 💾 Generate session notes after completion
|
||||
- 📖 Update progress file with session completion and score
|
||||
- 🚫 FORBIDDEN to skip quiz - validates understanding
|
||||
- ⏭️ Always return to session menu hub after completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with user role/experience
|
||||
- Focus: Session 1 - TEA Lite introduction
|
||||
- Limits: Only Session 1 content, don't preview other sessions
|
||||
- Dependencies: Progress file exists with assessment data
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Session Welcome
|
||||
|
||||
Display:
|
||||
|
||||
"🧪 **Session 1: Quick Start** (30 minutes)
|
||||
|
||||
**Objective:** Get immediate value by seeing TEA in action
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- What is TEA and why it exists
|
||||
- TEA Lite quick start approach
|
||||
- How to run your first TEA workflow (Automate)
|
||||
- TEA engagement models
|
||||
|
||||
Let's get started!"
|
||||
|
||||
### 2. Update Progress File (Session Started)
|
||||
|
||||
Load {progressFile} and update session-01-quickstart:
|
||||
|
||||
- Set `status: 'in-progress'`
|
||||
- Set `started_date: {current_date}`
|
||||
|
||||
Save the updated progress file.
|
||||
|
||||
### 3. Teaching: What is TEA?
|
||||
|
||||
Present this content (mostly autonomous, clear and educational):
|
||||
|
||||
"### 📖 What is TEA (Test Architecture Enterprise)?
|
||||
|
||||
TEA is a comprehensive test architecture framework that provides:
|
||||
|
||||
- **9 Workflows:** Teach Me Testing, Framework, Test Design, ATDD, Automate, Test Review, Trace, NFR Assessment, CI
|
||||
- **35 Knowledge Fragments:** Distilled expertise on patterns, best practices, Playwright Utils
|
||||
- **Quality Standards:** Definition of Done with execution limits (no flaky tests, no hard waits, etc.)
|
||||
- **Risk-Based Testing:** P0-P3 matrix for prioritizing test coverage
|
||||
|
||||
**Why TEA exists:**
|
||||
Testing knowledge doesn't scale through manual teaching. TEA makes testing expertise accessible through:
|
||||
|
||||
- Structured workflows that guide you step-by-step
|
||||
- Documentation (32 docs) organized by type (tutorials, how-to, explanation, reference)
|
||||
- Knowledge fragments for just-in-time learning
|
||||
- Online resources: <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/>
|
||||
|
||||
**TEA Engagement Models:**
|
||||
|
||||
1. **TEA Lite (30 min):** Quick start - run Automate workflow, generate tests
|
||||
2. **TEA Solo:** Use workflows individually as needed
|
||||
3. **TEA Integrated:** Full lifecycle - Framework → Test Design → ATDD/Automate → Review → Trace
|
||||
4. **TEA Enterprise:** Add NFR Assessment + CI integration for compliance
|
||||
5. **TEA Brownfield:** Adapt TEA for existing test suites
|
||||
|
||||
**Today we're experiencing TEA Lite!**"
|
||||
|
||||
### 4. Teaching: TEA Lite Quick Start
|
||||
|
||||
Present this content (adapt examples based on user role from progress file):
|
||||
|
||||
"### 🚀 TEA Lite: Your First Workflow
|
||||
|
||||
The **Automate workflow** generates tests for your application automatically.
|
||||
|
||||
**How it works:**
|
||||
|
||||
1. You describe what needs testing
|
||||
2. TEA analyzes your app structure
|
||||
3. Workflow generates test files with TEA best practices
|
||||
4. You review and run the tests
|
||||
|
||||
{If role == QA:}
|
||||
**For QA Engineers:** This helps you quickly expand test coverage without writing every test manually. Focus on test design, let TEA handle boilerplate.
|
||||
|
||||
{If role == Dev:}
|
||||
**For Developers:** This generates tests following best practices so you can focus on implementation. Tests are maintainable and follow fixture patterns.
|
||||
|
||||
{If role == Lead:}
|
||||
**For Tech Leads:** This standardizes test architecture across your team. Everyone writes tests the same way using TEA patterns.
|
||||
|
||||
{If role == VP:}
|
||||
**For VPs:** This scales testing across teams without manual training. New hires can generate quality tests from day one.
|
||||
|
||||
**Let me show you how the Automate workflow works conceptually:**
|
||||
|
||||
1. **Input:** You provide targets (features/pages to test)
|
||||
2. **TEA analyzes:** Understands your app structure
|
||||
3. **Test generation:** Creates API and/or E2E tests
|
||||
4. **Output:** Test files in your test suite with proper fixtures
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/>
|
||||
|
||||
**Note:** We won't actually run the workflow now (you can do that on your project later), but you understand the concept."
|
||||
|
||||
### 5. Teaching: Key Concepts
|
||||
|
||||
Present this content:
|
||||
|
||||
"### 🎯 Key Concepts from Session 1
|
||||
|
||||
**1. TEA is a framework:** Not just docs, but executable workflows that guide you
|
||||
|
||||
**2. Risk-based testing:** Prioritize what matters (P0 critical, P3 nice-to-have)
|
||||
|
||||
**3. Quality standards:** Definition of Done ensures reliable tests
|
||||
|
||||
- No flaky tests
|
||||
- No hard waits/sleeps
|
||||
- Stateless & parallelizable
|
||||
- Self-cleaning tests
|
||||
|
||||
**4. Engagement models:** Choose how much TEA you need (Lite → Solo → Integrated → Enterprise → Brownfield)
|
||||
|
||||
**5. Knowledge fragments:** 35 fragments for deep-dive topics when you need them
|
||||
|
||||
- Testing patterns (fixtures, network-first, data factories)
|
||||
- Playwright Utils (api-request, network-recorder, recurse)
|
||||
- Configuration & governance (CI, feature flags, risk)
|
||||
|
||||
**You've now experienced TEA Lite! In future sessions, we'll go deeper.**"
|
||||
|
||||
### 6. Quiz: Validate Understanding
|
||||
|
||||
Display:
|
||||
|
||||
"### ✅ Quick Knowledge Check
|
||||
|
||||
Let me ask you 3 questions to validate your understanding. Passing score: ≥70% (2 of 3 correct)."
|
||||
|
||||
**Question 1:**
|
||||
|
||||
"**Question 1 of 3:**
|
||||
|
||||
What is the primary purpose of TEA?
|
||||
|
||||
A) Replace all testing tools with a single framework
|
||||
B) Make testing expertise accessible through structured workflows and knowledge
|
||||
C) Automate 100% of test writing
|
||||
D) Only works for Playwright tests
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: B
|
||||
- If correct: "✅ Correct! TEA makes testing expertise accessible and scalable."
|
||||
- If incorrect: "❌ Not quite. TEA's purpose is to make testing expertise accessible through structured workflows and knowledge (B). It's not about replacing tools or automating everything."
|
||||
|
||||
**Store result (1 point if correct, 0 if incorrect)**
|
||||
|
||||
**Question 2:**
|
||||
|
||||
"**Question 2 of 3:**
|
||||
|
||||
What does the P0-P3 risk matrix help with?
|
||||
|
||||
A) Prioritizing test coverage based on criticality
|
||||
B) Grading test code quality
|
||||
C) Measuring test execution speed
|
||||
D) Tracking bug severity
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: A
|
||||
- If correct: "✅ Correct! P0-P3 helps prioritize what to test based on risk and criticality."
|
||||
- If incorrect: "❌ The P0-P3 matrix is about prioritizing test coverage (A). P0 = critical features like login, P3 = nice-to-have like tooltips."
|
||||
|
||||
**Store result**
|
||||
|
||||
**Question 3:**
|
||||
|
||||
"**Question 3 of 3:**
|
||||
|
||||
Which TEA engagement model is best for quick value in 30 minutes?
|
||||
|
||||
A) TEA Enterprise
|
||||
B) TEA Lite
|
||||
C) TEA Integrated
|
||||
D) TEA Brownfield
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: B
|
||||
- If correct: "✅ Correct! TEA Lite is the 30-minute quick start approach."
|
||||
- If incorrect: "❌ TEA Lite (B) is the quick start approach. Enterprise and Integrated are more comprehensive."
|
||||
|
||||
**Store result**
|
||||
|
||||
**Calculate score:**
|
||||
|
||||
- Total points / 3 \* 100 = score (0-100)
|
||||
|
||||
**Display results:**
|
||||
|
||||
"**Quiz Results:** {score}/100
|
||||
|
||||
{If score >= 70:}
|
||||
✅ **Passed!** You've demonstrated understanding of Session 1 concepts.
|
||||
|
||||
{If score < 70:}
|
||||
⚠️ **Below passing threshold.** Would you like to:
|
||||
|
||||
- **[R]** Review the content again
|
||||
- **[C]** Continue anyway (your score will be recorded)
|
||||
|
||||
{Wait for response if < 70, handle R or C}"
|
||||
|
||||
### 7. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} using {sessionNotesTemplate} with:
|
||||
|
||||
```markdown
|
||||
---
|
||||
session_id: session-01-quickstart
|
||||
session_name: 'Session 1: Quick Start'
|
||||
user: { user_name }
|
||||
role: { role }
|
||||
completed_date: { current_date }
|
||||
score: { score }
|
||||
duration: '30 min'
|
||||
---
|
||||
|
||||
# Session 1: Quick Start - Session Notes
|
||||
|
||||
**Learner:** {user_name} ({role})
|
||||
**Completed:** {current_date}
|
||||
**Score:** {score}/100
|
||||
**Duration:** 30 min
|
||||
|
||||
---
|
||||
|
||||
## Session Objectives
|
||||
|
||||
- Understand what TEA is and why it exists
|
||||
- Learn TEA Lite quick start approach
|
||||
- Conceptually understand the Automate workflow
|
||||
- Explore TEA engagement models
|
||||
|
||||
---
|
||||
|
||||
## Key Concepts Covered
|
||||
|
||||
1. **TEA Framework:** 9 workflows + 35 knowledge fragments + quality standards
|
||||
2. **Risk-Based Testing:** P0-P3 prioritization matrix
|
||||
3. **Quality Standards:** Definition of Done (no flaky tests, no hard waits, stateless, self-cleaning)
|
||||
4. **Engagement Models:** Lite, Solo, Integrated, Enterprise, Brownfield
|
||||
5. **Automate Workflow:** Generates tests automatically with TEA best practices
|
||||
|
||||
---
|
||||
|
||||
## TEA Resources Referenced
|
||||
|
||||
### Documentation
|
||||
|
||||
- TEA Overview: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/tea-overview/
|
||||
- TEA Lite Quickstart: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/tutorials/tea-lite-quickstart/
|
||||
- Automate Workflow: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/
|
||||
|
||||
### Knowledge Fragments
|
||||
|
||||
- (None used in this session - knowledge fragments explored in Session 7)
|
||||
|
||||
### Online Resources
|
||||
|
||||
- TEA Website: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/
|
||||
- Knowledge Base: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/reference/knowledge-base/
|
||||
|
||||
---
|
||||
|
||||
## Quiz Results
|
||||
|
||||
**Score:** {score}/100
|
||||
|
||||
### Questions & Answers
|
||||
|
||||
1. What is the primary purpose of TEA? → {user_answer} ({correct/incorrect})
|
||||
2. What does the P0-P3 risk matrix help with? → {user_answer} ({correct/incorrect})
|
||||
3. Which TEA engagement model is best for quick value? → {user_answer} ({correct/incorrect})
|
||||
|
||||
---
|
||||
|
||||
## Key Takeaways
|
||||
|
||||
- TEA makes testing expertise accessible at scale
|
||||
- Start with TEA Lite (30 min) for immediate value
|
||||
- Risk-based testing prioritizes what matters (P0 critical features first)
|
||||
- Quality standards ensure reliable, maintainable tests
|
||||
- 5 engagement models let you choose the right level of TEA adoption
|
||||
|
||||
---
|
||||
|
||||
## Next Recommended Session
|
||||
|
||||
{If experience_level == 'beginner':}
|
||||
**Session 2: Core Concepts** - Learn testing fundamentals and TEA principles
|
||||
|
||||
{If experience_level == 'intermediate':}
|
||||
**Session 2 or 3** - Review concepts or dive into architecture patterns
|
||||
|
||||
{If experience_level == 'experienced':}
|
||||
**Session 7: Advanced Patterns** - Explore 35 knowledge fragments
|
||||
|
||||
---
|
||||
|
||||
**Generated by:** TEA Academy - Teach Me Testing Workflow
|
||||
**Session Path:** Session 1 of 7
|
||||
```
|
||||
|
||||
### 8. Update Progress File (Session Complete)
|
||||
|
||||
Load {progressFile} and update session-01-quickstart:
|
||||
|
||||
- Set `status: 'completed'`
|
||||
- Set `completed_date: {current_date}`
|
||||
- Set `score: {score}`
|
||||
- Set `notes_artifact: '{sessionNotesFile}'`
|
||||
|
||||
Update progress metrics:
|
||||
|
||||
- If previous status for `session-01-quickstart` is not `completed`, increment `sessions_completed` by 1 (otherwise leave unchanged)
|
||||
- Calculate `completion_percentage: (sessions_completed / 7) * 100`
|
||||
- Set `next_recommended: 'session-02-concepts'`
|
||||
|
||||
Update stepsCompleted array:
|
||||
|
||||
- Append 'step-04-session-01' to stepsCompleted array
|
||||
- Update lastStep: 'step-04-session-01'
|
||||
|
||||
Save the updated progress file.
|
||||
|
||||
### 9. Session Complete Message
|
||||
|
||||
Display:
|
||||
|
||||
"🎉 **Session 1 Complete!**
|
||||
|
||||
**Your Score:** {score}/100
|
||||
|
||||
**Session notes saved:** {sessionNotesFile}
|
||||
|
||||
You've completed your first step in TEA Academy! You now understand what TEA is, how TEA Lite works, and the different engagement models.
|
||||
|
||||
**Next:** You'll return to the session menu where you can choose Session 2 or explore any other session.
|
||||
|
||||
**Progress:** {completion_percentage}% complete ({sessions_completed} of 7 sessions)"
|
||||
|
||||
### 10. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to session menu when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
|
||||
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
|
||||
- IF C: Progress file already updated in step 8, then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other: help user, then [Redisplay Menu Options](#10-present-menu-options)
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Teaching content presented clearly
|
||||
- Examples adapted to user role
|
||||
- Quiz administered with 3 questions
|
||||
- Score calculated correctly (0-100)
|
||||
- Session notes generated with all required sections
|
||||
- Progress file updated (status: completed, score, notes_artifact)
|
||||
- stepsCompleted array updated with 'step-04-session-01'
|
||||
- Completion percentage recalculated
|
||||
- Next recommended session set
|
||||
- User routed back to session menu hub
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping quiz
|
||||
- Not adapting examples to user role
|
||||
- Not generating session notes
|
||||
- Not updating progress file
|
||||
- Not updating stepsCompleted array
|
||||
- Not calculating completion percentage
|
||||
- Not routing back to hub
|
||||
- Loading all docs at once (should be just-in-time)
|
||||
|
||||
**Master Rule:** Teach, quiz, generate notes, update progress, return to hub. This pattern repeats for all 7 sessions.
|
||||
@@ -0,0 +1,465 @@
|
||||
---
|
||||
name: 'step-04-session-02'
|
||||
description: 'Session 2: Core Concepts - Risk-based testing, DoD, testing philosophy (45 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-02-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 2 - Core Concepts
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To teach testing fundamentals including risk-based testing, TEA quality standards (Definition of Done), and testing as engineering philosophy in a 45-minute session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
- ✅ Together we build their testing knowledge progressively
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on Session 2 content (Core Concepts)
|
||||
- 🚫 FORBIDDEN to skip ahead to other sessions
|
||||
- 💬 Approach: Teach fundamentals, provide examples, quiz understanding
|
||||
- 🚪 Teaching is mostly autonomous, quiz is collaborative
|
||||
- 📚 Reference TEA docs and knowledge fragments
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load TEA docs just-in-time
|
||||
- 💾 Generate session notes after completion
|
||||
- 📖 Update progress file with session completion and score
|
||||
- 🚫 FORBIDDEN to skip quiz - validates understanding
|
||||
- ⏭️ Always return to session menu hub after completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with user role/experience
|
||||
- Focus: Session 2 - Testing fundamentals and TEA principles
|
||||
- Limits: Only Session 2 content
|
||||
- Dependencies: Progress file exists with assessment data
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Session Welcome
|
||||
|
||||
Display:
|
||||
|
||||
"🧪 **Session 2: Core Concepts** (45 minutes)
|
||||
|
||||
**Objective:** Understand WHY behind TEA principles
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- Testing as Engineering philosophy
|
||||
- Risk-based testing with P0-P3 matrix
|
||||
- TEA Definition of Done (quality standards)
|
||||
- Probability × Impact risk scoring
|
||||
|
||||
Let's dive into the fundamentals!"
|
||||
|
||||
### 2. Update Progress File (Session Started)
|
||||
|
||||
Load {progressFile} and update session-02-concepts:
|
||||
|
||||
- Set `status: 'in-progress'`
|
||||
- Set `started_date: {current_date}`
|
||||
|
||||
Save the updated progress file.
|
||||
|
||||
### 3. Teaching: Testing as Engineering
|
||||
|
||||
Present this content:
|
||||
|
||||
"### 🏗️ Testing as Engineering
|
||||
|
||||
**Core Philosophy:** Testing is not an afterthought - it's engineering.
|
||||
|
||||
**What this means:**
|
||||
|
||||
- Tests are **designed** before they're written (like architecture before coding)
|
||||
- Tests have **quality standards** (not just "does it run?")
|
||||
- Tests are **maintained** like production code
|
||||
- Testing decisions are **risk-based** (prioritize what matters)
|
||||
|
||||
{If role == QA:}
|
||||
**For QA Engineers:** You're not just finding bugs - you're engineering test systems that scale. Design before write, maintain like production code.
|
||||
|
||||
{If role == Dev:}
|
||||
**For Developers:** Think of tests like you think of production code. Design patterns, refactoring, DRY principles - they all apply to tests.
|
||||
|
||||
{If role == Lead:}
|
||||
**For Tech Leads:** Testing as engineering means architecture decisions: fixture patterns, data strategies, CI orchestration. Not just "write more tests."
|
||||
|
||||
{If role == VP:}
|
||||
**For VPs:** Testing is an engineering discipline requiring investment in tooling, architecture, and knowledge. Not a checklist item.
|
||||
|
||||
**Key Principle:** If you wouldn't accept sloppy production code, don't accept sloppy test code.
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/testing-as-engineering/>"
|
||||
|
||||
### 4. Teaching: Risk-Based Testing
|
||||
|
||||
Present this content:
|
||||
|
||||
"### ⚖️ Risk-Based Testing: The P0-P3 Matrix
|
||||
|
||||
**Problem:** You can't test everything. How do you prioritize?
|
||||
|
||||
**Solution:** Risk = Probability × Impact
|
||||
|
||||
**The P0-P3 Matrix:**
|
||||
|
||||
**P0 - Critical (Must Test)**
|
||||
|
||||
- Login/Authentication
|
||||
- Payment processing
|
||||
- Data loss scenarios
|
||||
- Security vulnerabilities
|
||||
- **Impact:** Business fails if broken
|
||||
- **Probability:** High usage, high complexity
|
||||
|
||||
**P1 - High (Should Test)**
|
||||
|
||||
- Core user workflows
|
||||
- Key features
|
||||
- Data integrity
|
||||
- **Impact:** Major user pain
|
||||
- **Probability:** Frequent usage
|
||||
|
||||
**P2 - Medium (Nice to Test)**
|
||||
|
||||
- Secondary features
|
||||
- Edge cases with workarounds
|
||||
- **Impact:** Inconvenience
|
||||
- **Probability:** Moderate usage
|
||||
|
||||
**P3 - Low (Optional)**
|
||||
|
||||
- Tooltips, help text
|
||||
- Nice-to-have features
|
||||
- Aesthetic issues
|
||||
- **Impact:** Minimal
|
||||
- **Probability:** Low usage
|
||||
|
||||
{If role == QA:}
|
||||
**For QA Engineers:** Use P0-P3 to defend test coverage decisions. "We have 100% P0 coverage, 80% P1" is better than "we have 50% coverage overall."
|
||||
|
||||
{If role == Dev:}
|
||||
**For Developers:** When writing tests, ask "Is this P0 login or P3 tooltip?" Focus your time accordingly.
|
||||
|
||||
{If role == Lead:}
|
||||
**For Tech Leads:** P0-P3 helps allocate test automation budget. Mandate P0/P1 automation, P2/P3 is cost-benefit analysis.
|
||||
|
||||
{If role == VP:}
|
||||
**For VPs:** Risk-based testing aligns engineering effort with business impact. Metrics that matter: P0 coverage, not lines of code.
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/risk-based-testing/>
|
||||
|
||||
**Knowledge Fragment:** probability-impact.md defines scoring criteria"
|
||||
|
||||
### 5. Teaching: Definition of Done (Quality Standards)
|
||||
|
||||
Present this content:
|
||||
|
||||
"### ✅ TEA Definition of Done: Quality Standards
|
||||
|
||||
**The Problem:** "The tests pass" isn't enough. What about quality?
|
||||
|
||||
**TEA Definition of Done ensures:**
|
||||
|
||||
**1. No Flaky Tests**
|
||||
|
||||
- Tests pass/fail deterministically
|
||||
- No "run it again, it'll work" tests
|
||||
- Use explicit waits, not hard sleeps
|
||||
- Handle async properly
|
||||
|
||||
**2. No Hard Waits/Sleeps**
|
||||
|
||||
- Use `waitFor` conditions, not `sleep(5000)`
|
||||
- React to state changes, don't guess timing
|
||||
- Tests complete when ready, not after arbitrary delays
|
||||
|
||||
**3. Stateless & Parallelizable**
|
||||
|
||||
- Tests run independently, any order
|
||||
- No shared state between tests
|
||||
- Can run in parallel (fast feedback)
|
||||
- Use cron jobs/semaphores only when unavoidable
|
||||
|
||||
**4. No Order Dependency**
|
||||
|
||||
- Every `it`/`describe`/`context` block works in isolation
|
||||
- Supports `.only` execution for debugging
|
||||
- Tests don't depend on previous tests
|
||||
|
||||
**5. Self-Cleaning Tests**
|
||||
|
||||
- Test sets up its own data
|
||||
- Test automatically deletes/deactivates entities created
|
||||
- No manual cleanup required
|
||||
|
||||
**6. Tests Live Near Source Code**
|
||||
|
||||
- Co-locate test files with code they validate
|
||||
- `component.tsx` → `component.spec.tsx` in same folder
|
||||
|
||||
**7. Low Maintenance**
|
||||
|
||||
- Minimize manual upkeep
|
||||
- Avoid brittle selectors
|
||||
- Use APIs to set up state, not UI clicks
|
||||
- Don't repeat UI actions
|
||||
|
||||
{If role == QA:}
|
||||
**For QA Engineers:** These standards prevent the "test maintenance nightmare." Upfront investment in quality = long-term stability.
|
||||
|
||||
{If role == Dev:}
|
||||
**For Developers:** Write tests you'd want to inherit. No flaky tests, no "run twice" culture, no mystery failures.
|
||||
|
||||
{If role == Lead:}
|
||||
**For Tech Leads:** Enforce these standards in code review. Flaky test PRs don't merge. Period.
|
||||
|
||||
{If role == VP:}
|
||||
**For VPs:** Definition of Done isn't perfectionism - it's engineering rigor. Flaky tests erode trust in CI/CD.
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/test-quality-standards/>
|
||||
|
||||
**Knowledge Fragment:** test-quality.md has execution limits and criteria"
|
||||
|
||||
### 6. Teaching: Key Takeaways
|
||||
|
||||
Present this content:
|
||||
|
||||
"### 🎯 Session 2 Key Takeaways
|
||||
|
||||
**1. Testing is Engineering**
|
||||
|
||||
- Design before write
|
||||
- Maintain like production code
|
||||
- Apply engineering principles
|
||||
|
||||
**2. Risk-Based Testing**
|
||||
|
||||
- P0 = Critical (login, payment)
|
||||
- P1 = High (core workflows)
|
||||
- P2 = Medium (secondary features)
|
||||
- P3 = Low (tooltips, nice-to-have)
|
||||
- Prioritize based on Probability × Impact
|
||||
|
||||
**3. Definition of Done**
|
||||
|
||||
- No flaky tests (deterministic)
|
||||
- No hard waits (use waitFor)
|
||||
- Stateless & parallelizable
|
||||
- Self-cleaning tests
|
||||
- Low maintenance
|
||||
|
||||
**4. Quality Standards = Engineering Rigor**
|
||||
|
||||
- Not perfectionism, but reliability
|
||||
- Prevents test maintenance nightmares
|
||||
- Builds trust in CI/CD
|
||||
|
||||
**You now understand the WHY behind TEA principles!**"
|
||||
|
||||
### 7. Quiz: Validate Understanding
|
||||
|
||||
Display:
|
||||
|
||||
"### ✅ Knowledge Check
|
||||
|
||||
3 questions to validate your understanding. Passing: ≥70% (2 of 3 correct)."
|
||||
|
||||
**Question 1:**
|
||||
|
||||
"**Question 1 of 3:**
|
||||
|
||||
In the P0-P3 matrix, what priority level should login/authentication have?
|
||||
|
||||
A) P3 - Low priority
|
||||
B) P2 - Medium priority
|
||||
C) P1 - High priority
|
||||
D) P0 - Critical priority
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: D
|
||||
- If correct: "✅ Correct! Login/authentication is P0 - critical. Business fails if broken."
|
||||
- If incorrect: "❌ Login/authentication is P0 - Critical (D). It's high usage, high impact, and business-critical."
|
||||
|
||||
**Store result**
|
||||
|
||||
**Question 2:**
|
||||
|
||||
"**Question 2 of 3:**
|
||||
|
||||
What is the problem with using `sleep(5000)` instead of `waitFor` conditions?
|
||||
|
||||
A) It makes tests slower
|
||||
B) It's a hard wait that doesn't react to state changes (violates DoD)
|
||||
C) It uses too much memory
|
||||
D) It's not supported in modern frameworks
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: B
|
||||
- If correct: "✅ Correct! Hard waits don't react to state - they guess timing. Use `waitFor` to react to conditions."
|
||||
- If incorrect: "❌ The issue is that hard waits don't react to state changes (B). They guess timing instead of waiting for conditions. This violates TEA Definition of Done."
|
||||
|
||||
**Store result**
|
||||
|
||||
**Question 3:**
|
||||
|
||||
"**Question 3 of 3:**
|
||||
|
||||
What does "self-cleaning tests" mean in TEA Definition of Done?
|
||||
|
||||
A) Tests automatically fix their own bugs
|
||||
B) Tests delete/deactivate entities they create during testing
|
||||
C) Tests run faster by cleaning up code
|
||||
D) Tests remove old test files
|
||||
|
||||
Your answer (A, B, C, or D):"
|
||||
|
||||
**Wait for response. Validate:**
|
||||
|
||||
- Correct answer: B
|
||||
- If correct: "✅ Correct! Self-cleaning tests clean up their data - no manual cleanup needed."
|
||||
- If incorrect: "❌ Self-cleaning means tests delete/deactivate entities they created (B). No manual cleanup required."
|
||||
|
||||
**Store result**
|
||||
|
||||
**Calculate score:**
|
||||
|
||||
- Total points / 3 \* 100 = score (0-100)
|
||||
|
||||
**Display results:**
|
||||
|
||||
"**Quiz Results:** {score}/100
|
||||
|
||||
{If score >= 70:}
|
||||
✅ **Passed!** You understand core testing concepts.
|
||||
|
||||
{If score < 70:}
|
||||
⚠️ **Below passing.** Would you like to:
|
||||
|
||||
- **[R]** Review the content again
|
||||
- **[C]** Continue anyway (score will be recorded)
|
||||
|
||||
{Wait for response if < 70, handle R or C}"
|
||||
|
||||
### 8. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} using {sessionNotesTemplate} with session-02 content including:
|
||||
|
||||
- Teaching topics covered
|
||||
- TEA docs referenced
|
||||
- Knowledge fragments referenced (test-quality.md, probability-impact.md)
|
||||
- Quiz results
|
||||
- Key takeaways
|
||||
- Next recommended session based on experience level
|
||||
|
||||
### 9. Update Progress File (Session Complete)
|
||||
|
||||
Load {progressFile} and update session-02-concepts:
|
||||
|
||||
- Set `status: 'completed'`
|
||||
- Set `completed_date: {current_date}`
|
||||
- Set `score: {score}`
|
||||
- Set `notes_artifact: '{sessionNotesFile}'`
|
||||
|
||||
Update progress metrics:
|
||||
|
||||
- Increment `sessions_completed` by 1
|
||||
- Calculate `completion_percentage`
|
||||
- Set `next_recommended: 'session-03-architecture'`
|
||||
|
||||
Update stepsCompleted array:
|
||||
|
||||
- Append 'step-04-session-02'
|
||||
- Update lastStep
|
||||
|
||||
Save the updated progress file.
|
||||
|
||||
### 10. Session Complete Message
|
||||
|
||||
Display:
|
||||
|
||||
"🎉 **Session 2 Complete!**
|
||||
|
||||
**Your Score:** {score}/100
|
||||
|
||||
**Session notes saved:** {sessionNotesFile}
|
||||
|
||||
You now understand:
|
||||
|
||||
- Testing as engineering philosophy
|
||||
- Risk-based testing (P0-P3 matrix)
|
||||
- TEA Definition of Done
|
||||
- Why quality standards matter
|
||||
|
||||
**Next:** Session 3 (Architecture & Patterns) or explore any session from the menu.
|
||||
|
||||
**Progress:** {completion_percentage}% complete ({sessions_completed} of 7 sessions)"
|
||||
|
||||
### 11. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
|
||||
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
|
||||
- IF C: Progress file already updated, then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other: help user, then redisplay menu
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Teaching content presented (Testing as Engineering, Risk-based, DoD)
|
||||
- Examples adapted to user role
|
||||
- Quiz administered (3 questions)
|
||||
- Score calculated correctly
|
||||
- Session notes generated
|
||||
- Progress file updated
|
||||
- stepsCompleted array updated
|
||||
- User routed back to hub
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping quiz
|
||||
- Not adapting to role
|
||||
- Not generating notes
|
||||
- Not updating progress
|
||||
- Not routing to hub
|
||||
|
||||
**Master Rule:** Teach, quiz, generate notes, update progress, return to hub.
|
||||
@@ -0,0 +1,301 @@
|
||||
---
|
||||
name: 'step-04-session-03'
|
||||
description: 'Session 3: Architecture & Patterns - Fixtures, network patterns, framework setup (60 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-03-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 3 - Architecture & Patterns
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To teach TEA architecture patterns including fixture composition, network-first patterns, and step-file architecture in a 60-minute session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning, not lectures
|
||||
- ✅ You bring expertise in TEA methodology and teaching pedagogy
|
||||
- ✅ Learner brings their role context, experience, and learning goals
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on Session 3 content (Architecture & Patterns)
|
||||
- 🚫 FORBIDDEN to skip ahead to other sessions
|
||||
- 💬 Approach: Teach patterns, provide examples, quiz understanding
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load TEA docs just-in-time
|
||||
- 💾 Generate session notes after completion
|
||||
- 📖 Update progress file with session completion and score
|
||||
- ⏭️ Return to session menu hub after completion
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with user role/experience
|
||||
- Focus: Session 3 - Architecture patterns
|
||||
- Dependencies: Progress file exists
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly.
|
||||
|
||||
### 1. Session Welcome
|
||||
|
||||
"🧪 **Session 3: Architecture & Patterns** (60 minutes)
|
||||
|
||||
**Objective:** Understand TEA patterns and architecture
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- Fixture architecture and composition
|
||||
- Network-first patterns
|
||||
- Data factories and test setup
|
||||
- Step-file architecture (the pattern this workflow uses!)
|
||||
|
||||
Let's explore TEA architecture!"
|
||||
|
||||
### 2. Update Progress (Started)
|
||||
|
||||
Load {progressFile}, update session-03-architecture:
|
||||
|
||||
- `status: 'in-progress'`
|
||||
- `started_date: {current_date}`
|
||||
|
||||
### 3. Teaching: Fixture Architecture
|
||||
|
||||
"### 🏗️ Fixture Architecture
|
||||
|
||||
**The Problem:** Tests have setup/teardown boilerplate everywhere.
|
||||
|
||||
**TEA Solution:** Composable fixtures
|
||||
|
||||
**Fixture Composition Pattern:**
|
||||
|
||||
```typescript
|
||||
// Base fixtures
|
||||
const baseFixtures = {
|
||||
page: async ({}, use) => {
|
||||
/* ... */
|
||||
},
|
||||
};
|
||||
|
||||
// Composed fixtures
|
||||
const authFixtures = {
|
||||
authenticatedPage: async ({ page }, use) => {
|
||||
await page.goto('/login');
|
||||
await login(page);
|
||||
await use(page);
|
||||
},
|
||||
};
|
||||
|
||||
// Merge and use
|
||||
test.use(mergeTests(baseFixtures, authFixtures));
|
||||
```
|
||||
|
||||
**Benefits:**
|
||||
|
||||
- DRY: Define once, use everywhere
|
||||
- Composable: Build complex fixtures from simple ones
|
||||
- Automatic cleanup: Fixtures handle teardown
|
||||
- Type-safe: Full TypeScript support
|
||||
|
||||
{Role-adapted example based on user role}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/fixture-architecture/>
|
||||
**Knowledge Fragment:** fixture-architecture.md, fixtures-composition.md"
|
||||
|
||||
### 4. Teaching: Network-First Patterns
|
||||
|
||||
"### 🌐 Network-First Patterns
|
||||
|
||||
**The Problem:** Flaky tests due to network timing issues.
|
||||
|
||||
**TEA Solution:** Intercept and control network
|
||||
|
||||
**Network-First Pattern:**
|
||||
|
||||
```typescript
|
||||
// BEFORE the action, set up network interception
|
||||
await page.route('/api/users', (route) => {
|
||||
route.fulfill({ json: mockUsers });
|
||||
});
|
||||
|
||||
// THEN trigger the action
|
||||
await page.click('Load Users');
|
||||
|
||||
// Network is already mocked - no race condition
|
||||
```
|
||||
|
||||
**Why Network-First:**
|
||||
|
||||
- Prevents race conditions
|
||||
- Deterministic test behavior
|
||||
- Fast (no real API calls)
|
||||
- Control error scenarios
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/network-first-patterns/>
|
||||
**Knowledge Fragment:** network-first.md, intercept-network-call.md"
|
||||
|
||||
### 5. Teaching: Data Factories
|
||||
|
||||
"### 🏭 Data Factories
|
||||
|
||||
**The Problem:** Hard-coded test data everywhere.
|
||||
|
||||
**TEA Solution:** Factory functions
|
||||
|
||||
**Factory Pattern:**
|
||||
|
||||
```typescript
|
||||
function createUser(overrides = {}) {
|
||||
return {
|
||||
id: faker.uuid(),
|
||||
email: faker.email(),
|
||||
role: 'user',
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
|
||||
// Use in tests
|
||||
const admin = createUser({ role: 'admin' });
|
||||
const user = createUser(); // defaults
|
||||
```
|
||||
|
||||
**Benefits:**
|
||||
|
||||
- No hardcoded data
|
||||
- Easy to override fields
|
||||
- Consistent test data
|
||||
- Self-documenting
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragment:** data-factories.md"
|
||||
|
||||
### 6. Teaching: Step-File Architecture
|
||||
|
||||
"### 📋 Step-File Architecture
|
||||
|
||||
**This workflow uses step-file architecture!**
|
||||
|
||||
**Pattern:**
|
||||
|
||||
- Micro-file design: Each step is self-contained
|
||||
- Just-in-time loading: Only current step in memory
|
||||
- Sequential enforcement: No skipping steps
|
||||
- State tracking: Progress saved between steps
|
||||
|
||||
**Why:**
|
||||
|
||||
- Disciplined execution
|
||||
- Clear progression
|
||||
- Resumable (continuable workflows)
|
||||
- Maintainable (one file per step)
|
||||
|
||||
**You're experiencing this right now:** Each session is a step file!
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/step-file-architecture/>"
|
||||
|
||||
### 7. Quiz (3 questions)
|
||||
|
||||
"### ✅ Knowledge Check"
|
||||
|
||||
**Q1:** "What is the main benefit of fixture composition?
|
||||
A) Faster test execution
|
||||
B) DRY - define once, reuse everywhere
|
||||
C) Better error messages
|
||||
D) Automatic screenshot capture"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q2:** "Why is 'network-first' better than mocking after the action?
|
||||
A) It's faster
|
||||
B) It prevents race conditions
|
||||
C) It uses less memory
|
||||
D) It's easier to write"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q3:** "What pattern does this teaching workflow use?
|
||||
A) Page Object Model
|
||||
B) Behavior Driven Development
|
||||
C) Step-File Architecture
|
||||
D) Test Pyramid"
|
||||
|
||||
Correct: C
|
||||
|
||||
Calculate score, handle <70% retry option.
|
||||
|
||||
### 8. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} with:
|
||||
|
||||
- Session 3 content
|
||||
- Topics: Fixtures, network-first, data factories, step-file architecture
|
||||
- TEA docs referenced
|
||||
- Knowledge fragments: fixture-architecture.md, network-first.md, data-factories.md
|
||||
- Quiz results
|
||||
- Next recommended: session-04-test-design
|
||||
|
||||
### 9. Update Progress (Completed)
|
||||
|
||||
Update session-03-architecture:
|
||||
|
||||
- `status: 'completed'`
|
||||
- `completed_date: {current_date}`
|
||||
- `score: {score}`
|
||||
- `notes_artifact`
|
||||
|
||||
Increment sessions_completed, update completion_percentage.
|
||||
Append 'step-04-session-03' to stepsCompleted.
|
||||
|
||||
### 10. Complete Message
|
||||
|
||||
"🎉 **Session 3 Complete!** Score: {score}/100
|
||||
You understand TEA architecture patterns!
|
||||
Progress: {completion_percentage}%"
|
||||
|
||||
### 11. Menu
|
||||
|
||||
[A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
Return to {nextStepFile}
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Architecture patterns taught
|
||||
- Quiz administered
|
||||
- Notes generated
|
||||
- Progress updated
|
||||
- Returned to hub
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Skipping patterns
|
||||
- Not generating notes
|
||||
- Not updating progress
|
||||
|
||||
**Master Rule:** Teach patterns, quiz, update, return to hub.
|
||||
@@ -0,0 +1,234 @@
|
||||
---
|
||||
name: 'step-04-session-04'
|
||||
description: 'Session 4: Test Design - Risk assessment, test design workflow (60 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-04-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 4 - Test Design
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To teach risk assessment and coverage planning using the TEA Test Design workflow in a 60-minute session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Master Test Architect and Teaching Guide
|
||||
- ✅ We engage in collaborative learning
|
||||
- ✅ You bring expertise in TEA methodology
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on Session 4 (Test Design)
|
||||
- 💬 Teach workflow, provide examples
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load docs just-in-time
|
||||
- 💾 Generate notes
|
||||
- 📖 Update progress
|
||||
- ⏭️ Return to hub
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Welcome
|
||||
|
||||
"🧪 **Session 4: Test Design** (60 minutes)
|
||||
|
||||
**Objective:** Learn risk assessment and coverage planning
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- Test Design workflow
|
||||
- Risk/testability assessment
|
||||
- Coverage planning with test levels
|
||||
- Test priorities matrix
|
||||
|
||||
Let's plan some tests!"
|
||||
|
||||
### 2. Update Progress (Started)
|
||||
|
||||
Set session-04-test-design `status: 'in-progress'`, `started_date`.
|
||||
|
||||
### 3. Teaching: Test Design Workflow
|
||||
|
||||
"### 📐 Test Design Workflow
|
||||
|
||||
**Purpose:** Plan tests BEFORE writing them (design before code).
|
||||
|
||||
**Workflow Steps:**
|
||||
|
||||
1. **Load Context:** Understand feature/system
|
||||
2. **Risk/Testability Assessment:** Score probability × impact
|
||||
3. **Coverage Planning:** Determine what to test and how
|
||||
4. **Generate Test Design Document:** Blueprint for implementation
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- New features (epic/system level)
|
||||
- Major refactors
|
||||
- Quality gate before development
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-design/>"
|
||||
|
||||
### 4. Teaching: Risk/Testability Assessment
|
||||
|
||||
"### ⚖️ Risk & Testability Assessment
|
||||
|
||||
**Risk Scoring:**
|
||||
|
||||
- **Probability:** How likely is this to fail? (Low/Medium/High)
|
||||
- **Impact:** What happens if it fails? (Low/Medium/High)
|
||||
- **Risk = Probability × Impact**
|
||||
|
||||
**Example: Login Feature**
|
||||
|
||||
- Probability: High (complex, authentication)
|
||||
- Impact: High (business critical)
|
||||
- **Risk: HIGH** → P0 priority
|
||||
|
||||
**Example: Tooltip Text**
|
||||
|
||||
- Probability: Low (simple rendering)
|
||||
- Impact: Low (aesthetic only)
|
||||
- **Risk: LOW** → P3 priority
|
||||
|
||||
**Testability:**
|
||||
|
||||
- Can we test this easily?
|
||||
- Are there dependencies blocking us?
|
||||
- Do we need test infrastructure first?
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragments:** probability-impact.md, test-priorities-matrix.md"
|
||||
|
||||
### 5. Teaching: Coverage Planning
|
||||
|
||||
"### 📋 Coverage Planning
|
||||
|
||||
**Test Levels Framework:**
|
||||
|
||||
**Unit Tests:** Isolated functions/classes
|
||||
|
||||
- Fast, focused
|
||||
- No external dependencies
|
||||
- Example: Pure functions, business logic
|
||||
|
||||
**Integration Tests:** Multiple components together
|
||||
|
||||
- Database, API interactions
|
||||
- Example: Service layer with DB
|
||||
|
||||
**E2E Tests:** Full user workflows
|
||||
|
||||
- Browser automation
|
||||
- Example: Complete checkout flow
|
||||
|
||||
**Coverage Strategy:**
|
||||
|
||||
- **P0 features:** Unit + Integration + E2E (high confidence)
|
||||
- **P1 features:** Integration + E2E (good coverage)
|
||||
- **P2 features:** E2E or Integration (basic coverage)
|
||||
- **P3 features:** Manual or skip (low priority)
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragment:** test-levels-framework.md
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/test-quality-standards/>"
|
||||
|
||||
### 6. Teaching: Test Priorities Matrix
|
||||
|
||||
"### 📊 Test Priorities Matrix
|
||||
|
||||
**P0-P3 Coverage Targets:**
|
||||
|
||||
| Priority | Unit | Integration | E2E | Manual |
|
||||
| -------- | ---- | ----------- | --- | ------ |
|
||||
| P0 | ✅ | ✅ | ✅ | ✅ |
|
||||
| P1 | ✅ | ✅ | ✅ | - |
|
||||
| P2 | - | ✅ | - | ✅ |
|
||||
| P3 | - | - | - | ✅ |
|
||||
|
||||
**Goal:** 100% P0, 80% P1, 50% P2, 20% P3
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragment:** test-priorities-matrix.md"
|
||||
|
||||
### 7. Quiz (3 questions)
|
||||
|
||||
**Q1:** "What does the Test Design workflow help you do?
|
||||
A) Write tests faster
|
||||
B) Plan tests BEFORE writing them
|
||||
C) Run tests in parallel
|
||||
D) Debug test failures"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q2:** "How do you calculate risk?
|
||||
A) Probability + Impact
|
||||
B) Probability × Impact
|
||||
C) Probability - Impact
|
||||
D) Probability / Impact"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q3:** "For P0 features, which test levels should you use?
|
||||
A) Only E2E tests
|
||||
B) Only unit tests
|
||||
C) Unit + Integration + E2E (comprehensive)
|
||||
D) Manual testing only"
|
||||
|
||||
Correct: C
|
||||
|
||||
Calculate score, handle <70% retry.
|
||||
|
||||
### 8. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} with Session 4 content, docs, fragments, quiz.
|
||||
|
||||
### 9. Update Progress (Completed)
|
||||
|
||||
Update session-04-test-design: completed, score, notes.
|
||||
Increment sessions_completed, update percentage.
|
||||
Append 'step-04-session-04' to stepsCompleted.
|
||||
Set next_recommended: 'session-05-atdd-automate'.
|
||||
|
||||
### 10. Complete Message
|
||||
|
||||
"🎉 **Session 4 Complete!** Score: {score}/100
|
||||
You can now plan tests using risk assessment!
|
||||
Progress: {completion_percentage}%"
|
||||
|
||||
### 11. Menu
|
||||
|
||||
[A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
Return to {nextStepFile}.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ Test Design workflow taught, quiz passed, notes generated, progress updated, returned to hub.
|
||||
|
||||
**Master Rule:** Teach planning, quiz, update, return.
|
||||
@@ -0,0 +1,234 @@
|
||||
---
|
||||
name: 'step-04-session-05'
|
||||
description: 'Session 5: ATDD & Automate - TDD red-green approach, generate tests (60 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-05-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 5 - ATDD & Automate
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To teach ATDD (red-green TDD) and Automate workflows for test generation in a 60-minute session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ Master Test Architect and Teaching Guide
|
||||
- ✅ Collaborative learning
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on Session 5 (ATDD & Automate)
|
||||
- 💬 Teach TDD approach
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load docs just-in-time
|
||||
- 💾 Generate notes
|
||||
- 📖 Update progress
|
||||
- ⏭️ Return to hub
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Welcome
|
||||
|
||||
"🧪 **Session 5: ATDD & Automate** (60 minutes)
|
||||
|
||||
**Objective:** Generate tests with TDD red-green approach
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- ATDD workflow (failing tests first)
|
||||
- Automate workflow (expand coverage)
|
||||
- Component TDD
|
||||
- API testing patterns
|
||||
|
||||
Let's generate some tests!"
|
||||
|
||||
### 2. Update Progress (Started)
|
||||
|
||||
Load {progressFile} and update session-05-atdd-automate:
|
||||
|
||||
- Set `status: 'in-progress'`
|
||||
- Set `started_date: {current_date}` if not already set
|
||||
|
||||
Save the updated progress file.
|
||||
|
||||
### 3. Teaching: ATDD Workflow
|
||||
|
||||
"### 🔴 ATDD: Acceptance-Driven Test Development
|
||||
|
||||
**TDD Red Phase:** Write failing tests FIRST
|
||||
|
||||
**ATDD Workflow:**
|
||||
|
||||
1. **Preflight:** Check prerequisites
|
||||
2. **Test Strategy:** Define what to test
|
||||
3. **Generate FAILING Tests:** Red phase (tests fail because code doesn't exist yet)
|
||||
4. **Implement Code:** Green phase (make tests pass)
|
||||
|
||||
**Why Failing Tests First:**
|
||||
|
||||
- Validates tests actually test something
|
||||
- Prevents false positives
|
||||
- Drives implementation (tests define behavior)
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/>"
|
||||
|
||||
### 4. Teaching: Automate Workflow
|
||||
|
||||
"### 🤖 Automate: Expand Test Coverage
|
||||
|
||||
**Purpose:** Generate tests for existing features
|
||||
|
||||
**Automate Workflow:**
|
||||
|
||||
1. **Identify Targets:** What needs testing
|
||||
2. **Generate Tests:** API and/or E2E tests
|
||||
3. **Review & Run:** Tests should pass (code already exists)
|
||||
|
||||
**Difference from ATDD:**
|
||||
|
||||
- ATDD: Tests first, then code (red → green)
|
||||
- Automate: Code first, then tests (coverage expansion)
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/>"
|
||||
|
||||
### 5. Teaching: Component TDD
|
||||
|
||||
"### 🔄 Component TDD Red-Green Loop
|
||||
|
||||
**Pattern:**
|
||||
|
||||
1. **Red:** Write failing test
|
||||
2. **Green:** Minimal code to pass
|
||||
3. **Refactor:** Improve code, tests stay green
|
||||
4. **Repeat:** Next requirement
|
||||
|
||||
**Example:**
|
||||
|
||||
```typescript
|
||||
// RED: Test fails (function doesn't exist)
|
||||
test('calculates total price', () => {
|
||||
expect(calculateTotal([10, 20])).toBe(30);
|
||||
});
|
||||
|
||||
// GREEN: Minimal implementation
|
||||
function calculateTotal(prices) {
|
||||
return prices.reduce((a, b) => a + b, 0);
|
||||
}
|
||||
|
||||
// REFACTOR: Add validation, tests still green
|
||||
```
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragment:** component-tdd.md"
|
||||
|
||||
### 6. Teaching: API Testing Patterns
|
||||
|
||||
"### 🌐 API Testing Patterns
|
||||
|
||||
**Pure API Testing (no browser):**
|
||||
|
||||
- Fast execution
|
||||
- Test business logic
|
||||
- Validate responses
|
||||
- Schema validation
|
||||
|
||||
**Pattern:**
|
||||
|
||||
```typescript
|
||||
test('GET /users returns user list', async ({ request }) => {
|
||||
const response = await request.get('/api/users');
|
||||
expect(response.ok()).toBeTruthy();
|
||||
const users = await response.json();
|
||||
expect(users).toHaveLength(10);
|
||||
});
|
||||
```
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Knowledge Fragment:** api-testing-patterns.md, api-request.md"
|
||||
|
||||
### 7. Quiz (3 questions)
|
||||
|
||||
**Q1:** "What is the 'red' phase in TDD?
|
||||
A) Tests fail (code doesn't exist yet)
|
||||
B) Tests pass
|
||||
C) Code is refactored
|
||||
D) Tests are deleted"
|
||||
|
||||
Correct: A
|
||||
|
||||
**Q2:** "What's the difference between ATDD and Automate workflows?
|
||||
A) ATDD generates E2E, Automate generates API tests
|
||||
B) ATDD writes tests first (red phase), Automate tests existing code
|
||||
C) ATDD is faster than Automate
|
||||
D) They're the same workflow"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q3:** "Why use pure API tests without a browser?
|
||||
A) They look prettier
|
||||
B) They're easier to debug
|
||||
C) They're faster and test business logic directly
|
||||
D) They're required by TEA"
|
||||
|
||||
Correct: C
|
||||
|
||||
Calculate score, handle <70% retry.
|
||||
|
||||
### 8. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} with Session 5 content:
|
||||
|
||||
- ATDD workflow (red-green TDD)
|
||||
- Automate workflow (coverage expansion)
|
||||
- Component TDD
|
||||
- API testing patterns
|
||||
- Docs: ATDD, Automate
|
||||
- Fragments: component-tdd.md, api-testing-patterns.md, api-request.md
|
||||
- Quiz results
|
||||
|
||||
### 9. Update Progress (Completed)
|
||||
|
||||
Update session-05-atdd-automate: completed, score, notes.
|
||||
Increment sessions_completed, update percentage.
|
||||
Append 'step-04-session-05' to stepsCompleted.
|
||||
Set next_recommended: 'session-06-quality-trace'.
|
||||
|
||||
### 10. Complete Message
|
||||
|
||||
"🎉 **Session 5 Complete!** Score: {score}/100
|
||||
You can now generate tests with ATDD and Automate!
|
||||
Progress: {completion_percentage}%"
|
||||
|
||||
### 11. Menu
|
||||
|
||||
[A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
Return to {nextStepFile}.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ ATDD and Automate taught, TDD explained, quiz passed, notes generated, progress updated, returned to hub.
|
||||
@@ -0,0 +1,209 @@
|
||||
---
|
||||
name: 'step-04-session-06'
|
||||
description: 'Session 6: Quality & Trace - Test review, traceability, quality metrics (45 min)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-06-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 6 - Quality & Trace
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To teach test quality auditing and requirements traceability using Test Review and Trace workflows in a 45-minute session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate _unsolicited_ content without user input (session flow content is allowed once session begins)
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ Master Test Architect and Teaching Guide
|
||||
- ✅ Collaborative learning
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on Session 6 (Quality & Trace)
|
||||
- 💬 Teach quality metrics
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load docs just-in-time
|
||||
- 💾 Generate notes
|
||||
- 📖 Update progress
|
||||
- ⏭️ Return to hub
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Welcome
|
||||
|
||||
"🧪 **Session 6: Quality & Trace** (45 minutes)
|
||||
|
||||
**Objective:** Audit quality and ensure traceability
|
||||
|
||||
**What you'll learn:**
|
||||
|
||||
- Test Review workflow (quality scoring)
|
||||
- 5 dimensions of test quality
|
||||
- Trace workflow (requirements traceability)
|
||||
- Release gate decisions
|
||||
|
||||
Let's ensure quality!"
|
||||
|
||||
### 2. Update Progress (Started)
|
||||
|
||||
Set session-06-quality-trace `status: 'in-progress'`.
|
||||
|
||||
### 3. Teaching: Test Review Workflow
|
||||
|
||||
"### 🔍 Test Review Workflow
|
||||
|
||||
**Purpose:** Audit test quality with 0-100 scoring
|
||||
|
||||
**5 Dimensions of Quality:**
|
||||
|
||||
**1. Determinism (0-100)**
|
||||
|
||||
- Tests pass/fail consistently
|
||||
- No flakiness, no randomness
|
||||
- Proper async handling
|
||||
|
||||
**2. Isolation (0-100)**
|
||||
|
||||
- Tests run independently
|
||||
- No shared state
|
||||
- Parallelizable
|
||||
|
||||
**3. Assertions (0-100)**
|
||||
|
||||
- Correct checks for expected behavior
|
||||
- Meaningful assertions (not just presence)
|
||||
- Fails for the right reasons
|
||||
|
||||
**4. Structure (0-100)**
|
||||
|
||||
- Readable test code
|
||||
- Clear organization and naming
|
||||
- Minimal duplication
|
||||
|
||||
**5. Performance (0-100)**
|
||||
|
||||
- Test execution speed
|
||||
- Resource usage
|
||||
- Parallel efficiency
|
||||
|
||||
**Overall Score = Average of 5 dimensions**
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-review/>"
|
||||
|
||||
### 4. Teaching: Trace Workflow
|
||||
|
||||
"### 🔗 Trace Workflow: Requirements Traceability
|
||||
|
||||
**Purpose:** Map tests to requirements, make release gate decision
|
||||
|
||||
**Trace Workflow:**
|
||||
|
||||
1. **Load Context:** Understand acceptance criteria
|
||||
2. **Discover Tests:** Find all test files
|
||||
3. **Map Criteria:** Link tests to requirements
|
||||
4. **Analyze Gaps:** What's not tested?
|
||||
5. **Gate Decision:** GREEN (ship) or RED (block)
|
||||
|
||||
**Release Gate Logic:**
|
||||
|
||||
- **GREEN:** All P0/P1 criteria have tests, gaps are P2/P3
|
||||
- **YELLOW:** Some P1 gaps, assess risk
|
||||
- **RED:** P0 gaps exist, DO NOT SHIP
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-trace/>"
|
||||
|
||||
### 5. Teaching: Quality Metrics
|
||||
|
||||
"### 📊 Quality Metrics That Matter
|
||||
|
||||
**Track:**
|
||||
|
||||
- **P0/P1 Coverage %** (not total line coverage)
|
||||
- **Flakiness Rate** (flaky tests / total tests)
|
||||
- **Test Execution Time** (feedback loop speed)
|
||||
- **Determinism Score** (from Test Review)
|
||||
|
||||
**Don't Track (Vanity Metrics):**
|
||||
|
||||
- Total line coverage % (tells you nothing about risk)
|
||||
- Number of tests (quantity ≠ quality)
|
||||
- Test file count (irrelevant)
|
||||
|
||||
{Role-adapted example}
|
||||
|
||||
**Goal:** High P0/P1 coverage, zero flakiness, fast execution."
|
||||
|
||||
### 6. Quiz (3 questions)
|
||||
|
||||
**Q1:** "What are the 5 dimensions in Test Review workflow?
|
||||
A) Speed, cost, coverage, bugs, time
|
||||
B) Determinism, Isolation, Assertions, Structure, Performance
|
||||
C) Unit, integration, E2E, manual, exploratory
|
||||
D) P0, P1, P2, P3, P4"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q2:** "When should the Trace workflow gate decision be RED (block release)?
|
||||
A) Any test failures exist
|
||||
B) P0 gaps exist (critical requirements not tested)
|
||||
C) Code coverage is below 80%
|
||||
D) Tests are slow"
|
||||
|
||||
Correct: B
|
||||
|
||||
**Q3:** "Which metric matters most for quality?
|
||||
A) Total line coverage %
|
||||
B) Number of tests written
|
||||
C) P0/P1 coverage %
|
||||
D) Test file count"
|
||||
|
||||
Correct: C
|
||||
|
||||
Calculate score, handle <70% retry.
|
||||
|
||||
### 7. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} with Session 6 content, Test Review + Trace workflows, quality metrics.
|
||||
|
||||
### 8. Update Progress (Completed)
|
||||
|
||||
Update session-06-quality-trace: completed, score, notes.
|
||||
Increment sessions_completed, update percentage.
|
||||
Append 'step-04-session-06' to stepsCompleted.
|
||||
Set next_recommended: 'session-07-advanced'.
|
||||
|
||||
### 9. Complete Message
|
||||
|
||||
"🎉 **Session 6 Complete!** Score: {score}/100
|
||||
You can now audit quality and ensure traceability!
|
||||
Progress: {completion_percentage}%"
|
||||
|
||||
### 10. Menu
|
||||
|
||||
[A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
Return to {nextStepFile}.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ Test Review and Trace taught, quality dimensions explained, quiz passed, notes generated, returned to hub.
|
||||
@@ -0,0 +1,212 @@
|
||||
---
|
||||
name: 'step-04-session-07'
|
||||
description: 'Session 7: Advanced Patterns - Menu-driven knowledge fragment exploration (ongoing)'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
sessionNotesTemplate: '../templates/session-notes-template.md'
|
||||
sessionNotesFile: '{test_artifacts}/tea-academy/{user_name}/session-07-notes.md'
|
||||
nextStepFile: './step-03-session-menu.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Session 7 - Advanced Patterns
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To provide menu-driven exploration of 35 TEA knowledge fragments organized by category, allowing deep-dive into specific advanced topics on-demand.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ Master Test Architect and Teaching Guide
|
||||
- ✅ Collaborative exploration
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on Session 7 (Advanced Patterns exploration)
|
||||
- 💬 Menu-driven, user chooses topics
|
||||
- 📚 This session is ONGOING - users can explore multiple fragments
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Display fragment categories
|
||||
- 💾 Generate notes after exploration
|
||||
- 📖 Update progress when user exits
|
||||
- ⏭️ Return to hub when done
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Welcome
|
||||
|
||||
"🧪 **Session 7: Advanced Patterns** (Ongoing Exploration)
|
||||
|
||||
**Objective:** Deep-dive into 34 TEA knowledge fragments
|
||||
|
||||
**This session is different:**
|
||||
|
||||
- Menu-driven exploration (you choose topics)
|
||||
- Explore as many fragments as you want
|
||||
- Can revisit this session anytime
|
||||
- No quiz - this is reference learning
|
||||
|
||||
**35 Knowledge Fragments organized by category:**
|
||||
|
||||
Let's explore!"
|
||||
|
||||
### 2. Update Progress (Started)
|
||||
|
||||
Set session-07-advanced `status: 'in-progress'` (only first time).
|
||||
|
||||
### 3. Display Knowledge Fragment Categories
|
||||
|
||||
"### 📚 Knowledge Fragment Categories
|
||||
|
||||
**1. Testing Patterns (9 fragments)**
|
||||
|
||||
- fixture-architecture.md - Composable fixture patterns
|
||||
- fixtures-composition.md - mergeTests composition patterns
|
||||
- network-first.md - Network interception safeguards
|
||||
- data-factories.md - Data seeding & setup
|
||||
- component-tdd.md - TDD red-green loop
|
||||
- api-testing-patterns.md - Pure API testing
|
||||
- test-healing-patterns.md - Auto-fix common failures
|
||||
- selector-resilience.md - Robust selectors
|
||||
- timing-debugging.md - Race condition fixes
|
||||
|
||||
**2. Playwright Utils (11 fragments)**
|
||||
|
||||
- overview.md - Playwright Utils overview
|
||||
- api-request.md - Typed HTTP client
|
||||
- network-recorder.md - HAR record/playback
|
||||
- intercept-network-call.md - Network spy/stub
|
||||
- recurse.md - Async polling
|
||||
- log.md - Report logging
|
||||
- file-utils.md - CSV/XLSX/PDF validation
|
||||
- burn-in.md - Smart test selection
|
||||
- network-error-monitor.md - HTTP error detection
|
||||
- contract-testing.md - Pact integration
|
||||
- visual-debugging.md - Trace viewer workflows
|
||||
|
||||
**3. Configuration & Governance (6 fragments)**
|
||||
|
||||
- playwright-config.md - Environment & timeout guardrails
|
||||
- ci-burn-in.md - CI orchestration
|
||||
- selective-testing.md - Tag/grep filters
|
||||
- feature-flags.md - Governance & cleanup
|
||||
- risk-governance.md - Scoring matrix & gates
|
||||
- adr-quality-readiness-checklist.md - Quality readiness checklist
|
||||
|
||||
**4. Quality Frameworks (5 fragments)**
|
||||
|
||||
- test-quality.md - DoD execution limits
|
||||
- test-levels-framework.md - Unit/Integration/E2E
|
||||
- test-priorities-matrix.md - P0-P3 coverage targets
|
||||
- probability-impact.md - Probability × impact scoring
|
||||
- nfr-criteria.md - NFR assessment definitions
|
||||
|
||||
**5. Authentication & Security (3 fragments)**
|
||||
|
||||
- email-auth.md - Magic link extraction
|
||||
- auth-session.md - Token persistence
|
||||
- error-handling.md - Exception handling
|
||||
|
||||
**GitHub Repository:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge>
|
||||
|
||||
**Select a category (1-5) or specific fragment to explore, or [X] to finish:**"
|
||||
|
||||
### 4. Fragment Exploration Loop
|
||||
|
||||
**Wait for user selection.**
|
||||
|
||||
**Handle selection:**
|
||||
|
||||
- **IF 1-5 (category):** Display all fragments in that category with descriptions, ask which fragment to explore
|
||||
- **IF specific fragment name:** Load and present that fragment's content
|
||||
- **IF X:** Proceed to step 5 (complete session)
|
||||
- **IF Any other:** Help user, redisplay categories
|
||||
|
||||
**For each fragment explored:**
|
||||
|
||||
1. Present the fragment's key concepts
|
||||
2. Provide role-adapted examples
|
||||
3. Link to GitHub source
|
||||
4. Ask: "Explore another fragment? [Y/N/X to finish]"
|
||||
5. If Y: Redisplay categories
|
||||
6. If N or X: Proceed to completion
|
||||
|
||||
**Track fragments explored** (for session notes).
|
||||
|
||||
### 5. Session Summary
|
||||
|
||||
After user selects X (finish exploration):
|
||||
|
||||
"### 🎯 Session 7 Summary
|
||||
|
||||
**Fragments Explored:** {count}
|
||||
|
||||
{List each fragment explored}
|
||||
|
||||
**Key Takeaways:**
|
||||
{Summarize insights from explored fragments}
|
||||
|
||||
**Remember:** You can return to Session 7 anytime to explore more fragments!
|
||||
|
||||
**GitHub Knowledge Base:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge>"
|
||||
|
||||
### 6. Generate Session Notes
|
||||
|
||||
Create {sessionNotesFile} with:
|
||||
|
||||
- Session 7 content
|
||||
- List of fragments explored
|
||||
- Key insights from each
|
||||
- GitHub links
|
||||
- No quiz (exploratory session)
|
||||
- Score: 100 (completion based, not quiz based)
|
||||
|
||||
### 7. Update Progress (Completed)
|
||||
|
||||
Update session-07-advanced: completed, score: 100, notes.
|
||||
Increment sessions_completed, update percentage.
|
||||
Append 'step-04-session-07' to stepsCompleted.
|
||||
|
||||
**Check completion:**
|
||||
|
||||
- If sessions_completed == 7: Set next_recommended: 'completion'
|
||||
- Otherwise: Recommend next incomplete session
|
||||
|
||||
### 8. Complete Message
|
||||
|
||||
"🎉 **Session 7 Complete!**
|
||||
|
||||
**Fragments Explored:** {count}
|
||||
|
||||
{If sessions_completed == 7:}
|
||||
🏆 **Congratulations!** You've completed ALL 7 sessions!
|
||||
Your completion certificate will be generated when you return to the menu.
|
||||
|
||||
{Otherwise:}
|
||||
**Progress:** {completion_percentage}% complete ({sessions_completed} of 7 sessions)
|
||||
You can return to Session 7 anytime to explore more fragments!"
|
||||
|
||||
### 9. Menu
|
||||
|
||||
[A] Advanced Elicitation [P] Party Mode [C] Continue to Session Menu
|
||||
|
||||
Return to {nextStepFile}.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ Fragment categories displayed, user explored chosen fragments, notes generated with exploration summary, progress updated, returned to hub.
|
||||
|
||||
**Master Rule:** This session is exploratory and repeatable. User drives exploration, workflow facilitates.
|
||||
@@ -0,0 +1,339 @@
|
||||
---
|
||||
name: 'step-05-completion'
|
||||
description: 'Generate completion certificate, final progress update, congratulate learner'
|
||||
|
||||
progressFile: '{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml'
|
||||
certificateTemplate: '../templates/certificate-template.md'
|
||||
certificateFile: '{test_artifacts}/tea-academy/{user_name}/tea-completion-certificate.md'
|
||||
---
|
||||
|
||||
# Step 5: Completion & Certificate Generation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To generate the TEA Academy completion certificate, update final progress, and congratulate the learner on completing all 7 sessions.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ Master Test Architect and Teaching Guide
|
||||
- ✅ Celebrating completion
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on completion and celebration
|
||||
- 🚫 FORBIDDEN to proceed without verifying all 7 sessions complete
|
||||
- 💬 Approach: Congratulate, generate certificate, inspire next steps
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Verify all sessions complete
|
||||
- 💾 Generate completion certificate
|
||||
- 📖 Final progress update
|
||||
- 🎉 This is the final step - no next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Progress file with all 7 sessions completed
|
||||
- Focus: Certificate generation and celebration
|
||||
- Dependencies: All 7 sessions must be complete
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Verify All Sessions Complete
|
||||
|
||||
Load {progressFile} and check:
|
||||
|
||||
- All 7 sessions have `status: 'completed'`
|
||||
- All 7 sessions have scores
|
||||
- sessions_completed == 7
|
||||
|
||||
**If any session NOT complete:**
|
||||
|
||||
Display:
|
||||
|
||||
"⚠️ **Not all sessions complete!**
|
||||
|
||||
You still have {7 - sessions_completed} sessions remaining.
|
||||
|
||||
Please return to the session menu to complete the remaining sessions before generating your certificate."
|
||||
|
||||
**THEN:** Stop and do not proceed. This is an error state.
|
||||
|
||||
---
|
||||
|
||||
**If all 7 sessions complete:** Proceed to step 2.
|
||||
|
||||
### 2. Calculate Final Metrics
|
||||
|
||||
From progress file, calculate:
|
||||
|
||||
**Average Score:**
|
||||
|
||||
- Sum all 7 session scores
|
||||
- Divide by 7
|
||||
- Round to nearest integer
|
||||
|
||||
**Total Duration:**
|
||||
|
||||
- Calculate days between started_date and current_date
|
||||
- Format as "{N} days" or "{N} weeks"
|
||||
|
||||
**Individual Session Scores:**
|
||||
|
||||
- Extract score for each session (session-01 through session-07)
|
||||
|
||||
### 3. Congratulations Message
|
||||
|
||||
Display:
|
||||
|
||||
"🏆 **CONGRATULATIONS, {user_name}!**
|
||||
|
||||
You've completed all 7 sessions of TEA Academy!
|
||||
|
||||
**Your Achievement:**
|
||||
|
||||
- **Started:** {started_date}
|
||||
- **Completed:** {current_date}
|
||||
- **Duration:** {total_duration}
|
||||
- **Average Score:** {average_score}/100
|
||||
- **Sessions Completed:** 7 of 7 (100%)
|
||||
|
||||
**Session Scores:**
|
||||
|
||||
- Session 1 (Quick Start): {session_01_score}/100
|
||||
- Session 2 (Core Concepts): {session_02_score}/100
|
||||
- Session 3 (Architecture): {session_03_score}/100
|
||||
- Session 4 (Test Design): {session_04_score}/100
|
||||
- Session 5 (ATDD & Automate): {session_05_score}/100
|
||||
- Session 6 (Quality & Trace): {session_06_score}/100
|
||||
- Session 7 (Advanced Patterns): {session_07_score}/100
|
||||
|
||||
Generating your completion certificate..."
|
||||
|
||||
### 4. Generate Completion Certificate
|
||||
|
||||
Load {certificateTemplate} and create {certificateFile} with:
|
||||
|
||||
```markdown
|
||||
---
|
||||
certificate_type: tea-academy-completion
|
||||
user: { user_name }
|
||||
role: { role }
|
||||
completion_date: { current_date }
|
||||
started_date: { started_date }
|
||||
total_duration: { total_duration }
|
||||
average_score: { average_score }
|
||||
---
|
||||
|
||||
# 🏆 TEA Academy Completion Certificate
|
||||
|
||||
---
|
||||
|
||||
## Certificate of Completion
|
||||
|
||||
**This certifies that**
|
||||
|
||||
# {user_name}
|
||||
|
||||
**has successfully completed the TEA Academy testing curriculum**
|
||||
|
||||
---
|
||||
|
||||
### Program Details
|
||||
|
||||
**Role:** {role}
|
||||
**Started:** {started_date}
|
||||
**Completed:** {current_date}
|
||||
**Total Duration:** {total_duration}
|
||||
**Average Score:** {average_score}/100
|
||||
|
||||
---
|
||||
|
||||
### Sessions Completed
|
||||
|
||||
✅ **Session 1:** Quick Start (30 min) - Score: {session_01_score}/100
|
||||
✅ **Session 2:** Core Concepts (45 min) - Score: {session_02_score}/100
|
||||
✅ **Session 3:** Architecture & Patterns (60 min) - Score: {session_03_score}/100
|
||||
✅ **Session 4:** Test Design (60 min) - Score: {session_04_score}/100
|
||||
✅ **Session 5:** ATDD & Automate (60 min) - Score: {session_05_score}/100
|
||||
✅ **Session 6:** Quality & Trace (45 min) - Score: {session_06_score}/100
|
||||
✅ **Session 7:** Advanced Patterns (ongoing) - Score: {session_07_score}/100
|
||||
|
||||
---
|
||||
|
||||
### Skills Acquired
|
||||
|
||||
{user_name} has demonstrated proficiency in:
|
||||
|
||||
- ✅ **Testing Fundamentals:** Risk-based testing, test pyramid, test types, P0-P3 prioritization
|
||||
- ✅ **TEA Methodology:** 9 workflows (Teach Me Testing, Framework, Test Design, ATDD, Automate, Test Review, Trace, NFR, CI)
|
||||
- ✅ **Architecture Patterns:** Fixture composition, network-first patterns, data factories, step-file architecture
|
||||
- ✅ **Test Design:** Risk assessment (Probability × Impact), coverage planning, test levels framework
|
||||
- ✅ **Test Development:** ATDD red-green TDD approach, test automation, API testing patterns
|
||||
- ✅ **Quality Assurance:** Test review (5 dimensions), traceability, release gates, quality metrics
|
||||
- ✅ **Advanced Techniques:** Knowledge fragments explored, Playwright Utils integration
|
||||
|
||||
---
|
||||
|
||||
### Learning Artifacts
|
||||
|
||||
All session notes and progress tracking available at:
|
||||
`{test_artifacts}/tea-academy/{user_name}/`
|
||||
|
||||
**Session Notes:**
|
||||
|
||||
- session-01-notes.md - Quick Start
|
||||
- session-02-notes.md - Core Concepts
|
||||
- session-03-notes.md - Architecture & Patterns
|
||||
- session-04-notes.md - Test Design
|
||||
- session-05-notes.md - ATDD & Automate
|
||||
- session-06-notes.md - Quality & Trace
|
||||
- session-07-notes.md - Advanced Patterns
|
||||
|
||||
**Progress File:**
|
||||
`{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml`
|
||||
|
||||
---
|
||||
|
||||
### Next Steps
|
||||
|
||||
**Recommended Actions:**
|
||||
|
||||
1. **Apply TEA to your project:** Start with Framework setup workflow
|
||||
2. **Run TEA workflows:** Test Design → ATDD/Automate → Test Review
|
||||
3. **Share knowledge:** Help team members through TEA Academy
|
||||
4. **Explore knowledge fragments:** 35 fragments for just-in-time learning
|
||||
5. **Contribute improvements:** Share feedback on TEA methodology
|
||||
|
||||
**TEA Resources:**
|
||||
|
||||
- **Documentation:** https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/
|
||||
- **Knowledge Base:** https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/reference/knowledge-base/
|
||||
- **GitHub Fragments:** https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/testarch/knowledge
|
||||
|
||||
---
|
||||
|
||||
**Generated by:** TEA Academy - Teach Me Testing Workflow
|
||||
**Module:** Test Architecture Enterprise (TEA)
|
||||
**Completion Date:** {current_date}
|
||||
|
||||
---
|
||||
|
||||
🧪 **Master Test Architect and Quality Advisor**
|
||||
```
|
||||
|
||||
Save certificate to {certificateFile}.
|
||||
|
||||
### 5. Update Progress File (Final)
|
||||
|
||||
Load {progressFile} and make final updates:
|
||||
|
||||
**Update session-07 (if not already):**
|
||||
|
||||
- `status: 'completed'`
|
||||
- `completed_date: {current_date}`
|
||||
- `score: 100` (exploratory session, completion based)
|
||||
- `notes_artifact: '{sessionNotesFile}'`
|
||||
|
||||
**Update completion fields:**
|
||||
|
||||
- `sessions_completed: 7`
|
||||
- `completion_percentage: 100`
|
||||
- `certificate_generated: true`
|
||||
- `certificate_path: '{certificateFile}'`
|
||||
- `completion_date: {current_date}`
|
||||
|
||||
**Update stepsCompleted:**
|
||||
|
||||
- Append 'step-04-session-07' (if session 7 just completed)
|
||||
- Append 'step-05-completion'
|
||||
- Update lastStep: 'step-05-completion'
|
||||
|
||||
Save final progress file.
|
||||
|
||||
### 6. Display Certificate
|
||||
|
||||
Display the complete certificate content to the user.
|
||||
|
||||
### 7. Final Celebration
|
||||
|
||||
Display:
|
||||
|
||||
"🎉 **CONGRATULATIONS, {user_name}!** 🎉
|
||||
|
||||
You've successfully completed the entire TEA Academy curriculum!
|
||||
|
||||
**Your Achievement:**
|
||||
|
||||
- ✅ 7 sessions completed
|
||||
- ✅ Average score: {average_score}/100
|
||||
- ✅ {total_duration} of dedicated learning
|
||||
- ✅ Certificate generated
|
||||
|
||||
**All Your Artifacts:**
|
||||
|
||||
- **Certificate:** {certificateFile}
|
||||
- **Progress:** {progressFile}
|
||||
- **Session Notes:** {test_artifacts}/tea-academy/{user_name}/
|
||||
|
||||
**You're now equipped to:**
|
||||
|
||||
- Write high-quality tests following TEA principles
|
||||
- Use all 9 TEA workflows effectively
|
||||
- Apply risk-based testing (P0-P3 prioritization)
|
||||
- Implement architecture patterns (fixtures, network-first)
|
||||
- Maintain quality through Test Review and Trace
|
||||
- Explore 35 knowledge fragments as needed
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
1. Apply TEA to your current project
|
||||
2. Share this workflow with your team
|
||||
3. Help onboard new team members
|
||||
4. Continue learning through knowledge fragments
|
||||
|
||||
**Thank you for investing in testing excellence!** 🧪
|
||||
|
||||
---
|
||||
|
||||
**TEA Academy - Mission Accomplished** ✅"
|
||||
|
||||
### 8. Workflow Complete
|
||||
|
||||
**This is the final step - no menu, no next step.**
|
||||
|
||||
Workflow ends here. User can run the workflow again to re-take sessions or explore more fragments.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All 7 sessions verified complete before certificate generation
|
||||
- Average score calculated correctly
|
||||
- Certificate generated with all session data
|
||||
- Certificate saved to file
|
||||
- Progress file updated with completion status
|
||||
- Final celebration message displayed
|
||||
- All artifacts paths provided to user
|
||||
- Workflow completes successfully
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Generating certificate without verifying all sessions complete
|
||||
- Incorrect average score calculation
|
||||
- Missing session data in certificate
|
||||
- Not updating progress file with completion status
|
||||
- Not providing artifact paths to user
|
||||
- Proceeding to next step (this is final - no next step)
|
||||
|
||||
**Master Rule:** Verify completion, generate certificate, celebrate achievement, end workflow. This is the finale.
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
name: 'step-e-01-assess-workflow'
|
||||
description: 'Assess what needs to be edited in the teaching workflow'
|
||||
|
||||
nextStepFile: './step-e-02-apply-edits.md'
|
||||
workflowPath: '../'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Edit Step 1: Assess What to Edit
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To identify what the user wants to edit in the teach-me-testing workflow and gather requirements for the modifications.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a workflow architect helping with modifications
|
||||
- ✅ Collaborative dialogue for understanding edit needs
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on understanding what to edit
|
||||
- 🚫 FORBIDDEN to make edits yet
|
||||
- 💬 Ask questions to clarify requirements
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Understand edit requirements
|
||||
- 💾 Document what needs editing
|
||||
- 📖 Prepare for edits in next step
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Welcome to Edit Mode
|
||||
|
||||
"**Edit Mode: Teach Me Testing Workflow**
|
||||
|
||||
What would you like to edit?
|
||||
|
||||
**Common edits:**
|
||||
|
||||
- Update session content (new concepts, updated examples)
|
||||
- Modify quiz questions
|
||||
- Add/remove knowledge fragments from session 7
|
||||
- Update TEA resource references
|
||||
- Change session durations or structure
|
||||
- Update role-based examples
|
||||
|
||||
**Tell me what you'd like to change.**"
|
||||
|
||||
### 2. Gather Edit Requirements
|
||||
|
||||
Ask targeted questions based on their response:
|
||||
|
||||
**If editing session content:**
|
||||
|
||||
- Which session? (1-7)
|
||||
- What specific content needs updating?
|
||||
- Why the change? (outdated, incorrect, needs improvement)
|
||||
|
||||
**If editing quiz questions:**
|
||||
|
||||
- Which session's quiz?
|
||||
- Which question(s)?
|
||||
- What's wrong with current questions?
|
||||
|
||||
**If editing session 7 fragments:**
|
||||
|
||||
- Add new fragment category?
|
||||
- Update existing fragment references?
|
||||
- Change organization?
|
||||
|
||||
**If editing templates:**
|
||||
|
||||
- Progress template?
|
||||
- Session notes template?
|
||||
- Certificate template?
|
||||
- What fields need changing?
|
||||
|
||||
**If editing data files:**
|
||||
|
||||
- Curriculum structure?
|
||||
- Role customizations?
|
||||
- Resource mappings?
|
||||
|
||||
### 3. Load Current Content
|
||||
|
||||
Based on what they want to edit, load the relevant files:
|
||||
|
||||
- Session step files (steps-c/step-04-session-\*.md)
|
||||
- Templates (`templates/*.md` or `*.yaml`)
|
||||
- Data files (data/\*.yaml)
|
||||
|
||||
Show user the current content.
|
||||
|
||||
### 4. Document Edit Plan
|
||||
|
||||
"**Edit Plan:**
|
||||
|
||||
**Target Files:**
|
||||
|
||||
- {list files to be modified}
|
||||
|
||||
**Changes Required:**
|
||||
|
||||
- {list specific changes}
|
||||
|
||||
**Reason:**
|
||||
|
||||
- {why these edits are needed}
|
||||
|
||||
Ready to proceed with edits?"
|
||||
|
||||
### 5. Menu
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Apply Edits
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}, redisplay menu
|
||||
- IF P: Execute {partyModeWorkflow}, redisplay menu
|
||||
- IF C: Load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other: help user, redisplay menu
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ Edit requirements clearly understood, target files identified, edit plan documented, user approves plan.
|
||||
|
||||
**Master Rule:** Understand before editing. Get clear requirements first.
|
||||
@@ -0,0 +1,122 @@
|
||||
---
|
||||
name: 'step-e-02-apply-edits'
|
||||
description: 'Apply modifications to the teaching workflow based on edit plan'
|
||||
|
||||
workflowPath: '../'
|
||||
---
|
||||
|
||||
# Edit Step 2: Apply Edits
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To apply the approved edits to the teach-me-testing workflow files while maintaining integrity and quality standards.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER edit without showing user the changes first
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a workflow architect applying modifications
|
||||
- ✅ Collaborative edits with user approval
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on applying approved edits only
|
||||
- 🚫 FORBIDDEN to make unapproved changes
|
||||
- 💬 Show changes before applying
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Apply edits systematically
|
||||
- 💾 Validate after each edit
|
||||
- 📖 Document changes made
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Review Edit Plan
|
||||
|
||||
"**Applying approved edits to teach-me-testing workflow**
|
||||
|
||||
From step-e-01, we identified:
|
||||
{Summarize edit plan from previous step}
|
||||
|
||||
Let me apply these changes systematically."
|
||||
|
||||
### 2. Apply Edits by Category
|
||||
|
||||
**For each file to be edited:**
|
||||
|
||||
1. Load the current file
|
||||
2. Show the proposed changes (before/after)
|
||||
3. Ask: "Apply this edit? [Y/N]"
|
||||
4. If Y: Make the edit
|
||||
5. If N: Skip this edit
|
||||
6. Confirm edit applied successfully
|
||||
|
||||
### 3. Validate Edits
|
||||
|
||||
After all edits applied:
|
||||
|
||||
**Check:**
|
||||
|
||||
- Frontmatter still valid
|
||||
- File references still correct
|
||||
- Menu handling logic intact
|
||||
- Step sequence maintained
|
||||
|
||||
"**Validation:**
|
||||
|
||||
All edits applied successfully:
|
||||
|
||||
- {list files modified}
|
||||
|
||||
Checking integrity:
|
||||
|
||||
- ✅ Frontmatter valid
|
||||
- ✅ File references correct
|
||||
- ✅ Menu logic intact
|
||||
- ✅ Step sequence maintained"
|
||||
|
||||
### 4. Summary of Changes
|
||||
|
||||
"**Edit Summary:**
|
||||
|
||||
**Files Modified:** {count}
|
||||
{List each file with changes made}
|
||||
|
||||
**Changes Applied:**
|
||||
{Summarize what was changed}
|
||||
|
||||
**Workflow Status:** ✅ Edits complete, workflow intact
|
||||
|
||||
**Next:** You can run the workflow to test your changes, or run validation mode to check quality."
|
||||
|
||||
### 5. Completion
|
||||
|
||||
"**Edit Mode Complete!**
|
||||
|
||||
The teach-me-testing workflow has been updated.
|
||||
|
||||
**Modified files:**
|
||||
{List paths to modified files}
|
||||
|
||||
**Recommended next steps:**
|
||||
|
||||
1. Run validation: `bmad run teach-me-testing -v`
|
||||
2. Test the workflow: `bmad run teach-me-testing`
|
||||
3. Make additional edits if needed"
|
||||
|
||||
**This is the final edit step - workflow ends here.**
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ Edits applied to approved files only, changes validated, workflow integrity maintained, user informed of modifications.
|
||||
|
||||
**Master Rule:** Show changes, get approval, apply edits, validate integrity.
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: 'step-v-01-validate'
|
||||
description: 'Validate teach-me-testing workflow quality against BMAD standards'
|
||||
|
||||
workflowPath: '../'
|
||||
checklistFile: '../checklist.md'
|
||||
validationReport: '{test_artifacts}/workflow-validation/teach-me-testing-validation-{date}.md'
|
||||
---
|
||||
|
||||
# Validate Step 1: Quality Validation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To systematically validate the teach-me-testing workflow against BMAD quality standards and generate a comprehensive validation report.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER skip validation checks
|
||||
- 📖 CRITICAL: Read complete step file before action
|
||||
- ✅ SPEAK OUTPUT In {communication_language}
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a workflow quality assurance specialist
|
||||
- ✅ Systematic validation against standards
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus on comprehensive validation
|
||||
- 🚫 FORBIDDEN to skip any checks
|
||||
- 💬 Report findings clearly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Run all validation checks
|
||||
- 💾 Generate validation report
|
||||
- 📖 Provide remediation guidance
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
### 1. Validation Start
|
||||
|
||||
"**Validating Workflow: teach-me-testing**
|
||||
|
||||
Running comprehensive quality checks against BMAD standards...
|
||||
|
||||
This will validate:
|
||||
|
||||
- Foundation structure
|
||||
- Step file quality (12 CREATE, 2 EDIT, 1 VALIDATE)
|
||||
- Template quality
|
||||
- Data file completeness
|
||||
- Frontmatter compliance
|
||||
- Menu handling patterns
|
||||
- State management
|
||||
- Documentation
|
||||
|
||||
**Starting validation...**"
|
||||
|
||||
### 2. Foundation Structure Validation
|
||||
|
||||
**Check:**
|
||||
|
||||
- [ ] workflow.md exists with proper frontmatter
|
||||
- [ ] Tri-modal routing logic present
|
||||
- [ ] Configuration loading correct
|
||||
- [ ] First step path correct
|
||||
- [ ] Folder structure complete (steps-c/, steps-e/, steps-v/, data/, templates/)
|
||||
|
||||
Report findings: Pass/Fail for each check.
|
||||
|
||||
### 3. Template Validation
|
||||
|
||||
**Check templates/:**
|
||||
|
||||
- [ ] progress-template.yaml has complete schema
|
||||
- [ ] All 7 sessions defined
|
||||
- [ ] Session status fields present
|
||||
- [ ] stepsCompleted array present
|
||||
- [ ] session-notes-template.md has required sections
|
||||
- [ ] certificate-template.md includes all 7 sessions
|
||||
|
||||
Report findings.
|
||||
|
||||
### 4. Step File Validation (CREATE Mode)
|
||||
|
||||
**For each of 12 steps in steps-c/:**
|
||||
|
||||
- [ ] Frontmatter valid (name, description present)
|
||||
- [ ] All frontmatter variables used in body
|
||||
- [ ] File references use relative paths correctly
|
||||
- [ ] Menu handling follows standards
|
||||
- [ ] Step goal clearly stated
|
||||
- [ ] MANDATORY SEQUENCE present
|
||||
- [ ] Success/failure metrics present
|
||||
- [ ] File size reasonable (<250 lines recommended)
|
||||
|
||||
Report findings per step.
|
||||
|
||||
### 5. Data File Validation
|
||||
|
||||
**Check data/:**
|
||||
|
||||
- [ ] curriculum.yaml defines all 7 sessions
|
||||
- [ ] role-paths.yaml has all 4 roles (QA/Dev/Lead/VP)
|
||||
- [ ] session-content-map.yaml maps sessions to resources
|
||||
- [ ] quiz-questions.yaml has questions for sessions 1-6
|
||||
- [ ] tea-resources-index.yaml has complete documentation index
|
||||
|
||||
Report findings.
|
||||
|
||||
### 6. Content Quality Validation
|
||||
|
||||
**Check session steps:**
|
||||
|
||||
- [ ] Teaching content present and comprehensive
|
||||
- [ ] Role-adapted examples present
|
||||
- [ ] Quiz questions validate understanding
|
||||
- [ ] TEA resource references correct
|
||||
- [ ] Knowledge fragment references accurate
|
||||
- [ ] Online URLs functional
|
||||
|
||||
Report findings.
|
||||
|
||||
### 7. State Management Validation
|
||||
|
||||
**Check continuable workflow features:**
|
||||
|
||||
- [ ] step-01-init checks for existing progress
|
||||
- [ ] step-01b-continue loads and displays progress
|
||||
- [ ] All session steps update stepsCompleted array
|
||||
- [ ] Progress file schema matches template
|
||||
- [ ] Session menu reads progress correctly
|
||||
- [ ] Completion step verifies all sessions done
|
||||
|
||||
Report findings.
|
||||
|
||||
### 8. User Experience Validation
|
||||
|
||||
**Check UX:**
|
||||
|
||||
- [ ] Clear navigation instructions
|
||||
- [ ] Progress visibility (percentage, indicators)
|
||||
- [ ] Auto-save after sessions
|
||||
- [ ] Resume capability
|
||||
- [ ] Exit options clear
|
||||
- [ ] Session descriptions helpful
|
||||
|
||||
Report findings.
|
||||
|
||||
### 9. Generate Validation Report
|
||||
|
||||
Create {validationReport}:
|
||||
|
||||
```markdown
|
||||
---
|
||||
workflow: teach-me-testing
|
||||
validation_date: { current_date }
|
||||
validator: TEA Validation Workflow
|
||||
overall_status: PASS / FAIL / PASS_WITH_WARNINGS
|
||||
---
|
||||
|
||||
# Teach Me Testing - Validation Report
|
||||
|
||||
**Date:** {current_date}
|
||||
**Workflow Version:** 1.0.0
|
||||
**Overall Status:** {status}
|
||||
|
||||
---
|
||||
|
||||
## Validation Summary
|
||||
|
||||
**Total Checks:** {count}
|
||||
**Passed:** {pass_count}
|
||||
**Failed:** {fail_count}
|
||||
**Warnings:** {warning_count}
|
||||
|
||||
**Overall Quality Score:** {score}/100
|
||||
|
||||
---
|
||||
|
||||
## Foundation Structure
|
||||
|
||||
{Report findings}
|
||||
|
||||
## Template Quality
|
||||
|
||||
{Report findings}
|
||||
|
||||
## Step File Quality
|
||||
|
||||
{Report findings for all 15 steps}
|
||||
|
||||
## Data File Quality
|
||||
|
||||
{Report findings}
|
||||
|
||||
## Content Quality
|
||||
|
||||
{Report findings}
|
||||
|
||||
## State Management
|
||||
|
||||
{Report findings}
|
||||
|
||||
## User Experience
|
||||
|
||||
{Report findings}
|
||||
|
||||
---
|
||||
|
||||
## Issues Found
|
||||
|
||||
{List all failures and warnings}
|
||||
|
||||
---
|
||||
|
||||
## Remediation Recommendations
|
||||
|
||||
{For each issue, provide fix guidance}
|
||||
|
||||
---
|
||||
|
||||
## Conclusion
|
||||
|
||||
{Overall assessment}
|
||||
|
||||
**Status:** {READY_FOR_PRODUCTION / NEEDS_FIXES / PASS_WITH_MINOR_ISSUES}
|
||||
```
|
||||
|
||||
### 10. Display Results
|
||||
|
||||
"**Validation Complete!**
|
||||
|
||||
**Overall Status:** {status}
|
||||
**Quality Score:** {score}/100
|
||||
|
||||
**Report saved:** {validationReport}
|
||||
|
||||
{If PASS:}
|
||||
✅ **Workflow is ready for production!**
|
||||
|
||||
{If FAIL:}
|
||||
❌ **Issues found that need fixing.**
|
||||
See report for details: {validationReport}
|
||||
|
||||
{If WARNINGS:}
|
||||
⚠️ **Minor issues found.**
|
||||
Workflow is usable but could be improved.
|
||||
|
||||
**Validation report generated.**"
|
||||
|
||||
**This is the final validation step - workflow ends here.**
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SUCCESS METRICS
|
||||
|
||||
✅ All validation checks run, comprehensive report generated, issues identified with remediation guidance, overall status determined.
|
||||
|
||||
**Master Rule:** Check everything systematically, report findings clearly, provide actionable remediation.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
certificate_type: tea-academy-completion
|
||||
user: { { user_name } }
|
||||
role: { { role } }
|
||||
completion_date: { { completion_date } }
|
||||
started_date: { { started_date } }
|
||||
total_duration: { { total_duration } }
|
||||
average_score: { { average_score } }
|
||||
---
|
||||
|
||||
# 🏆 TEA Academy Completion Certificate
|
||||
|
||||
---
|
||||
|
||||
## Certificate of Completion
|
||||
|
||||
**This certifies that**
|
||||
|
||||
## {{user_name}}
|
||||
|
||||
**has successfully completed the TEA Academy testing curriculum**
|
||||
|
||||
---
|
||||
|
||||
### Program Details
|
||||
|
||||
**Role:** {{role}}
|
||||
**Started:** {{started_date}}
|
||||
**Completed:** {{completion_date}}
|
||||
**Total Duration:** {{total_duration}}
|
||||
**Average Score:** {{average_score}}/100
|
||||
|
||||
---
|
||||
|
||||
### Sessions Completed
|
||||
|
||||
✅ **Session 1:** Quick Start (30 min) - Score: {{session_01_score}}
|
||||
✅ **Session 2:** Core Concepts (45 min) - Score: {{session_02_score}}
|
||||
✅ **Session 3:** Architecture & Patterns (60 min) - Score: {{session_03_score}}
|
||||
✅ **Session 4:** Test Design (60 min) - Score: {{session_04_score}}
|
||||
✅ **Session 5:** ATDD & Automate (60 min) - Score: {{session_05_score}}
|
||||
✅ **Session 6:** Quality & Trace (45 min) - Score: {{session_06_score}}
|
||||
✅ **Session 7:** Advanced Patterns (ongoing) - Score: {{session_07_score}}
|
||||
|
||||
---
|
||||
|
||||
### Skills Acquired
|
||||
|
||||
{{user_name}} has demonstrated proficiency in:
|
||||
|
||||
- ✅ **Testing Fundamentals:** Risk-based testing, test pyramid, test types
|
||||
- ✅ **TEA Methodology:** 9 workflows, engagement models, quality standards
|
||||
- ✅ **Architecture Patterns:** Fixtures, network-first patterns, data factories
|
||||
- ✅ **Test Design:** Risk assessment, coverage planning, P0-P3 prioritization
|
||||
- ✅ **Test Development:** ATDD red-green approach, test automation
|
||||
- ✅ **Quality Assurance:** Test review, traceability, NFR assessment
|
||||
- ✅ **Advanced Techniques:** 35 knowledge fragments explored
|
||||
|
||||
---
|
||||
|
||||
### Learning Artifacts
|
||||
|
||||
All session notes and progress tracking available at:
|
||||
`{{artifacts_path}}`
|
||||
|
||||
---
|
||||
|
||||
### Next Steps
|
||||
|
||||
**Recommended Actions:**
|
||||
|
||||
1. Apply TEA principles to current project
|
||||
2. Run TEA workflows (Framework, Test Design, ATDD, Automate)
|
||||
3. Share knowledge with team members
|
||||
4. Continue exploring knowledge fragments as needed
|
||||
5. Contribute to TEA methodology improvements
|
||||
|
||||
---
|
||||
|
||||
**Generated by:** TEA Academy - Teach Me Testing Workflow
|
||||
**Module:** Test Architecture Enterprise (TEA)
|
||||
**Website:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/>
|
||||
|
||||
---
|
||||
|
||||
🧪 **Master Test Architect and Quality Advisor**
|
||||
@@ -0,0 +1,95 @@
|
||||
---
|
||||
# TEA Academy Progress Tracking
|
||||
# This file tracks a learner's progress through the teaching workflow
|
||||
|
||||
# User Information
|
||||
user: "{{user_name}}"
|
||||
role: "{{role}}" # qa | dev | lead | vp
|
||||
experience_level: "{{experience_level}}" # beginner | intermediate | experienced
|
||||
learning_goals: "{{learning_goals}}"
|
||||
pain_points: "{{pain_points}}" # optional
|
||||
|
||||
# Session Tracking
|
||||
started_date: "{{current_date}}"
|
||||
last_session_date: "{{current_date}}"
|
||||
|
||||
# Session Array - tracks completion status for all 7 sessions
|
||||
sessions:
|
||||
- id: session-01-quickstart
|
||||
name: "Quick Start"
|
||||
duration: "30 min"
|
||||
status: not-started # not-started | in-progress | completed
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null # 0-100
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-02-concepts
|
||||
name: "Core Concepts"
|
||||
duration: "45 min"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-03-architecture
|
||||
name: "Architecture & Patterns"
|
||||
duration: "60 min"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-04-test-design
|
||||
name: "Test Design"
|
||||
duration: "60 min"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-05-atdd-automate
|
||||
name: "ATDD & Automate"
|
||||
duration: "60 min"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-06-quality-trace
|
||||
name: "Quality & Trace"
|
||||
duration: "45 min"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
- id: session-07-advanced
|
||||
name: "Advanced Patterns"
|
||||
duration: "ongoing"
|
||||
status: not-started
|
||||
started_date: null
|
||||
completed_date: null
|
||||
score: null
|
||||
notes_artifact: null
|
||||
|
||||
# Progress Metrics
|
||||
sessions_completed: 0
|
||||
total_sessions: 7
|
||||
completion_percentage: 0
|
||||
next_recommended: session-01-quickstart
|
||||
|
||||
# Workflow Continuation Tracking (for continuable workflow)
|
||||
stepsCompleted: []
|
||||
lastStep: ""
|
||||
lastContinued: ""
|
||||
|
||||
# Completion Certificate
|
||||
certificate_generated: false
|
||||
certificate_path: null
|
||||
completion_date: null
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
session_id: { { session_id } }
|
||||
session_name: { { session_name } }
|
||||
user: { { user_name } }
|
||||
role: { { role } }
|
||||
completed_date: { { completed_date } }
|
||||
score: { { score } }
|
||||
duration: { { duration } }
|
||||
---
|
||||
|
||||
# {{session_name}} - Session Notes
|
||||
|
||||
**Learner:** {{user_name}} ({{role}})
|
||||
**Completed:** {{completed_date}}
|
||||
**Score:** {{score}}/100
|
||||
**Duration:** {{duration}}
|
||||
|
||||
---
|
||||
|
||||
## Session Objectives
|
||||
|
||||
{{session_objectives}}
|
||||
|
||||
---
|
||||
|
||||
## Key Concepts Covered
|
||||
|
||||
{{key_concepts}}
|
||||
|
||||
---
|
||||
|
||||
## TEA Resources Referenced
|
||||
|
||||
### Documentation
|
||||
|
||||
{{docs_referenced}}
|
||||
|
||||
### Knowledge Fragments
|
||||
|
||||
{{knowledge_fragments_referenced}}
|
||||
|
||||
### Online Resources
|
||||
|
||||
{{online_resources}}
|
||||
|
||||
---
|
||||
|
||||
## Quiz Results
|
||||
|
||||
**Score:** {{score}}/100
|
||||
|
||||
### Questions & Answers
|
||||
|
||||
{{quiz_results}}
|
||||
|
||||
---
|
||||
|
||||
## Practical Examples
|
||||
|
||||
{{practical_examples}}
|
||||
|
||||
---
|
||||
|
||||
## Key Takeaways
|
||||
|
||||
{{key_takeaways}}
|
||||
|
||||
---
|
||||
|
||||
## Next Recommended Session
|
||||
|
||||
{{next_recommended}}
|
||||
|
||||
---
|
||||
|
||||
## Additional Notes
|
||||
|
||||
{{additional_notes}}
|
||||
|
||||
---
|
||||
|
||||
**Generated by:** TEA Academy - Teach Me Testing Workflow
|
||||
**Session Path:** Session {{session_number}} of 7
|
||||
@@ -0,0 +1,950 @@
|
||||
---
|
||||
stepsCompleted:
|
||||
[
|
||||
'step-01-discovery',
|
||||
'step-02-classification',
|
||||
'step-03-requirements',
|
||||
'step-04-tools',
|
||||
'step-05-plan-review',
|
||||
'step-06-design',
|
||||
'step-07-foundation',
|
||||
]
|
||||
created: 2026-01-27
|
||||
status: FOUNDATION_COMPLETE
|
||||
approvedDate: 2026-01-27
|
||||
designCompletedDate: 2026-01-27
|
||||
foundationCompletedDate: 2026-01-28
|
||||
---
|
||||
|
||||
# Workflow Creation Plan
|
||||
|
||||
## Discovery Notes
|
||||
|
||||
**User's Vision:**
|
||||
Create an ongoing learning companion that teaches testing progressively through a structured curriculum. Users at the company (and beyond) lack testing knowledge regardless of experience level - from hobbyist beginners to experienced VPs. The TEA (Test Architecture Enterprise) module has extensive documentation (~24k lines, 200 files, 9 workflows, 35 knowledge fragments), but manual teaching doesn't scale. This workflow solves that by providing self-paced, structured learning with state persistence across multiple sessions.
|
||||
|
||||
**Who It's For:**
|
||||
|
||||
- New QA engineers (primary onboarding use case)
|
||||
- Developers who need testing knowledge
|
||||
- Anyone at the company requiring testing fundamentals through advanced practices
|
||||
- Scalable to entire team without manual teaching
|
||||
|
||||
**What It Produces:**
|
||||
|
||||
- Multi-session learning journey (7 sessions, 30-90 min each)
|
||||
- Session-by-session progress tracking via persistent state file
|
||||
- Learning artifacts: session notes, test files, reports, completion certificate
|
||||
- Personalized learning paths customized by role (QA vs Dev vs Lead vs VP)
|
||||
- Knowledge validation through quizzes after each session
|
||||
- Resume capability - users can pause and continue across days/weeks
|
||||
|
||||
**Key Insights:**
|
||||
|
||||
- Content volume (~24k lines) makes single-session teaching infeasible
|
||||
- State persistence is critical for multi-session continuity
|
||||
- Just-in-time content loading per session keeps context manageable
|
||||
- First use case: new QA onboarding completing in 1-2 weeks
|
||||
- Workflow must reference and integrate TEA docs and knowledge base extensively
|
||||
- Users learn at their own pace without requiring instructor availability
|
||||
|
||||
**Technical Architecture Requirements:**
|
||||
|
||||
- 7-session curriculum structure
|
||||
- State file: tracks progress, scores, completed sessions, artifacts, next recommended session
|
||||
- Role-based path customization
|
||||
- Knowledge validation gates between sessions
|
||||
- Artifact generation per session
|
||||
- Integration with TEA module documentation and knowledge base
|
||||
|
||||
## Classification Decisions
|
||||
|
||||
**Workflow Name:** teach-me-testing
|
||||
**Target Path:** {project-root}/src/workflows/testarch/bmad-teach-me-testing/
|
||||
|
||||
**4 Key Decisions:**
|
||||
|
||||
1. **Document Output:** Yes (produces progress files, session notes, artifacts, completion certificate)
|
||||
2. **Module Affiliation:** TEA module (9th workflow in test architecture)
|
||||
3. **Session Type:** Continuable (multi-session learning over 1-2 weeks)
|
||||
4. **Lifecycle Support:** Tri-modal (Create + Edit + Validate for future-proofing)
|
||||
|
||||
**Structure Implications:**
|
||||
|
||||
- **Tri-modal architecture:** Needs `steps-c/`, `steps-e/`, `steps-v/` folders
|
||||
- **Continuable workflow:** Requires `step-01-init.md` with continuation detection + `step-01b-continue.md` for resuming
|
||||
- **State tracking:** Uses `stepsCompleted` in progress file frontmatter
|
||||
- **Document templates:** Progress tracking YAML, session notes markdown, completion certificate
|
||||
- **Module integration:** Access to TEA module variables, docs paths, knowledge base paths
|
||||
- **Data folder:** Shared data for curriculum structure, role paths, session content mappings
|
||||
|
||||
## Requirements
|
||||
|
||||
**Flow Structure:**
|
||||
|
||||
- Pattern: Mixed (non-linear between sessions, linear within sessions, branching at start only)
|
||||
- Phases: Initial assessment → Session selection (non-linear) → Session execution (linear: teach → quiz → artifact) → Completion
|
||||
- Estimated steps: Init + Continue + Assessment + 7 Session steps + Final Polish/Certificate generation = ~10-12 core step files
|
||||
- Session jumping: Users can skip to any session based on experience level
|
||||
- Within session: Strictly linear progression through teaching content
|
||||
|
||||
**User Interaction:**
|
||||
|
||||
- Style: Mixed (mostly autonomous teaching with collaborative decision points)
|
||||
- Decision points:
|
||||
- Role/experience assessment (entry)
|
||||
- Session selection (menu-driven, can jump around)
|
||||
- Quiz answers (validation gates)
|
||||
- Continue to next session or exit
|
||||
- Checkpoint frequency: At session completion (save progress, offer continue/exit)
|
||||
- Teaching approach: AI presents content, user absorbs - minimal interruption once learning
|
||||
|
||||
**Inputs Required:**
|
||||
|
||||
- Required:
|
||||
- User role (QA, Dev, Lead, VP)
|
||||
- Experience level (beginner, intermediate, experienced)
|
||||
- Learning goals (fundamentals, TEA-specific, advanced patterns)
|
||||
- Optional:
|
||||
- Existing project for practical examples
|
||||
- Specific pain points (flaky tests, slow tests, hard to maintain)
|
||||
- Prerequisites:
|
||||
- TEA module installed
|
||||
- Access to TEA docs and knowledge base
|
||||
- Understanding of time commitment (30-90 min per session)
|
||||
|
||||
**Output Specifications:**
|
||||
|
||||
- Type: Multiple document types
|
||||
- Format: Mixed formats
|
||||
- Progress file: Structured YAML with specific schema (sessions, scores, artifacts, completed_date, next_recommended)
|
||||
- Session notes: Free-form markdown built progressively per session
|
||||
- Completion certificate: Structured format with completion data
|
||||
- Sections:
|
||||
- Progress file has fixed schema
|
||||
- Session notes vary by session content
|
||||
- Certificate has standard completion fields
|
||||
- Frequency:
|
||||
- Progress file: Updated after each session
|
||||
- Session notes: Generated per session
|
||||
- Certificate: Generated at final completion
|
||||
|
||||
**Success Criteria:**
|
||||
|
||||
- User completes their chosen sessions (might be 1, might be all 7)
|
||||
- Knowledge validated through quizzes (≥70% passing threshold)
|
||||
- Artifacts generated successfully (progress file exists, session notes created, learning tracked)
|
||||
- User can apply knowledge (write their first good test following TEA principles)
|
||||
- Onboarding velocity achieved (new QAs complete core sessions within 1-2 weeks)
|
||||
- Scalability proven (multiple team members learn without requiring instructor time)
|
||||
|
||||
**Instruction Style:**
|
||||
|
||||
- Overall: Mixed (prescriptive for structure, intent-based for teaching)
|
||||
- Prescriptive for:
|
||||
- Initial assessment (consistent role/experience classification)
|
||||
- Quiz questions (need exact validation logic)
|
||||
- Progress tracking (exact state file updates)
|
||||
- Session navigation (clear menu structure)
|
||||
- Intent-based for:
|
||||
- Teaching sessions (AI adapts explanations naturally)
|
||||
- Example selection (AI chooses relevant TEA docs/knowledge fragments)
|
||||
- Artifact generation (AI synthesizes learning into notes)
|
||||
- Role-flavored content (AI adjusts examples based on user role)
|
||||
|
||||
## Tools Configuration
|
||||
|
||||
**Core BMAD Tools:**
|
||||
|
||||
- **Party Mode:** Included (optional via A/P menu) - Use for collaborative exploration when the learner wants a lighter format
|
||||
- **Advanced Elicitation:** Included (optional via A/P menu) - Use for deeper discovery or clarification during sessions
|
||||
- **Brainstorming:** Excluded - Not needed for structured curriculum delivery
|
||||
|
||||
**LLM Features:**
|
||||
|
||||
- **Web-Browsing:** Included - Use case: Safety net for framework updates (Cypress, Jest, newer Playwright versions) and frameworks not covered in TEA docs. Motto: "Only reach out when you don't have the info"
|
||||
- **File I/O:** Included - Operations: Read TEA docs (/docs/_.md), read knowledge fragments (/src/testarch/knowledge/_.md), write progress file ({user}-tea-progress.yaml), write session notes, write completion certificate
|
||||
- **Sub-Agents:** Excluded - Sessions are linear teaching steps handled by TEA agent, not complex specialized tasks requiring delegation
|
||||
- **Sub-Processes:** Excluded - Learning is sequential (one session at a time), no parallel processing needed
|
||||
|
||||
**Memory:**
|
||||
|
||||
- Type: Continuable workflow with persistent state
|
||||
- Tracking:
|
||||
- `stepsCompleted` array in progress YAML
|
||||
- Session completion tracking (id, status, completed_date, score, artifacts)
|
||||
- Progress metrics (completion_percentage, next_recommended)
|
||||
- Progress file structure:
|
||||
```yaml
|
||||
user: { user_name }
|
||||
role: { qa/dev/lead/vp }
|
||||
sessions: [{ id, status, completed_date, score, artifacts }]
|
||||
completion_percentage: { percent }
|
||||
next_recommended: { session-id }
|
||||
```
|
||||
- Continuation support via step-01b-continue.md with progress dashboard
|
||||
|
||||
**External Integrations:**
|
||||
|
||||
- None - Self-contained within TEA module, no external databases/APIs/MCP servers needed
|
||||
|
||||
**Installation Requirements:**
|
||||
|
||||
- None - All selected tools are built-in (Web-Browsing and File I/O are standard LLM features)
|
||||
- User preference: N/A (no installations required)
|
||||
|
||||
## Workflow Design
|
||||
|
||||
### Complete Flow Overview
|
||||
|
||||
**Entry → Init (check for progress) → [New User: Assessment | Returning User: Dashboard] → Session Menu (hub) → Sessions 1-7 (loop back to menu) → Completion Certificate**
|
||||
|
||||
### Step Structure (CREATE mode - steps-c/)
|
||||
|
||||
**Total: 12 step files**
|
||||
|
||||
#### Phase 1: Initialization & Continuation
|
||||
|
||||
1. **step-01-init.md** (Init Step - Continuable)
|
||||
- Goal: Welcome user, check for existing progress file, explain workflow, create initial progress if new
|
||||
- Type: Init (Continuable) - checks for `{user}-tea-progress.yaml`, routes to step-01b if exists
|
||||
- Menu: Auto-proceed (Pattern 3) - no user menu
|
||||
- Logic: Checks for existing progress → routes to step-01b if exists, otherwise creates new and proceeds to step-02
|
||||
|
||||
2. **step-01b-continue.md** (Continuation Step)
|
||||
- Goal: Load existing progress, show dashboard with completion status, route to session menu
|
||||
- Type: Continuation - reads `stepsCompleted`, displays progress percentage
|
||||
- Menu: Auto-proceed (Pattern 3) - no user menu
|
||||
- Logic: Shows progress dashboard → auto-routes to step-03-session-menu
|
||||
|
||||
#### Phase 2: Assessment & Path Selection
|
||||
|
||||
3. **step-02-assess.md** (Middle Step - Standard)
|
||||
- Goal: Gather role (QA/Dev/Lead/VP), experience level, learning goals, optional pain points
|
||||
- Type: Middle (Standard) auto-proceed
|
||||
- Menu: Auto-proceed (Pattern 3) - no user menu
|
||||
- On completion: Saves assessment to progress file → loads step-03-session-menu
|
||||
|
||||
4. **step-03-session-menu.md** (Branch Step - Hub)
|
||||
- Goal: Present 7 sessions with descriptions + completion status, allow non-linear selection
|
||||
- Type: Branch Step (custom menu: 1-7, X for exit)
|
||||
- Menu: Custom branching (Pattern 4)
|
||||
- Display: [1-7] Select session | [X] Exit
|
||||
- Logic:
|
||||
- 1-7: Routes to corresponding session step
|
||||
- X: If all sessions complete → routes to step-05-completion; if incomplete → saves and exits
|
||||
- **This is the hub - all sessions return here**
|
||||
|
||||
#### Phase 3: Session Execution (7 Sessions)
|
||||
|
||||
5-11. **step-04-session-[01-07].md** (Middle Steps - Complex)
|
||||
|
||||
- Each session follows same pattern:
|
||||
- Loads relevant TEA docs just-in-time
|
||||
- Presents teaching content (mostly autonomous)
|
||||
- Knowledge validation quiz (collaborative)
|
||||
- Generates session notes artifact
|
||||
- Updates progress file
|
||||
- Returns to step-03-session-menu
|
||||
- Menu: Standard A/P/C (Pattern 1) - users might want Advanced Elicitation
|
||||
- On C: Saves session notes, updates progress (mark complete, update score), returns to hub
|
||||
|
||||
**Sessions:**
|
||||
|
||||
- **session-01**: Quick Start (30 min) - TEA Lite intro, run automate workflow
|
||||
- **session-02**: Core Concepts (45 min) - Risk-based testing, DoD, philosophy
|
||||
- **session-03**: Architecture (60 min) - Fixtures, network patterns, framework
|
||||
- **session-04**: Test Design (60 min) - Risk assessment workflow
|
||||
- **session-05**: ATDD & Automate (60 min) - ATDD + Automate workflows
|
||||
- **session-06**: Quality & Trace (45 min) - Test review + Trace workflows
|
||||
- **session-07**: Advanced Patterns (ongoing) - Menu-driven knowledge fragment exploration
|
||||
|
||||
#### Phase 4: Completion
|
||||
|
||||
12. **step-05-completion.md** (Final Step)
|
||||
- Goal: Generate completion certificate, final progress update, congratulate
|
||||
- Type: Final - no nextStepFile, marks workflow complete
|
||||
- Menu: None (final step)
|
||||
- Logic: Generates certificate, displays congratulations, workflow ends
|
||||
|
||||
### Interaction Patterns
|
||||
|
||||
- **Auto-proceed steps:** step-01-init, step-01b-continue, step-02-assess
|
||||
- **Standard A/P/C:** step-04-session-[01-07]
|
||||
- **Custom branching:** step-03-session-menu (hub)
|
||||
- **No menu:** step-05-completion (final)
|
||||
|
||||
### Data Flow
|
||||
|
||||
**Progress File:** `{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml`
|
||||
|
||||
**Schema:**
|
||||
|
||||
```yaml
|
||||
user: { user_name }
|
||||
role: { qa/dev/lead/vp }
|
||||
experience_level: { beginner/intermediate/experienced }
|
||||
learning_goals: [list]
|
||||
pain_points: [optional list]
|
||||
started_date: 2026-01-27
|
||||
last_session_date: 2026-01-27
|
||||
|
||||
sessions:
|
||||
- id: session-01-quickstart
|
||||
status: completed
|
||||
completed_date: 2026-01-27
|
||||
score: 90
|
||||
notes_artifact: '{test_artifacts}/tea-academy/{user_name}/session-01-notes.md'
|
||||
- id: session-02-concepts
|
||||
status: in-progress
|
||||
started_date: 2026-01-27
|
||||
# ... sessions 03-07
|
||||
|
||||
sessions_completed: 1
|
||||
total_sessions: 7
|
||||
completion_percentage: 14
|
||||
next_recommended: session-02-concepts
|
||||
|
||||
stepsCompleted: ['step-01-init', 'step-02-assess', 'step-04-session-01']
|
||||
lastStep: 'step-04-session-01'
|
||||
lastContinued: '2026-01-27'
|
||||
```
|
||||
|
||||
**Data Flow Per Step:**
|
||||
|
||||
- **step-01-init:** Creates initial progress YAML if new
|
||||
- **step-01b-continue:** Reads progress file, updates lastContinued
|
||||
- **step-02-assess:** Updates role, experience, goals, pain_points
|
||||
- **step-03-session-menu:** Reads sessions array (display status)
|
||||
- **step-04-session-[N]:** Reads progress (for role), writes session notes, updates sessions array
|
||||
- **step-05-completion:** Reads all sessions data, writes certificate
|
||||
|
||||
**Error Handling:**
|
||||
|
||||
- Quiz failure (<70%): Offer review or continue anyway
|
||||
- Missing TEA docs: Use Web-Browsing fallback
|
||||
- Corrupted progress: Backup and offer fresh start
|
||||
- Session interrupted: Auto-save after quiz completion
|
||||
|
||||
**Checkpoints:**
|
||||
|
||||
- After assessment complete
|
||||
- After each quiz completion
|
||||
- After each session artifact generation
|
||||
- On user exit from session menu
|
||||
|
||||
### File Structure
|
||||
|
||||
```
|
||||
teach-me-testing/
|
||||
├── workflow.md # Main entry point
|
||||
├── workflow.yaml # Workflow metadata
|
||||
│
|
||||
├── steps-c/ # CREATE mode (12 steps)
|
||||
│ ├── step-01-init.md
|
||||
│ ├── step-01b-continue.md
|
||||
│ ├── step-02-assess.md
|
||||
│ ├── step-03-session-menu.md
|
||||
│ ├── step-04-session-01.md
|
||||
│ ├── step-04-session-02.md
|
||||
│ ├── step-04-session-03.md
|
||||
│ ├── step-04-session-04.md
|
||||
│ ├── step-04-session-05.md
|
||||
│ ├── step-04-session-06.md
|
||||
│ ├── step-04-session-07.md
|
||||
│ └── step-05-completion.md
|
||||
│
|
||||
├── steps-e/ # EDIT mode (2 steps)
|
||||
│ ├── step-e-01-assess-workflow.md
|
||||
│ └── step-e-02-apply-edits.md
|
||||
│
|
||||
├── steps-v/ # VALIDATE mode (1 step)
|
||||
│ └── step-v-01-validate.md
|
||||
│
|
||||
├── data/ # Shared data files
|
||||
│ ├── curriculum.yaml
|
||||
│ ├── role-paths.yaml
|
||||
│ ├── session-content-map.yaml
|
||||
│ ├── quiz-questions.yaml
|
||||
│ └── tea-resources-index.yaml
|
||||
│
|
||||
├── templates/ # Document templates
|
||||
│ ├── progress-template.yaml
|
||||
│ ├── session-notes-template.md
|
||||
│ └── certificate-template.md
|
||||
│
|
||||
├── instructions.md
|
||||
└── checklist.md
|
||||
```
|
||||
|
||||
### Role and Persona Definition
|
||||
|
||||
**AI Role:** Master Test Architect and Teaching Guide
|
||||
|
||||
**Expertise:**
|
||||
|
||||
- Deep knowledge of testing principles (risk-based, test pyramid, types)
|
||||
- Expert in TEA methodology (9 workflows, architecture patterns, 35 knowledge fragments)
|
||||
- Familiar with Playwright, test automation, CI/CD
|
||||
- Teaching pedagogy: progressive learning, knowledge validation, role-based examples
|
||||
|
||||
**Communication Style:**
|
||||
|
||||
- **Teaching:** Clear, patient, educational - adapts complexity by role
|
||||
- **Quizzes:** Encouraging, constructive feedback, non-judgmental
|
||||
- **Navigation:** Clear, concise, shows completion status prominently
|
||||
- **Tone:** Encouraging but not patronizing, technical but accessible
|
||||
|
||||
**Teaching Principles:**
|
||||
|
||||
1. Just-in-time learning (load content when needed)
|
||||
2. Active recall (quiz after teaching)
|
||||
3. Spaced repetition (reference earlier concepts)
|
||||
4. Role-flavored examples (same concept, different contexts)
|
||||
5. Artifact generation (learners keep notes)
|
||||
|
||||
### Validation and Error Handling
|
||||
|
||||
**Output Validation:**
|
||||
|
||||
- Progress file: Schema, status, score (0-100), date, artifact paths
|
||||
- Session notes: Frontmatter present, content not empty (min 100 chars)
|
||||
- Certificate: All 7 sessions complete, valid dates, user info present
|
||||
|
||||
**User Input Validation:**
|
||||
|
||||
- Role: Must be QA, Dev, Lead, or VP
|
||||
- Experience: beginner, intermediate, or experienced
|
||||
- Quiz answers: 3 attempts before showing correct answer
|
||||
- Session selection: Must be 1-7 or X
|
||||
|
||||
**Error Recovery:**
|
||||
|
||||
- Corrupted progress: Backup, offer fresh start
|
||||
- Missing docs: Web-Browsing fallback
|
||||
- Quiz failure: Review or continue options
|
||||
- Interrupted session: Auto-save progress
|
||||
|
||||
**Success Criteria:**
|
||||
|
||||
- Session complete: Content presented, quiz passed, notes generated, progress updated
|
||||
- Workflow complete: All 7 sessions done, avg score ≥70%, artifacts created, certificate generated
|
||||
|
||||
### Special Features
|
||||
|
||||
**Conditional Logic:**
|
||||
|
||||
- Session menu routing: Check if all complete → route to completion or show menu
|
||||
- Quiz scoring: If ≥70% proceed, if <70% offer review
|
||||
|
||||
**Branch Points:**
|
||||
|
||||
- Initial entry: Progress exists? → continue vs new
|
||||
- Experience-based recommendations: Beginner → session 1, Experienced → session 7
|
||||
|
||||
**Integration with TEA Workflows:**
|
||||
|
||||
- Session 1: Demonstrates [TA] Automate
|
||||
- Session 3: May run [TF] Framework
|
||||
- Session 4: Runs [TD] Test Design
|
||||
- Session 5: Runs [AT] ATDD + [TA] Automate
|
||||
- Session 6: Runs [RV] Test Review + [TR] Trace
|
||||
|
||||
**Role-Based Content:**
|
||||
|
||||
- QA: Practical testing focus
|
||||
- Dev: Integration and TDD focus
|
||||
- Lead: Architecture and patterns focus
|
||||
- VP: Strategy and metrics focus
|
||||
|
||||
**Session 7 Special Handling:**
|
||||
|
||||
- Exploratory menu-driven deep-dive into 35 knowledge fragments
|
||||
- Organized by categories (Testing Patterns, Playwright Utils, Config/Governance, etc.)
|
||||
- Links to GitHub for browsing
|
||||
|
||||
**Content Sources (Triple Reference System):**
|
||||
|
||||
- Local files: `/docs/*.md`, `/src/testarch/knowledge/*.md`
|
||||
- Online docs: `<https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/`>
|
||||
- GitHub fragments: Direct links to knowledge fragment source files
|
||||
|
||||
### Design Summary
|
||||
|
||||
**Complete:** 12-step CREATE workflow with hub pattern
|
||||
**Continuable:** Progress file tracks state across sessions
|
||||
**Non-linear:** Users jump to any session from hub
|
||||
**Role-flavored:** Same concepts, role-specific examples
|
||||
**Triple content:** Local + online + GitHub sources
|
||||
**Web-Browsing:** Fallback for missing/updated docs
|
||||
**Auto-save:** After each session completion
|
||||
**Tri-modal:** Create (12 steps) + Edit (2 steps) + Validate (1 step)
|
||||
|
||||
## Foundation Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Folder Structure:**
|
||||
|
||||
```
|
||||
teach-me-testing/
|
||||
├── workflow.md ✓ Created
|
||||
├── steps-c/ ✓ Created (empty, to be populated)
|
||||
├── steps-e/ ✓ Created (empty, to be populated)
|
||||
├── steps-v/ ✓ Created (empty, to be populated)
|
||||
├── data/ ✓ Created (empty, to be populated)
|
||||
├── templates/ ✓ Created
|
||||
│ ├── progress-template.yaml ✓ Created
|
||||
│ ├── session-notes-template.md ✓ Created
|
||||
│ └── certificate-template.md ✓ Created
|
||||
├── instructions.md ✓ Created
|
||||
└── checklist.md ✓ Created
|
||||
```
|
||||
|
||||
**Location:** {external-project-root}/\_bmad-output/bmb-creations/workflows/teach-me-testing/
|
||||
|
||||
**Configuration:**
|
||||
|
||||
- Workflow name: teach-me-testing
|
||||
- Continuable: Yes (multi-session learning)
|
||||
- Document output: Yes (Progress YAML, Session notes MD, Certificate MD)
|
||||
- Mode: Tri-modal (Create + Edit + Validate)
|
||||
- Module: TEA (Test Architecture Enterprise)
|
||||
|
||||
**Files Created:**
|
||||
|
||||
1. **workflow.md**
|
||||
- Tri-modal routing logic (Create/Edit/Validate)
|
||||
- Configuration loading from TEA module
|
||||
- Step-file architecture principles
|
||||
- Initialization sequence
|
||||
|
||||
2. **templates/progress-template.yaml**
|
||||
- Complete progress tracking schema
|
||||
- 7 sessions defined
|
||||
- Session status tracking (not-started/in-progress/completed)
|
||||
- stepsCompleted array for continuation
|
||||
- Progress metrics (completion_percentage, next_recommended)
|
||||
|
||||
3. **templates/session-notes-template.md**
|
||||
- Session metadata
|
||||
- Key concepts, objectives, takeaways
|
||||
- TEA resources referenced
|
||||
- Quiz results
|
||||
- Practical examples
|
||||
|
||||
4. **templates/certificate-template.md**
|
||||
- Completion certificate structure
|
||||
- All 7 sessions with scores
|
||||
- Skills acquired checklist
|
||||
- Learning artifacts paths
|
||||
- Next steps recommendations
|
||||
|
||||
5. **instructions.md**
|
||||
- How to run the workflow
|
||||
- Session structure and flow
|
||||
- Progress tracking details
|
||||
- Troubleshooting guide
|
||||
|
||||
6. **checklist.md**
|
||||
- Quality validation checklist
|
||||
- Foundation quality checks
|
||||
- Step file quality standards
|
||||
- Data file quality requirements
|
||||
- Completion criteria
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
- Step 8: Build step-01-init.md (initialization with continuation detection)
|
||||
- Step 9: Build step-01b-continue.md (continuation/resume logic)
|
||||
- Step 10+: Build remaining 10 step files (assessment, session menu, 7 sessions, completion)
|
||||
- Populate data/ folder with curriculum, role paths, session content map, quizzes, resources index
|
||||
|
||||
## Step 01 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
- `steps-c/step-01-init.md` ✓
|
||||
- `steps-c/step-01b-continue.md` ✓
|
||||
|
||||
**Step Configuration:**
|
||||
|
||||
- **Type:** Continuable (multi-session learning)
|
||||
- **Input Discovery:** No (self-contained teaching)
|
||||
- **Progress File:** `{test_artifacts}/teaching-progress/{user_name}-tea-progress.yaml`
|
||||
- **Menu Pattern:** Auto-proceed (no user menu)
|
||||
|
||||
**step-01-init.md:**
|
||||
|
||||
- Checks for existing progress file
|
||||
- If exists → routes to step-01b-continue
|
||||
- If not → creates new progress from template, proceeds to step-02-assess
|
||||
- Initializes stepsCompleted array
|
||||
- Creates complete session tracking structure (all 7 sessions)
|
||||
|
||||
**step-01b-continue.md:**
|
||||
|
||||
- Loads existing progress file
|
||||
- Updates lastContinued timestamp
|
||||
- Displays progress dashboard with completion status
|
||||
- Shows session indicators (✅ completed, 🔄 in-progress, ⬜ not-started)
|
||||
- Auto-routes to step-03-session-menu (hub)
|
||||
|
||||
**Frontmatter Compliance:**
|
||||
|
||||
- All variables used in step body
|
||||
- Relative paths for internal references
|
||||
- No hardcoded paths
|
||||
- Follows frontmatter standards
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
- Build step-02-assess.md (assessment)
|
||||
- Build step-03-session-menu.md (hub)
|
||||
- Build 7 session steps (step-04-session-01 through step-04-session-07)
|
||||
- Build step-05-completion.md (certificate generation)
|
||||
|
||||
## Step 02 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
- `steps-c/step-02-assess.md` ✓
|
||||
|
||||
**Step Configuration:**
|
||||
|
||||
- **Type:** Middle Step (Standard) auto-proceed
|
||||
- **Next Step:** step-03-session-menu
|
||||
- **Menu Pattern:** Auto-proceed (Pattern 3) - no user menu
|
||||
|
||||
**step-02-assess.md:**
|
||||
|
||||
- Gathers role (QA/Dev/Lead/VP) with validation
|
||||
- Gathers experience level (beginner/intermediate/experienced) with validation
|
||||
- Gathers learning goals (required, validated)
|
||||
- Gathers pain points (optional)
|
||||
- Updates progress file with all assessment data
|
||||
- Provides experience-based session recommendations
|
||||
- Updates stepsCompleted array with 'step-02-assess'
|
||||
- Routes to step-03-session-menu (hub)
|
||||
|
||||
**Frontmatter Compliance:**
|
||||
|
||||
- All variables used in step body
|
||||
- Relative paths for internal references
|
||||
- No hardcoded paths
|
||||
- Follows frontmatter standards
|
||||
|
||||
**Remaining Steps:** 9 more to build
|
||||
|
||||
- step-03-session-menu (hub with branching)
|
||||
- step-04-session-01 through step-04-session-07 (7 teaching sessions)
|
||||
- step-05-completion (certificate generation)
|
||||
|
||||
## Step 03 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
- `steps-c/step-03-session-menu.md` ✓
|
||||
|
||||
**Step Configuration:**
|
||||
|
||||
- **Type:** Branch Step (Hub) with custom menu (1-7, X)
|
||||
- **Routes To:** Any of 7 sessions OR completion OR exit
|
||||
- **Menu Pattern:** Custom branching (Pattern 4)
|
||||
|
||||
**step-03-session-menu.md:**
|
||||
|
||||
- Loads progress file to get session completion status
|
||||
- Displays all 7 sessions with status indicators (✅ completed, 🔄 in-progress, ⬜ not-started)
|
||||
- Shows completion percentage and scores
|
||||
- Provides session descriptions and durations
|
||||
- Recommends next session based on progress
|
||||
- Detects when all 7 sessions complete → routes to completion
|
||||
- Allows non-linear session selection (jump to any session)
|
||||
- Exit option (X) saves progress and ends workflow
|
||||
- This is the HUB - all sessions return here
|
||||
- No stepsCompleted update (routing hub, not content step)
|
||||
|
||||
**Routing Logic:**
|
||||
|
||||
- 1-7 → Routes to corresponding session step
|
||||
- X → Saves and exits workflow
|
||||
- All complete → Auto-routes to step-05-completion
|
||||
|
||||
**Frontmatter Compliance:**
|
||||
|
||||
- All 7 session file references used in routing logic
|
||||
- Completion file reference used for all-done scenario
|
||||
- Progress file loaded for status display
|
||||
- Relative paths for all step files
|
||||
|
||||
**Remaining Steps:** 8 more to build
|
||||
|
||||
- step-04-session-01 through step-04-session-07 (7 teaching sessions)
|
||||
- step-05-completion (certificate generation)
|
||||
|
||||
## Step 04-Session-01 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
- `steps-c/step-04-session-01.md` ✓
|
||||
|
||||
**Step Configuration:**
|
||||
|
||||
- **Type:** Middle Step (Complex) with A/P/C menu
|
||||
- **Session:** Quick Start (30 min)
|
||||
- **Next Step:** Returns to step-03-session-menu (hub)
|
||||
- **Menu Pattern:** Standard A/P/C (Pattern 1)
|
||||
|
||||
**step-04-session-01.md:**
|
||||
|
||||
- Session 1: Quick Start - TEA Lite intro, run automate workflow
|
||||
- Updates progress (status: in-progress at start, completed at end)
|
||||
- Teaching content: What is TEA, TEA Lite, Automate workflow, engagement models
|
||||
- Role-adapted examples (QA/Dev/Lead/VP perspectives)
|
||||
- 3-question quiz with validation (passing: ≥70%)
|
||||
- Quiz retry option if failing (<70%)
|
||||
- Generates session notes using template with all quiz results
|
||||
- Updates progress file (status, score, notes_artifact, completion_percentage)
|
||||
- Updates stepsCompleted array with 'step-04-session-01'
|
||||
- Returns to session menu hub (step-03)
|
||||
|
||||
**Teaching Topics:**
|
||||
|
||||
- What is TEA and why it exists
|
||||
- 9 workflows + 35 knowledge fragments
|
||||
- Quality standards (Definition of Done)
|
||||
- Risk-based testing (P0-P3 matrix)
|
||||
- TEA engagement models (Lite/Solo/Integrated/Enterprise/Brownfield)
|
||||
- Automate workflow conceptual overview
|
||||
|
||||
**TEA Resources Referenced:**
|
||||
|
||||
- TEA Overview, TEA Lite Quickstart, Automate Workflow docs
|
||||
- Online URLs provided for further reading
|
||||
|
||||
**Remaining Steps:** 7 more to build
|
||||
|
||||
- step-04-session-02 through step-04-session-07 (6 more teaching sessions)
|
||||
- step-05-completion (certificate generation)
|
||||
|
||||
## Step 04-Session-02 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-02.md` ✓
|
||||
**Session:** Core Concepts (45 min) - Testing as Engineering, Risk-based testing (P0-P3), TEA Definition of Done
|
||||
**Pattern:** Middle Step (Complex) with A/P/C menu, returns to hub
|
||||
**Teaching:** Philosophy, risk matrix, quality standards with role-adapted examples
|
||||
**Quiz:** 3 questions on P0-P3, hard waits, self-cleaning tests
|
||||
**Knowledge Fragments:** test-quality.md, probability-impact.md
|
||||
|
||||
**Remaining:** 6 steps (sessions 03-07 + completion)
|
||||
|
||||
## Step 04-Session-03 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-03.md` ✓
|
||||
**Session:** Architecture & Patterns (60 min)
|
||||
**Topics:** Fixture composition, network-first patterns, data factories, step-file architecture
|
||||
**Knowledge Fragments:** fixture-architecture.md, network-first.md, data-factories.md
|
||||
**Quiz:** 3 questions on fixtures, network-first, step-file architecture
|
||||
|
||||
## Step 04-Session-04 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-04.md` ✓
|
||||
**Session:** Test Design (60 min)
|
||||
**Topics:** Test Design workflow, risk/testability assessment, coverage planning, test priorities matrix
|
||||
**Knowledge Fragments:** test-levels-framework.md, test-priorities-matrix.md
|
||||
**Quiz:** 3 questions on test design, risk calculation, P0 coverage
|
||||
|
||||
## Step 04-Session-05 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-05.md` ✓
|
||||
**Session:** ATDD & Automate (60 min)
|
||||
**Topics:** ATDD workflow (red-green TDD), Automate workflow, component TDD, API testing patterns
|
||||
**Knowledge Fragments:** component-tdd.md, api-testing-patterns.md, api-request.md
|
||||
**Quiz:** 3 questions on TDD red phase, ATDD vs Automate, API testing
|
||||
|
||||
## Step 04-Session-06 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-06.md` ✓
|
||||
**Session:** Quality & Trace (45 min)
|
||||
**Topics:** Test Review workflow (5 dimensions), Trace workflow, quality metrics
|
||||
**Quiz:** 3 questions on quality dimensions, release gates, metrics
|
||||
|
||||
## Step 04-Session-07 Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-04-session-07.md` ✓
|
||||
**Session:** Advanced Patterns (ongoing)
|
||||
**Format:** Menu-driven exploration of 35 knowledge fragments
|
||||
**Categories:** Testing Patterns (9), Playwright Utils (11), Config/Governance (6), Quality Frameworks (5), Auth/Security (3)
|
||||
**No Quiz:** Exploratory session, score: 100 on completion
|
||||
**Special:** Repeatable, user can explore multiple fragments, returns to hub
|
||||
|
||||
## Step 05-Completion Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
**Files:** `steps-c/step-05-completion.md` ✓
|
||||
**Type:** Final Step (no next step)
|
||||
**Purpose:** Verify all 7 sessions complete, generate certificate, final progress update, celebrate
|
||||
**Certificate:** Includes all session scores, skills acquired, learning artifacts, next steps
|
||||
**Final:** Updates progress (certificate_generated: true, completion_date)
|
||||
**No Menu:** Workflow ends here
|
||||
|
||||
---
|
||||
|
||||
## CREATE Mode Build Complete (12 Steps)
|
||||
|
||||
**All CREATE mode steps built:** ✓
|
||||
|
||||
1. step-01-init.md - Initialize with continuation detection
|
||||
2. step-01b-continue.md - Resume with progress dashboard
|
||||
3. step-02-assess.md - Role/experience assessment
|
||||
4. step-03-session-menu.md - Session selection hub
|
||||
5. step-04-session-01.md - Quick Start
|
||||
6. step-04-session-02.md - Core Concepts
|
||||
7. step-04-session-03.md - Architecture & Patterns
|
||||
8. step-04-session-04.md - Test Design
|
||||
9. step-04-session-05.md - ATDD & Automate
|
||||
10. step-04-session-06.md - Quality & Trace
|
||||
11. step-04-session-07.md - Advanced Patterns
|
||||
12. step-05-completion.md - Certificate generation
|
||||
|
||||
**Remaining:**
|
||||
|
||||
- Data files (curriculum.yaml, role-paths.yaml, session-content-map.yaml, quiz-questions.yaml, tea-resources-index.yaml)
|
||||
- EDIT mode steps (2 steps)
|
||||
- VALIDATE mode steps (1 step)
|
||||
|
||||
---
|
||||
|
||||
## Data Files Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
1. `data/curriculum.yaml` ✓ - 7-session structure, learning paths by experience, completion requirements
|
||||
2. `data/role-paths.yaml` ✓ - Role customizations for QA/Dev/Lead/VP with focus areas and teaching adaptations
|
||||
3. `data/session-content-map.yaml` ✓ - Maps sessions to TEA docs, knowledge fragments, online URLs, workflows
|
||||
4. `data/quiz-questions.yaml` ✓ - Question bank for sessions 1-6 (session 7 is exploratory, no quiz)
|
||||
5. `data/tea-resources-index.yaml` ✓ - Comprehensive index of 32 docs + 35 knowledge fragments with GitHub links
|
||||
|
||||
**All 5 data files complete.**
|
||||
|
||||
---
|
||||
|
||||
## EDIT Mode Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
1. `steps-e/step-e-01-assess-workflow.md` ✓ - Identify what to edit, gather edit requirements
|
||||
2. `steps-e/step-e-02-apply-edits.md` ✓ - Apply modifications with user approval, validate integrity
|
||||
|
||||
**All 2 EDIT mode steps complete.**
|
||||
|
||||
---
|
||||
|
||||
## VALIDATE Mode Build Complete
|
||||
|
||||
**Created:** 2026-01-28
|
||||
|
||||
**Files:**
|
||||
|
||||
1. `steps-v/step-v-01-validate.md` ✓ - Comprehensive quality validation against BMAD standards, generates validation report
|
||||
|
||||
**All 1 VALIDATE mode step complete.**
|
||||
|
||||
---
|
||||
|
||||
## 🏆 WORKFLOW BUILD COMPLETE
|
||||
|
||||
**Status:** ✅ 100% COMPLETE
|
||||
|
||||
**Total Files Created:** 24 files
|
||||
|
||||
### Foundation (6 files)
|
||||
|
||||
- workflow.md
|
||||
- instructions.md
|
||||
- checklist.md
|
||||
- workflow-plan-teach-me-testing.md
|
||||
- (plus 3 templates)
|
||||
|
||||
### Templates (3 files)
|
||||
|
||||
- progress-template.yaml
|
||||
- session-notes-template.md
|
||||
- certificate-template.md
|
||||
|
||||
### CREATE Mode (12 step files)
|
||||
|
||||
- step-01-init.md
|
||||
- step-01b-continue.md
|
||||
- step-02-assess.md
|
||||
- step-03-session-menu.md
|
||||
- step-04-session-01.md through step-04-session-07.md (7 sessions)
|
||||
- step-05-completion.md
|
||||
|
||||
### Data Files (5 files)
|
||||
|
||||
- curriculum.yaml
|
||||
- role-paths.yaml
|
||||
- session-content-map.yaml
|
||||
- quiz-questions.yaml
|
||||
- tea-resources-index.yaml
|
||||
|
||||
### EDIT Mode (2 step files)
|
||||
|
||||
- step-e-01-assess-workflow.md
|
||||
- step-e-02-apply-edits.md
|
||||
|
||||
### VALIDATE Mode (1 step file)
|
||||
|
||||
- step-v-01-validate.md
|
||||
|
||||
---
|
||||
|
||||
## Next Action Required
|
||||
|
||||
**DEPLOYMENT:** Move workflow from staging to TEA module
|
||||
|
||||
**Source (Staging):**
|
||||
`{external-project-root}/_bmad-output/bmb-creations/workflows/teach-me-testing/`
|
||||
|
||||
**Target (Production):**
|
||||
`{project-root}/src/workflows/testarch/bmad-teach-me-testing/`
|
||||
|
||||
**Command:**
|
||||
|
||||
```bash
|
||||
cp -r {external-project-root}/_bmad-output/bmb-creations/workflows/teach-me-testing \
|
||||
{project-root}/src/workflows/testarch/
|
||||
```
|
||||
|
||||
**After deployment:**
|
||||
|
||||
1. Update TEA agent menu to add [TMT] Teach Me Testing
|
||||
2. Test the workflow: `bmad run teach-me-testing`
|
||||
3. Validate: `bmad run teach-me-testing -v`
|
||||
4. Document in TEA module README
|
||||
|
||||
---
|
||||
|
||||
**Workflow Creation: COMPLETE** ✅
|
||||
**Ready for Deployment:** YES
|
||||
**Validation Status:** Not yet validated (run -v mode after deployment)
|
||||
90
.gemini/skills/bmad-teach-me-testing/workflow.md
Normal file
90
.gemini/skills/bmad-teach-me-testing/workflow.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
name: bmad-teach-me-testing
|
||||
description: 'Teach testing progressively through structured sessions. Use when user says "lets learn testing" or "I want to study test practices"'
|
||||
web_bundle: true
|
||||
---
|
||||
|
||||
# Teach Me Testing - TEA Academy
|
||||
|
||||
**Goal:** Provide self-paced, multi-session learning that teaches testing fundamentals through advanced practices, scalable to entire teams without requiring instructor time.
|
||||
|
||||
**Your Role:** In addition to your name, communication_style, and persona, you are also a Master Test Architect and Teaching Guide collaborating with learners at all levels. This is a partnership, not a lecture. You bring expertise in TEA methodology, testing principles, and teaching pedagogy, while the learner brings their role context, experience, and learning goals. Work together to build their testing knowledge progressively.
|
||||
|
||||
**Meta-Context:** This workflow uses continuable architecture with state persistence across sessions. Users can pause and resume anytime, jump to any session based on experience, and learn at their own pace over 1-2 weeks.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step is a self-contained instruction file that is part of an overall workflow that must be followed exactly
|
||||
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in progress file using `stepsCompleted` array and session tracking
|
||||
- **Continuable Sessions**: Users can pause after any session and resume later with full context preserved
|
||||
- **Tri-Modal Structure**: Separate step folders for Create (steps-c/), Edit (steps-e/), and Validate (steps-v/) modes
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` and session tracking in progress file before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- 🛑 **NEVER** load multiple step files simultaneously
|
||||
- 📖 **ALWAYS** read entire step file before execution
|
||||
- 🚫 **NEVER** skip steps or optimize the sequence
|
||||
- 💾 **ALWAYS** update progress file after each session completion
|
||||
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
||||
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
||||
- 📋 **NEVER** create mental todo lists from future steps
|
||||
- ✅ **ALWAYS** communicate in {communication_language}
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/tea/config.yaml (or module config if TEA module installed) and resolve:
|
||||
|
||||
- `project_name`, `user_name`, `communication_language`, `test_artifacts`
|
||||
- TEA module variables: `test_artifacts` (base output folder for test-related artifacts)
|
||||
|
||||
### 2. Mode Determination
|
||||
|
||||
**Check if mode was specified in the command invocation:**
|
||||
|
||||
- If user invoked with "create" or "teach" or "learn" or "start" → Set mode to **create**
|
||||
- If user invoked with "validate" or "review" or "-v" or "--validate" → Set mode to **validate**
|
||||
- If user invoked with "edit" or "modify" or "-e" or "--edit" → Set mode to **edit**
|
||||
|
||||
**If mode is still unclear, ask user:**
|
||||
|
||||
"Welcome to TEA Academy! What would you like to do?
|
||||
|
||||
**[C]reate** - Start learning sessions (new or continue existing progress)
|
||||
**[V]alidate** - Review workflow quality and generate validation report
|
||||
**[E]dit** - Modify workflow content or structure
|
||||
|
||||
Please select: [C]reate / [V]alidate / [E]dit"
|
||||
|
||||
### 3. Route to First Step
|
||||
|
||||
**IF mode == create:**
|
||||
Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the teaching workflow.
|
||||
|
||||
**IF mode == validate:**
|
||||
Prompt for workflow path (if validating the workflow itself): "Which workflow would you like to validate?"
|
||||
Then load, read the full file and then execute `./steps-v/step-v-01-validate.md`
|
||||
|
||||
**IF mode == edit:**
|
||||
Prompt for what to edit: "What would you like to edit in the teaching workflow?"
|
||||
Then load, read the full file and then execute `./steps-e/step-e-01-assess-workflow.md`
|
||||
Reference in New Issue
Block a user