Merge pull request #104 from laurentenhoor/feature/103-enforce-qa-comments
docs: enforce QA comments on every review (pass or fail)
This commit is contained in:
115
docs/QA_WORKFLOW.md
Normal file
115
docs/QA_WORKFLOW.md
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
# QA Workflow
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Quality Assurance (QA) in DevClaw follows a structured workflow that ensures every review is documented and traceable.
|
||||||
|
|
||||||
|
## Required Steps
|
||||||
|
|
||||||
|
### 1. Review the Code
|
||||||
|
|
||||||
|
- Pull latest from the base branch
|
||||||
|
- Run tests and linting
|
||||||
|
- Verify changes address issue requirements
|
||||||
|
- Check for regressions in related functionality
|
||||||
|
|
||||||
|
### 2. Document Your Review (REQUIRED)
|
||||||
|
|
||||||
|
Before completing your task, you MUST create a review comment using `task_comment`:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
task_comment({
|
||||||
|
projectGroupId: "<group-id>",
|
||||||
|
issueId: <issue-number>,
|
||||||
|
body: "## QA Review\n\n**Tested:**\n- [List what you tested]\n\n**Results:**\n- [Pass/fail details]\n\n**Environment:**\n- [Test environment details]",
|
||||||
|
authorRole: "qa"
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Complete the Task
|
||||||
|
|
||||||
|
After posting your comment, call `task_complete`:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
task_complete({
|
||||||
|
role: "qa",
|
||||||
|
projectGroupId: "<group-id>",
|
||||||
|
result: "pass", // or "fail", "refine", "blocked"
|
||||||
|
summary: "Brief summary of review outcome"
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## Why Comments Are Required
|
||||||
|
|
||||||
|
1. **Audit Trail**: Every review decision is documented
|
||||||
|
2. **Knowledge Sharing**: Future reviewers understand what was tested
|
||||||
|
3. **Quality Metrics**: Enables tracking of test coverage
|
||||||
|
4. **Debugging**: When issues arise later, we know what was checked
|
||||||
|
5. **Compliance**: Some projects require documented QA evidence
|
||||||
|
|
||||||
|
## Comment Template
|
||||||
|
|
||||||
|
### For Passing Reviews
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## QA Review
|
||||||
|
|
||||||
|
**Tested:**
|
||||||
|
- Feature A: [specific test cases]
|
||||||
|
- Feature B: [specific test cases]
|
||||||
|
- Edge cases: [list]
|
||||||
|
|
||||||
|
**Results:** All tests passed. No regressions found.
|
||||||
|
|
||||||
|
**Environment:**
|
||||||
|
- Browser/Platform: [details]
|
||||||
|
- Version: [details]
|
||||||
|
- Test data: [if relevant]
|
||||||
|
|
||||||
|
**Notes:** [Optional observations or recommendations]
|
||||||
|
```
|
||||||
|
|
||||||
|
### For Failing Reviews
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## QA Review - Issues Found
|
||||||
|
|
||||||
|
**Tested:**
|
||||||
|
- [What you tested]
|
||||||
|
|
||||||
|
**Issues Found:**
|
||||||
|
1. [Issue description with steps to reproduce]
|
||||||
|
2. [Issue description with steps to reproduce]
|
||||||
|
3. [Issue description with expected vs actual behavior]
|
||||||
|
|
||||||
|
**Environment:**
|
||||||
|
- [Test environment details]
|
||||||
|
|
||||||
|
**Severity:** [Critical/Major/Minor]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
As of [current date], QA workers are instructed via role templates to:
|
||||||
|
- Always call `task_comment` BEFORE `task_complete`
|
||||||
|
- Include specific details about what was tested
|
||||||
|
- Document results, environment, and any notes
|
||||||
|
|
||||||
|
Role templates affected:
|
||||||
|
- `roles/default/qa.md`
|
||||||
|
- `roles/devclaw/qa.md`
|
||||||
|
- All project-specific QA templates should follow this pattern
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
1. **Be Specific**: Don't just say "tested the feature" - list what you tested
|
||||||
|
2. **Include Environment**: Version numbers, browser, OS can matter
|
||||||
|
3. **Document Edge Cases**: If you tested special scenarios, note them
|
||||||
|
4. **Use Screenshots**: For UI issues, screenshots help (link in comment)
|
||||||
|
5. **Reference Requirements**: Link back to acceptance criteria from the issue
|
||||||
|
|
||||||
|
## Related
|
||||||
|
|
||||||
|
- Issue #103: Enforce QA comment on every review (pass or fail)
|
||||||
|
- Tool: `task_comment` - Add comments to issues
|
||||||
|
- Tool: `task_complete` - Complete QA tasks
|
||||||
Reference in New Issue
Block a user