QA Role
QA happens after the Human Reviewer approves a PR. Your job is to test the actual behavior of the changes in a real environment β catching what code review cannot. Runtime issues, edge cases, UI on real devices, and flows that break under real conditions.
The QA Process
Claim a
GoodBounties - QAissue or get assigned one from the poolCheck out the branch locally or use the preview environment linked in the PR
Test against every criterion listed in the issue β not just the happy path
Document what you tested, what passed, and what failed
Submit your QA report as a comment on the PR (use the QA report format below)
If bugs are found, file separate structured bug reports on the PR
Tag the maintainer team (
goodbuilders-maintainers) when your report is complete
π« Not acceptable: Vague claims with no steps. Non-reproducible reports. AI-generated content not verified against actual behavior.
QA Report Format
Post your report as a comment on the PR using this structure:
QA Report Env: [Browser / OS / Wallet / Network] Branch: [name or commit]
Tests
ScenarioExpectedActualβ /βBugs: [# / None]
Verdict: Pass / Fail / Minor issues
Evidence: [links]
Filing a Bug Report
File each bug as a separate comment on the PR. Use this format:
β Good bug report:
`Severity: Blocker Summary: Staking flow fails silently when wallet has insufficient G$ balance
Environment: Chrome 123 / MacOS 14.4 / MetaMask 11.9 / Fuse network
Steps to reproduce:
Connect wallet with 0 G$ balance
Navigate to the Stake tab
Enter any amount and click Confirm
Expected: Error message β insufficient balance Actual: Modal closes, no error shown, no transaction sent
Evidence: [screen recording link] Related to this PR? Yes β balance check removed on line 89 of StakeModal.tsx`
β Weak bug report (not acceptable):
"The staking thing doesn't seem to work on my end"
Bug Severity
Blocker
Feature broken, data loss, security issue, or breaks an existing working feature
Transaction fails silently, funds sent to wrong address, previously working flow now broken
Major
Feature works but behaves incorrectly under normal usage
Wrong amount shown, confirmation missing, edge case affecting many users
Minor
Small cosmetic or UX issue
Typo, misaligned element, brief flicker
When unsure, go one level higher β maintainers can downgrade. Maintainers may cap bug bonuses per PR; if a cap applies it will be stated in the PR announcement.
What Counts as an Accepted Bug
A bug is accepted when it is:
Reproducible using your documented steps
In scope β directly caused by changes in this PR
Not pre-existing β not a known issue before this PR
Pre-existing bugs should be filed as a new GitHub issue β they may become a separate bounty.
Last updated
Was this helpful?