Skip to content

Manual QA

Hécate Moonlight edited this page May 2, 2023 · 9 revisions

Workflow for QA Testers

  1. Go to https://github.com/orgs/haskell/projects/3/ and pick a ticket in the "Waiting" column;

    a. If you are not already part of the QA Team, let yourself known in the ticket and we'll give you the right to assign yourself to the ticket.

  2. Assign yourself to it and move the ticket to the "Testing" column;

  3. If this is a bug fix, try and reproduce the described bug on your local setup; If you can reproduce the issue, proceed. If not, we are also interested in the reasons why the bug may not get triggered in the first place.

  4. Update your local copy of cabal so that it includes the bugfix;

  5. Follow the instructions in the QA Notes section of either the ticket or the PR, with your local copy of the cabal command-line tool;

  6. Signal any problem you encounter while following the instructions to the author of the PR or the ticket. You may encounter problems because the author has not been precise enough, or because some things were implicitly assumed (global configuration, presence of other tools, etc);

  7. Once you can confidently reproduce the instructions without problems, move the item to the "Testing Approved" column;

Rinse, and repeat.

How do I work with two copies of cabal?

For your QA testing you will need two cabal binaries, one to reproduce the bug and one (compiled from HEAD) to test the fix. Some setup suggestions:

  • a simple one is to compile HEAD and copy the binary to ~/.local/bin/cabal-new, this way you can test old behaviour with cabal and new one with cabal-new.
  • Another idea is to compile cabal-install, set an environment variable to the binary path (bash syntax: export cabhead=$(cabal list-bin cabal)) and invoke it later as $cabhead build ….