| name | testing-workflow |
| description | Standard testing and verification workflow for Project Mimir — covering test preparation, execution, result recording, Git synchronization, and GitHub PR integration. Triggers when running tests, verifying features, documenting test results, or performing QA activities. |
Testing Workflow Skill
This skill defines the complete testing lifecycle for Project Mimir, from preparation through execution to documentation and Git synchronization.
Testing Pipeline
Test Preparation → Execution → Recording → Git Sync → GitHub Integration → Cleanup
Step 1: Test Preparation
- Identify Test Scope: Determine which features/bugs need testing from the current Sprint scope
- Issue Check: Ensure a GitHub Issue exists for every feature/bug being tested. If not, create one using
mcp_github-mcp-server tools
- Locate Test Script: Find or create the Sprint's test script
docs/iso_29110/si/SI_04_{N}_Sprint{N}_TestScript.md
- Assign Test IDs: Use the naming convention:
TC_SP{sprint}_{category}{number}
- Categories:
F(Frontend Build), U(Unit/Feature), R(Regression), I(Integration), P(Performance), S(Security)
Step 2: Execution
Backend Tests (Rust)
cd ro-ai-bridge && cargo test
cargo test --lib routes::knowledge
cargo test -- --nocapture
Frontend Tests (Next.js)
cd ro-ai-dashboard && npx next build
npm test
npm test -- --testPathPattern="knowledge"
E2E Browser Tests
- Use the browser subagent tool to perform visual verification
- Navigate to the relevant page, interact with UI elements, capture screenshots
- Document navigation steps precisely for reproducibility
Step 3: Recording Results
Update the test script document with:
- Result column: Use
✅ Pass or ❌ Fail emoji markers
- หมายเหตุ (Notes): Add context — error messages, retry attempts, workarounds
- Summary table: Update totals for Category × Total × Pass × Fail
On Test Failure
- Document the failure with exact error output
- Create or update a GitHub Issue for the failure
- If fixable in current sprint scope, switch to fix → re-test cycle
- If not fixable, log in Issue/Change Logs of
PM_02_Status_Reports.md
Step 4: Git Synchronization
- Branch: Create/use branch
test/TS-{id}-{description} or fix/issue-{N}-{desc}
- Commit: Commit BOTH code changes AND updated test script
.md files together
- Push: Push branch to remote
Step 5: GitHub Integration
- Pull Request: Create PR with description summarizing test results
- Linking: Use
Closes #{IssueID} in PR body to auto-close Issues
- Issue Comment: Post final test result summary as comment on the GitHub Issue
Step 6: Cleanup
After PR merge:
- Switch to
main branch locally
- Pull latest from remote
- Delete the feature/test branch locally and remotely
Test Naming Convention Reference
| Category | Prefix | Example | Description |
|---|
| Frontend Build | F | TC_SP21_F1 | Next.js build verification |
| Unit/Feature | U | TC_SP21_U3 | Feature-specific test |
| Regression | R | TC_SP21_R2 | Existing feature still works |
| Integration | I | TC_SP21_I1 | Cross-component test |
| Performance | P | TC_SP21_P1 | Polling, latency, load tests |
| Security | S | TC_SP21_S1 | Auth, tenant isolation, ACL |
See examples/test_naming_convention.md for detailed naming rules.