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

  1. Claim a GoodBounties - QA issue or get assigned one from the pool

  2. Check out the branch locally or use the preview environment linked in the PR

  3. Test against every criterion listed in the issue β€” not just the happy path

  4. Document what you tested, what passed, and what failed

  5. Submit your QA report as a comment on the PR (use the QA report format below)

  6. If bugs are found, file separate structured bug reports on the PR

  7. 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

    Scenario
    Expected
    Actual
    βœ…/❌

  • 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:

  1. Connect wallet with 0 G$ balance

  2. Navigate to the Stake tab

  3. 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

Severity
Definition
Examples

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?