From 4b17b0f31971e38defa3a31033bc8999c3fe3cb6 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Thu, 27 Aug 2026 16:39:52 +0800 Subject: [PATCH 01/11] Adding QA Guide to DevDocs --- docs/qatesting.md | 27 +++ .../qatesting/_gettingstarted/qatemplates.png | Bin 0 -> 38242 bytes docs/qatesting/commonterms.md | 20 +++ docs/qatesting/faq.md | 106 ++++++++++++ docs/qatesting/gettingstarted.md | 162 ++++++++++++++++++ project-words.txt | 1 + sidebars/docs.js | 14 ++ 7 files changed, 330 insertions(+) create mode 100644 docs/qatesting.md create mode 100644 docs/qatesting/_gettingstarted/qatemplates.png create mode 100644 docs/qatesting/commonterms.md create mode 100644 docs/qatesting/faq.md create mode 100644 docs/qatesting/gettingstarted.md diff --git a/docs/qatesting.md b/docs/qatesting.md new file mode 100644 index 0000000000..0883e3cd24 --- /dev/null +++ b/docs/qatesting.md @@ -0,0 +1,27 @@ +--- +title: QA Testing guides +tags: +- Quality Assurance +- Testing +- Core development +--- + +{/* */} + +Moodle is used by millions of learners and teachers around the world, and it's supported by a global community of developers, educators, and administrators who care about the platform. Before every major release, that community runs a QA testing cycle: real people using Moodle the way real site administrators, teachers, and students do, checking that new features and fixes actually work. This matters because automated tests can't catch everything; a human trying to complete a real task often finds the rough edges a script never would. + +**Do I need to be a developer or a professional tester?** No. Most QA testing is about using Moodle like a teacher would, so you don't need any coding experience. + +**How much time do I need for a test?** Testing is flexible and asynchronous. No fixed hours, no minimum commitment, and every test counts. Time depends on how familiar you already are with the area being tested and the number of steps in the test case. As a rough guide, allow 15 minutes for one-time account setup, then 20–40 minutes per test. + +**Do I need a Moodle site?** No, we provide a shared QA Moodle site that's already set up and ready to log into, no installation needed. + +:::note[Next QA Cycle] +The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 31 August 2026. +::: + +If you want to understand how to Get Started as a tester, read our [Getting Started](./qatesting/gettingstarted.md) guide + +More details about the QA process can be found on our [QA process page](https://moodledev.io/general/development/process/testing/qa). + +--- diff --git a/docs/qatesting/_gettingstarted/qatemplates.png b/docs/qatesting/_gettingstarted/qatemplates.png new file mode 100644 index 0000000000000000000000000000000000000000..ebce2d20038eef2b70cb520ecf26f405a942d9c3 GIT binary patch literal 38242 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 hDwsn4n-LJ>tV1?u)`$L5;ARC@ */} + +New to the jargon? Quick glossary + +- **Cycle**: the few weeks before a release when the community works through the test plan together. +- **The Tracker**: Moodle's issue-tracking system (Jira), used to report bugs and test results. +- **Test case / issue**: a single written test, made up of a series of steps and an expected result. +- **Component**: the part of Moodle a test belongs to (e.g. "Book activity", "Quiz"). Useful for filtering tests by topic. +- **MDLQA**: the project prefix for QA test tickets on the Moodle Tracker. + +--- diff --git a/docs/qatesting/faq.md b/docs/qatesting/faq.md new file mode 100644 index 0000000000..edab054316 --- /dev/null +++ b/docs/qatesting/faq.md @@ -0,0 +1,106 @@ +--- +title: Frequently Asked Questions +tags: +- Quality Assurance +- Testing +- Core development +sidebar_position: 3 +--- + +{/* */} + +## FAQ + +
+Do I need to be a developer? + +As mentioned above, no. This is one of the most common misconceptions, and a big part of why we're writing this page. Most QA testing is about using Moodle like a normal user would: following a written test case ("log in, create a lesson, add a student") and reporting whether it worked as expected. You're not writing code, and you don't need to know how Moodle is built under the hood. + +The only two new things are creating the Moodle Tracker account and reporting your results there instead of in your own notes. Both are learnable in a few minutes, and covered in "How to start" above. + +
+ +
+How long does it take to do a test? + +Roughly 20 to 40 minutes per test, depending on how many steps it has and how familiar you already are with that part of Moodle. The first time, budget about 15 minutes extra for one-time account setup (covered in "How to start" above). + +As mentioned above, testing is flexible and asynchronous. No fixed hours, no minimum commitment. And every test counts. + +
+ +
+When does this cycle run? + +The Moodle 5.3 cycle runs from 31 August 2026 to 2 October 2026. + +
+ +
+How can I hear about future cycles? + +For future cycles, subscribe to the [Testing and QA forum](https://moodle.org/mod/forum/view.php), where cycle announcements and any changes get posted. + +
+ +
+Why are you promoting testing 5.3 in particular? + +Because 5.3 is special. Roughly every three releases, Moodle designates one as a Long-Term Support (LTS) version. Many organisations skip straight from one LTS release to the next. Moodle 5.3 is one of those releases, so there's a good chance your own institution will upgrade to it before long. Testing 5.3 now is, indirectly, helping your institution, your students, and yourself. + +
+ +
+Why do people help test Moodle? + +Moodle testers each have their own reasons for getting involved. For Michelle Lomman, an Instructional Designer and Moodle Educator based in Melbourne: "Moodle has given me so much, so I wanted to be able to contribute something back." + +For Al Rachels, a long-time Moodle plugins maintainer and retired Computer Applications teacher in the US, it was "the best way to really understand the new bits and pieces of the next Moodle version." + +Source: ["QA testing for Moodle 4.0 – A community effort!"](https://moodle.com/news/qa-testing-moodle-4/) at moodle.com + +
+ +
+What do I get out of it? + +Beyond directly improving software used by learners worldwide, you will get a QA tester badge for each cycle you help test *(page includes an image: "f3.png")*. + +Also, your name will appear in the [Moodle testing credits page](https://moodledev.io/general/community/credits/testing) at the end of the QA cycle. It's also a genuinely good, low-pressure way to get comfortable with how a large open-source project runs, and how QA works in software generally, if that's something you're curious about. + +
+ +
+I have questions or want to share feedback. How do I get in touch? + +This is our first time reaching out to new testers this way, so if the process trips you up anywhere (you can't assign yourself a test, a step is unclear, you can't create an issue on the Tracker), that's on us to fix, not a sign you're doing something wrong. Telling us what didn't make sense helps us fix the instructions for the next person, not just you. We'd also love to hear how your first time testing went. + +Reach us in any of these places: + +- The [Testing & QA forum](https://moodle.org/mod/forum/view.php) is actively watched, and a good place to subscribe so you know when a new cycle opens. +- [Moodle QA chat on Matrix](https://matrix.to/#/#qa:moodle.com) is our live chat channel for testers. +- The comments section on the test case itself; useful for questions specific to one test. + +If something unrelated to the test itself goes wrong, add the `qa_help_needed` label to the ticket and leave a comment with your question. If the test instructions themselves seem outdated or unclear, add the `qa_instructions_update` label instead — that helps us fix it for the next tester too. + +
+ +## Advanced + +
+Go beyond preselected tests + +Visit the QA testing dashboard — [Moodle 5.3 QA testing (update later)](https://moodle.atlassian.net/jira/dashboards/10612) — to explore the full list of tests. For example, if you want tests for the "Book" activity aimed at "Teachers", you can [filter by those components](https://moodle.atlassian.net/issues/). + +
+ +
+Using your own site + +If your only available site is running a different Moodle version (for example, your organisation's live site), please don't use it for this QA cycle. We're testing 5.3 specifically, not a previous version. + +If you do have your own site running the latest Moodle 5.3dev, check the [QA testing documentation for developers](https://moodledev.io/general/development/process/testing/qa) first, then go ahead and use it. + +
+ +--- diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md new file mode 100644 index 0000000000..e3d40b1c9a --- /dev/null +++ b/docs/qatesting/gettingstarted.md @@ -0,0 +1,162 @@ +--- +title: Getting Started +tags: +- Quality Assurance +- Testing +- Core development +sidebar_position: 1 +--- + +{/* */} + +A friendly guide for anyone thinking about joining a Moodle QA testing cycle for the first time. + +:::note[Next QA Cycle] +The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 31 August 2026. +::: + +## How to start + +**1. Set up your accounts:** create an account on the [Moodle Tracker](https://id.atlassian.com/login) (that's where you will report your test results) and an account on [moodle.org](https://moodle.org/login/index.php). Use the same email address for both accounts. You can do this anytime. + +
+Details on setting up your accounts + +**Setting up your account on the Moodle Tracker** + +In order to assign tests to yourself and add comments you'll need to create an account on the Moodle Tracker. The Moodle Tracker is Moodle's issue-tracking system; it's how the whole community reports bugs and test results, not just testers. Sign-up takes a couple of minutes. + +1. Visit the [Moodle Tracker login page](https://id.atlassian.com/login). +2. From there you can log in using your Google, Microsoft, Apple, or Slack accounts. +3. If you prefer, you can manually create a new account by entering your email address and clicking "Sign up". +4. Enter the 6-digit code emailed to you to proceed with the account creation. +5. Enter your name and click "Create account". + +**Setting up your account on moodle.org** + +If you don't already have a moodle.org account, create one using the same email address as your Tracker account; this is how we credit you and generate your tester badge. + +1. Visit [moodle.org](https://moodle.org/login/index.php) and click "Create new account". +2. Enter your age and country and click "Proceed". +3. Read the site's policies and cookie policy, click the checkboxes to agree and then click "Next". +4. Fill in the form and click "Create my account". + +
+ +**2. Once the QA cycle is open, choose a test to run:** browse the lists of tests for beginners grouped by number of steps (short, medium, long), or explore the full QA testing dashboard. Once you find a test you like, assign it to yourself on the Moodle Tracker. + +
+Details on picking your first test + +Once a cycle is open, check the preselected test cases list. This is where you'll see unassigned tests that don't require a technical background. Test cases are written as a series of steps with an expected result. + +You will see three columns: + +- **Key**: indicates the number of the test +- **Summary**: it's the title of the test +- **Components**: the part of Moodle the test belongs to (e.g. 'Book activity', 'Quiz'). Particularly useful if you want to focus on an area you're already familiar with. + +Here's how to find and assign yourself a test: + +1. Browse tests for beginners. We have grouped the list of tests for beginners by number of steps, so you can gauge how long it'll take. +2. Once you find a test you are interested in, click on the MDLQA-XX under the 'Key' column. +3. This opens the test on the Moodle Tracker. +4. Read the whole thing once before assigning it to yourself, so you know what you're aiming for. +5. If you aren't interested, keep browsing tests for beginners. +6. If you're interested, assign it to yourself. + +We'd suggest only assigning yourself tests you already have some familiarity with, or are genuinely curious to learn by doing. And you can unassign yourself from a test at any time; no explanation needed. + +
+ +[Full list of tests for beginners](https://moodle.atlassian.net/jira/dashboards/10612) + +**3. Run the test** in the Moodle QA testing site — the login details are available in the main page. + +
+Details on running a test on the shared site + +Moodle QA testing site: [Moodle QA Testing Site](https://qa.moodledemo.net/) + +⚠️ Two things worth knowing before you start: + +- The site resets hourly at the top of the hour (so at 01:00, 02:00, and so on) so please be mindful if you are running a long test. +- Don't enter any personal or sensitive information into the site. + +
+ +**4. Report the test result** on the Moodle Tracker: mark it Pass or Fail, add a short comment about the results, and attach the screenshots. + +
+Details on reporting your result + +On the Moodle Tracker, mark the test Pass or Fail. Add a comment using the templates below; you can copy and paste them or use a browser extension. + +Reminder: attach a screenshot and a short note if anything didn't work as expected. Your Pass/Fail marks are reviewed directly by the QA lead and used to sign off the release, so nothing you submit disappears into a void. + +If something that's not related to the test fails, add the `qa_help_needed` label and leave a comment with your question; we'll get back to you. And if the test instructions themselves seem outdated or unclear, add the `qa_instructions_update` label and note which steps need fixing; that feedback helps the next tester too. + +**Template for a failed test** + +``` +Environment +Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) +Browser: (name and version) +Device/OS: (e.g. Windows 11 / macOS / iOS / Android) +Role(s) used: Admin / Teacher / Student + +Test failed. It doesn't work according to instructions. +Step that failed: Step # +Expected result: (What should have happened according to the instructions) +Actual result: (Describe precisely what happened, including any error messages or unexpected behavior) +Questions/Doubts: If you are unsure whether this is a bug or just a confusing step, describe your doubts here. + +Attached are screenshots or logs showing the failure: +Step 1: +Step 2: +Step #: +At least one screenshot per critical step. Screenshots may be grouped if appropriate. +``` + +**Template for a passed test** + +``` +Environment +Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) +Browser: (e.g. Firefox 148.0 / Chrome 145.0.7632.117 / Safari 26 / …) +Device/OS: (e.g. Windows 11 / macOS / Ubuntu / iOS / Android 14 / …) +Role(s) used: Admin / Teacher / Student + +Works according to instructions. Test passed! + +Attached are screenshots for: +Step 1: +Step 2: +Step .. +At least one screenshot per critical step. Screenshots may be grouped if appropriate. + +(Please ensure you have attached the files to this Jira issue) + +PS By marking this test as PASS, I confirm that I followed the instructions exactly as written; all required preconditions were set up; no additional settings were modified; and the test description is up-to-date and clear. +``` + +**How to install these templates on the Moodle Tracker (browser extension)** + +You can use these templates directly in Jira by installing the "Canned Responses Pro" for Jira browser extension. It's available for: + +- [Chrome](https://chromewebstore.google.com/detail/canned-responses-pro-for/abiklfpogpkkcelofcplnokkehjgmchc) +- [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/canned-responses-pro-for-/aaihcmfhjhpblfehcjfgadlcaokkaomd) +- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/canned-responses-for-jira/) + +After installing the extension, a "Select template" dropdown will appear above the Jira comment editor. From there you can select the templates "MDLQA – Test Passed" and "MDLQA – Test Failed" +![Canned Responses for QA](./_gettingstarted/qatemplates.png) + +
+ +:::note +This guide covers everything a new tester needs. If you'd like the complete picture, the [QA testing documentation](https://moodledev.io/general/development/process/testing/qa) has all the technical specifications. +::: + +Thanks for considering this. Every test result helps, even if it's just one or two. Welcome aboard, and see you in the cycle 😊 + +--- diff --git a/project-words.txt b/project-words.txt index 1aa8653f28..a51432839d 100644 --- a/project-words.txt +++ b/project-words.txt @@ -40,6 +40,7 @@ JMeter JWKS Kanban Laravel +Lomman MAINNODE MDK MDL diff --git a/sidebars/docs.js b/sidebars/docs.js index eb1666468d..0a2c5bfa05 100644 --- a/sidebars/docs.js +++ b/sidebars/docs.js @@ -54,6 +54,20 @@ const sidebars = { type: 'doc', id: 'devupdate', }, + { + label: 'QA Testing guides', + type: 'category', + items: [ + { + type: 'autogenerated', + dirName: 'qatesting', + }, + ], + link: { + type: 'doc', + id: 'qatesting', + }, + }, { type: 'html', From afd0a25a60a4c61c31d6de41425acf753311021c Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 10:48:01 +0800 Subject: [PATCH 02/11] Apply suggestions from copilot review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/qatesting/faq.md | 6 +++--- docs/qatesting/gettingstarted.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/qatesting/faq.md b/docs/qatesting/faq.md index edab054316..713098be18 100644 --- a/docs/qatesting/faq.md +++ b/docs/qatesting/faq.md @@ -14,9 +14,9 @@ sidebar_position: 3
Do I need to be a developer? -As mentioned above, no. This is one of the most common misconceptions, and a big part of why we're writing this page. Most QA testing is about using Moodle like a normal user would: following a written test case ("log in, create a lesson, add a student") and reporting whether it worked as expected. You're not writing code, and you don't need to know how Moodle is built under the hood. +No. This is one of the most common misconceptions, and a big part of why we're writing this page. Most QA testing is about using Moodle like a normal user would: following a written test case ("log in, create a lesson, add a student") and reporting whether it worked as expected. You're not writing code, and you don't need to know how Moodle is built under the hood. -The only two new things are creating the Moodle Tracker account and reporting your results there instead of in your own notes. Both are learnable in a few minutes, and covered in "How to start" above. +The only two new things are creating the Moodle Tracker account and reporting your results there instead of in your own notes. Both are learnable in a few minutes, and covered in the Getting Started guide.
@@ -39,7 +39,7 @@ The Moodle 5.3 cycle runs from 31 August 2026 to 2 October 2026.
How can I hear about future cycles? -For future cycles, subscribe to the [Testing and QA forum](https://moodle.org/mod/forum/view.php), where cycle announcements and any changes get posted. +For future cycles, subscribe to the [Testing and QA forum](https://moodle.org/mod/forum/view.php?id=56), where cycle announcements and any changes get posted.
diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md index e3d40b1c9a..2522c8e1f8 100644 --- a/docs/qatesting/gettingstarted.md +++ b/docs/qatesting/gettingstarted.md @@ -132,7 +132,7 @@ Works according to instructions. Test passed! Attached are screenshots for: Step 1: Step 2: -Step .. +Step #: At least one screenshot per critical step. Screenshots may be grouped if appropriate. (Please ensure you have attached the files to this Jira issue) @@ -157,6 +157,6 @@ After installing the extension, a "Select template" dropdown will appear above t This guide covers everything a new tester needs. If you'd like the complete picture, the [QA testing documentation](https://moodledev.io/general/development/process/testing/qa) has all the technical specifications. ::: -Thanks for considering this. Every test result helps, even if it's just one or two. Welcome aboard, and see you in the cycle 😊 +Thanks for considering this. Every test result helps, even if it's just one or two. Welcome aboard, and see you in the cycle 😊 --- From 9890919474fbcd506e2cc427acf7962eead3f490 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 10:51:09 +0800 Subject: [PATCH 03/11] Fix link to Getting Started guide in FAQ Updated link to the Getting Started guide in FAQ. --- docs/qatesting/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/qatesting/faq.md b/docs/qatesting/faq.md index 713098be18..7602d9a021 100644 --- a/docs/qatesting/faq.md +++ b/docs/qatesting/faq.md @@ -16,7 +16,7 @@ sidebar_position: 3 No. This is one of the most common misconceptions, and a big part of why we're writing this page. Most QA testing is about using Moodle like a normal user would: following a written test case ("log in, create a lesson, add a student") and reporting whether it worked as expected. You're not writing code, and you don't need to know how Moodle is built under the hood. -The only two new things are creating the Moodle Tracker account and reporting your results there instead of in your own notes. Both are learnable in a few minutes, and covered in the Getting Started guide. +The only two new things are creating the Moodle Tracker account and reporting your results there instead of in your own notes. Both are learnable in a few minutes, and covered in the [Getting Started](./gettingstarted.md) guide. From 75b54a3d9277ed6184a048e976061c25e00d74a7 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 11:13:13 +0800 Subject: [PATCH 04/11] Change QA cycle opening date to 1st September 2026 Updated the opening date for the Moodle 5.3 QA cycle. --- docs/qatesting/gettingstarted.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md index 2522c8e1f8..9432b0d790 100644 --- a/docs/qatesting/gettingstarted.md +++ b/docs/qatesting/gettingstarted.md @@ -12,7 +12,7 @@ sidebar_position: 1 A friendly guide for anyone thinking about joining a Moodle QA testing cycle for the first time. :::note[Next QA Cycle] -The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 31 August 2026. +The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 1st September 2026. ::: ## How to start From 8fe56a2f9ad6c8f4856c34287043773ed7408585 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 11:13:47 +0800 Subject: [PATCH 05/11] Update QA cycle opening date to 1st September 2026 --- docs/qatesting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/qatesting.md b/docs/qatesting.md index 0883e3cd24..0195d4ae0f 100644 --- a/docs/qatesting.md +++ b/docs/qatesting.md @@ -17,7 +17,7 @@ Moodle is used by millions of learners and teachers around the world, and it's s **Do I need a Moodle site?** No, we provide a shared QA Moodle site that's already set up and ready to log into, no installation needed. :::note[Next QA Cycle] -The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 31 August 2026. +The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) opens 1st September 2026. ::: If you want to understand how to Get Started as a tester, read our [Getting Started](./qatesting/gettingstarted.md) guide From 062e1313d2cc5c2c0042798c882b26d3b66d90df Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 11:59:20 +0800 Subject: [PATCH 06/11] Revise test templates in getting started guide Fixed the rendering of the templates to match the original confluence. It's not perfect, but closest that's possible before changing css of the dropdowns --- docs/qatesting/gettingstarted.md | 75 ++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md index 9432b0d790..c0c4d87227 100644 --- a/docs/qatesting/gettingstarted.md +++ b/docs/qatesting/gettingstarted.md @@ -96,51 +96,62 @@ Reminder: attach a screenshot and a short note if anything didn't work as expect If something that's not related to the test fails, add the `qa_help_needed` label and leave a comment with your question; we'll get back to you. And if the test instructions themselves seem outdated or unclear, add the `qa_instructions_update` label and note which steps need fixing; that feedback helps the next tester too. -**Template for a failed test** - -``` -Environment -Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) -Browser: (name and version) -Device/OS: (e.g. Windows 11 / macOS / iOS / Android) -Role(s) used: Admin / Teacher / Student - -Test failed. It doesn't work according to instructions. -Step that failed: Step # -Expected result: (What should have happened according to the instructions) -Actual result: (Describe precisely what happened, including any error messages or unexpected behavior) -Questions/Doubts: If you are unsure whether this is a bug or just a confusing step, describe your doubts here. +
+Template for a failed test +:::tip[Environment] +- Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) +- Browser: (name and version) +- Device/OS: (e.g. Windows 11 / macOS / iOS / Android) +- Role(s) used: Admin / Teacher / Student +::: +:::danger[Test failed] +It doesn't work according to instructions. +- Step that failed: Step # +- Expected result: (What should have happened according to the instructions) +- Actual result: (Describe precisely what happened, including any error messages or unexpected behavior) +::: +:::warning[Questions/Doubts] +If you are unsure whether this is a bug or just a confusing step, describe your doubts here. +::: +:::note Attached are screenshots or logs showing the failure: -Step 1: -Step 2: -Step #: +- Step 1: +- Step 2: +- Step #: + At least one screenshot per critical step. Screenshots may be grouped if appropriate. -``` +::: +
-**Template for a passed test** +
+Template for a passed test -``` -Environment -Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) -Browser: (e.g. Firefox 148.0 / Chrome 145.0.7632.117 / Safari 26 / …) -Device/OS: (e.g. Windows 11 / macOS / Ubuntu / iOS / Android 14 / …) -Role(s) used: Admin / Teacher / Student +:::tip[Environment] +- Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) +- Browser: (e.g. Firefox 148.0 / Chrome 145.0.7632.117 / Safari 26 / …) +- Device/OS: (e.g. Windows 11 / macOS / Ubuntu / iOS / Android 14 / …) +- Role(s) used: Admin / Teacher / Student +::: Works according to instructions. Test passed! +:::note Attached are screenshots for: -Step 1: -Step 2: -Step #: +- Step 1: +- Step 2: +- Step #: + At least one screenshot per critical step. Screenshots may be grouped if appropriate. (Please ensure you have attached the files to this Jira issue) +::: -PS By marking this test as PASS, I confirm that I followed the instructions exactly as written; all required preconditions were set up; no additional settings were modified; and the test description is up-to-date and clear. -``` +By marking this test as PASS, I confirm that I followed the instructions exactly as written; all required preconditions were set up; no additional settings were modified; and the test description is up-to-date and clear. +
-**How to install these templates on the Moodle Tracker (browser extension)** +
+How to install these templates on the Moodle Tracker (browser extension) You can use these templates directly in Jira by installing the "Canned Responses Pro" for Jira browser extension. It's available for: @@ -150,7 +161,7 @@ You can use these templates directly in Jira by installing the "Canned Responses After installing the extension, a "Select template" dropdown will appear above the Jira comment editor. From there you can select the templates "MDLQA – Test Passed" and "MDLQA – Test Failed" ![Canned Responses for QA](./_gettingstarted/qatemplates.png) - +
:::note From e9c4f2305c3a634892978c61982e191b1e4426a6 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 14:25:10 +0800 Subject: [PATCH 07/11] Revise QA testing getting started guide Updated instructions for setting up accounts and running tests, clarified steps and links, and improved overall readability. --- docs/qatesting/gettingstarted.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md index c0c4d87227..975d28119a 100644 --- a/docs/qatesting/gettingstarted.md +++ b/docs/qatesting/gettingstarted.md @@ -17,7 +17,7 @@ The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) op ## How to start -**1. Set up your accounts:** create an account on the [Moodle Tracker](https://id.atlassian.com/login) (that's where you will report your test results) and an account on [moodle.org](https://moodle.org/login/index.php). Use the same email address for both accounts. You can do this anytime. +**1. Set up your accounts** create an account on the [Moodle Tracker](https://id.atlassian.com/login) (that's where you will report your test results) and an account on [moodle.org](https://moodle.org/login/index.php). Use the same email address for both accounts. You can do this anytime.
Details on setting up your accounts @@ -43,45 +43,48 @@ If you don't already have a moodle.org account, create one using the same email
-**2. Once the QA cycle is open, choose a test to run:** browse the lists of tests for beginners grouped by number of steps (short, medium, long), or explore the full QA testing dashboard. Once you find a test you like, assign it to yourself on the Moodle Tracker. +**2. Once the QA cycle is open, choose a test to run.** Start with an easy test that is unassigned or explore the full test case list. Both are the top two widgets on the [QA testing dashboard](https://moodle.atlassian.net/jira/dashboards/10612). Once you find a test you like, assign it to yourself on the Moodle Tracker.
Details on picking your first test -Once a cycle is open, check the preselected test cases list. This is where you'll see unassigned tests that don't require a technical background. Test cases are written as a series of steps with an expected result. +Once the testing cycle is open, check for unassigned beginner test cases. This is the top widget on the [dashboard](https://moodle.atlassian.net/jira/dashboards/10612). Test cases are written as a series of steps with an expected result. You will see three columns: -- **Key**: indicates the number of the test +- **Key**: indicates the ID of the test - **Summary**: it's the title of the test - **Components**: the part of Moodle the test belongs to (e.g. 'Book activity', 'Quiz'). Particularly useful if you want to focus on an area you're already familiar with. Here's how to find and assign yourself a test: -1. Browse tests for beginners. We have grouped the list of tests for beginners by number of steps, so you can gauge how long it'll take. +1. Browse tests for beginners in the first widget on the [dashboard](https://moodle.atlassian.net/jira/dashboards/10612) 2. Once you find a test you are interested in, click on the MDLQA-XX under the 'Key' column. 3. This opens the test on the Moodle Tracker. -4. Read the whole thing once before assigning it to yourself, so you know what you're aiming for. -5. If you aren't interested, keep browsing tests for beginners. +4. Read the whole thing once before assigning it to yourself, so you know what you're aiming for. You can see how many steps there are in the Description, so you can gauge how long it'll take. +5. If you aren't interested, close it and keep browsing tests for beginners. 6. If you're interested, assign it to yourself. We'd suggest only assigning yourself tests you already have some familiarity with, or are genuinely curious to learn by doing. And you can unassign yourself from a test at any time; no explanation needed.
-[Full list of tests for beginners](https://moodle.atlassian.net/jira/dashboards/10612) +[Full list of tests for beginners](https://moodle.atlassian.net/issues/?filter=29296) -**3. Run the test** in the Moodle QA testing site — the login details are available in the main page. +**3. Run the test.** Avoid setting up your own Moodle site and use the [Moodle QA testing site](https://qa.moodledemo.net/) — the login details are available on the test site landing page.
Details on running a test on the shared site Moodle QA testing site: [Moodle QA Testing Site](https://qa.moodledemo.net/) -⚠️ Two things worth knowing before you start: +⚠️ Before you start, remember a few points: - The site resets hourly at the top of the hour (so at 01:00, 02:00, and so on) so please be mindful if you are running a long test. - Don't enter any personal or sensitive information into the site. +- More information on the Moodle QA Testing Site can be found in the [QA Process page](/general/development/process/testing/qa#moodle-qa-testing-site) +- When you start executing a test case, select the `Start testing` action to mark the test as `In Progress`. +- If you have some questions, check out the [FAQ](./faq.md) for further assistance.
@@ -100,22 +103,27 @@ If something that's not related to the test fails, add the `qa_help_needed` labe Template for a failed test :::tip[Environment] + - Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) - Browser: (name and version) - Device/OS: (e.g. Windows 11 / macOS / iOS / Android) - Role(s) used: Admin / Teacher / Student + ::: :::danger[Test failed] It doesn't work according to instructions. + - Step that failed: Step # - Expected result: (What should have happened according to the instructions) - Actual result: (Describe precisely what happened, including any error messages or unexpected behavior) + ::: :::warning[Questions/Doubts] If you are unsure whether this is a bug or just a confusing step, describe your doubts here. ::: :::note Attached are screenshots or logs showing the failure: + - Step 1: - Step 2: - Step #: @@ -128,16 +136,19 @@ At least one screenshot per critical step. Screenshots may be grouped if appropr Template for a passed test :::tip[Environment] + - Site used: QA Testing Site / Local test site (Moodle version: 5.3dev Build: YYYYMMDD) - Browser: (e.g. Firefox 148.0 / Chrome 145.0.7632.117 / Safari 26 / …) - Device/OS: (e.g. Windows 11 / macOS / Ubuntu / iOS / Android 14 / …) - Role(s) used: Admin / Teacher / Student + ::: Works according to instructions. Test passed! :::note Attached are screenshots for: + - Step 1: - Step 2: - Step #: From 5808ac701b63e090be2e0196cd18b5e871900b21 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 14:53:07 +0800 Subject: [PATCH 08/11] Adding badge image --- docs/qatesting/_faq/testingbadge.png | Bin 0 -> 111874 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/qatesting/_faq/testingbadge.png diff --git a/docs/qatesting/_faq/testingbadge.png b/docs/qatesting/_faq/testingbadge.png new file mode 100644 index 0000000000000000000000000000000000000000..2aedfb9061792c147936475f8f5e684a5c139eb1 GIT binary patch literal 111874 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�K-`n{l+O4V87zJJK}v&M zBO8EEQ@h1>nFImeGf(YEia*a68meggRMp(7-5{(n2Mcek-YA14CALPxF-4k+<(c@~ zcSdc1gfgLHX=pJQCx%0YF=h%Iw6Hl7lm9BX*J^vtYn9G>Iu=?tiED5KuMrlk#Z@(* z>-S8J`a5U{q3a+!!5(1}e=Kv3g0aPTm&zm!YPwRo=6vuY#Ikw9`a4ESrFExwT>G%i zJzS43m0IEWv%~*vnV4@zV;hlv{x4}IK~^q5)b7u-nI``2%u~gnVj28}W7j@RZTSuw zwy1s3-Ip{Y)_kAs6HMezt=$)Ur!KJNEx7V2e=PYD{VK}^q6!cVr~C;ILu}pIuEiW4 zK^D+wnAl=bEVujPYx`Q{xJ;8#B_+7}=)JAarVP3^|4+C%#&x{yy9kzX`GJUBZq-C@ zwvxQlAFwI>_7?o>(cg>ei7#37B5y7o^9E!9Q|*q)2pJ3L7plp( zi0vvRN<$;ttL1wq_u?>xg|6YORuN4^cojBRaaFF?VleY;m`$Yzh|P3!;UNTPCcYZPTwP{#|G&nCZZZDsK0Ob2DIL5UDwc^srTX zJ3|_qF+qZ-fglNT>X({nn&VlK;njO>$_)q(RlO{c=LYY%~Ol^xi4})>RS{}ID~HiYG}jka&+P4{zd(0AR@kXjFf^P z8V3MBSiK*Ipdg`!@i$k?Gw-BnJB!Wd{0*hiEtMF=O|(^{?KR{gdwW~#n%wA`>U!|b z?r~nOUk@@36#Pbj)8&=48IDGNdgo@0{dr3u$QH0m_^V0A_bA(DJx?sO>m&p|{(t z#=MQfo}0dyF;XJxi%-Ud%RuI7jECabY>hRd(v+S?1yjumW>p(2n7Qd@Roo7L>%+!C zb0<7M_Ep(qK!{i&M5}0HPz>APo`3Kedb$Gdwh=!0r6D;9lkOCnvf(7FF=TXxJZuJW zvp@#>C0)be+Q|Fp3+_U3f_wxd@A;8)O1e1QBKW+31fK2cTIzO^q*(G+ZcT`|qv~Uv zZw*b4!Y<1KKnt(lXYAh;%IKxWmIHGcrjX`0!$FA?oGd8<`geqMjKv6^tnElmuIsmL zK)zbS*lN|$s)NO0f@`zzk4NV=IwT;l8}D#7M?>=!hmYJQ>>xH~yUfr^OTW?f4xDZ4 zUxhsnx(RhKbnW%_8A!=n)9Tx$h&}T+LBUB*-4Sd1{n&Ds6E3M_FftL`8_((gS1dQ`y4I588M z_o$JyT|3NmfFfg~3~LekNod+|^C~pXLFY!EaSYLe@yfakN)H>=pGdQ%V;pQtw4XuK z4xt;}KdEser6RAPF{v_X!LB!wZkR94w+PFrGh1=y5#LBQ%L_y7@dNd8bi;wAF{R7? zh{5v9b0Pi}>2;f9*It@R(JAD;`U`OE?mSd^tvaf8oEZ7s*t!BM6qHO9D_|&}*Ej4+ z9W5qx?eu5uYVhL%*oR6UzrDL%h0mK87K#t%1gT>Ca%Nf z+8rnqAM||74Ly)X7J8v3Y*ei68TxV;ovT7eiS`{Nil&0z!e}o z{;~`^L)AqBXgq|ETf7MmkZ@N&ke;lF+k?C}!OYK~fP>OA7C{(%yZW>DV?zu4^~UP& z7k-c-y=pTaN<3c;GM?K2xg;A}x=b}swnDi=F;kh8S?;dum$zr+Ol7%zu4PF2sQr&j z`DK2UiViudu2fcf95F`4?;3ec?)Qa7HqY9gVZ6ZuMck1% z8RE!WvMd8`)@&JnRQ0ZP=ymuU_fOwp@u3~P&O6Lj{kJ~Bq#6J15(;a~{kEA~X9}#3 zz#KDL^>**Ykdcl*dFHGXF0?cvqmNg4!CptKV?Nr|?j~Le*qNQPE?5@rhRwIIM^#O0 z9Mkex4ziv#v_klhH?M3=d-aN{WSElxcPz<6Ck;AtGfZB*Qq_^y8Lz=SbSZtfb%0JD z0eN#22EVtFAED6s>-y^i=jNPQw9smcTzZWwFHpTgJ`=wz!q$ zA4s`R<2)K4AdeHU?lr)#Ad2^0e) zL6PDgk?x%l?N}*f}VNRr$yqe?E5#DO}l(0j0-L=+2)W(u*UyD`kAwiB7o z`lp8;RXd02d}HUUu<#yi(Wr_%^b0Y-kU9-#g)iX#`fIw|mulDCnp!l$WQQ*#+0&R1 z8!|}EXC?;K5yctij?2g4kzo1=UcV-Hm#kZwE@euu5FhJGg;$cPZjbOJf6@MprCyfn zS^2YJyIJ}&*J9yh3QJ4+)FeUVh3XR2Tf>1^)(4FV9sR&^DjF&S@MbQFb^+a`Vks0| zTzz`Q6Igk~et6L^26Tn$4NJBxIQ?g@=AR}s!s!<->~wI1VgQ&t_yd?qBAQw1FPtEn zoRB?;G}}eFu9dWgIer3e8tC2OK^3*$)X|`+C0U(SiLZT^B~(@|Uo#Aid9|XAt}U;* zwpB2&N`6XVP&l8*Nit=>V#1_4&Bf0b&s@p4V@QO^wkS6sF&O@2$Igsi{0&{voe8kZ z?wrmIp%+s;IDvm`a=j_$he$>W0FGdeS2W5edgpaAA}bHejlU6jmftN$s$V}{Fa7xV z3tq=kb?0hUzWD>=6<8SFy*3ava#`>; zr0uyW?k3eS^}*!`d#ZEx}Zh#8;iw)qUP)t zgut#u)RwDe3-dSpG82O}oiOGXNu=1m+eAf!sXiT-CM$*@b?;q}aZGa9n5^f8F%b~Y zI~T(>A+AI;bIiI%*<-Okjk|7ice~z_paYjt1XN_U?E2zd^N-$?1<{r%wB0_J(_!=l zxJ*Cwdk@wIJHG0LV$F^esop$V-ne|16L6s=(6|bMlQ2F2ND04k5u0OX?$T~Fl#0X~ zF{O1Z9dl(>5O;=B*A<J%f(fL^GQo_+Z(4|C_fH72-)=vDV0^p^1`(5sFLHd!_8|}#tmezcEs?stQ zS%WP^L&;d^N^3)zu?>aMBk0i&IiufMRs*G+p;f7c+04GWLk3%^gYKu9pV*KXzE@e) z#dk;Jlbz{@wBXFk+~vyUT3O-9Fq?KD^BSRne4Ct|NHR)m&OPp}v5z!^B>Hoc82d;s z9(3DUbf|tr+3$T0!6f0QH(UW2ye`B7HY1Bl5XkSMSRh$pP60aA%#L57_~e+d%aNzLVH?YpXLBi~>4b3*3q*aPJd=M*0mr zDmHhhBi~wf>Fi3?4A+@PC2H02z^Rb#z!N6Unq>f(@AxAD?nw**JkhM-Y}8X!_>k_ItX>@lcw+TLZr6p3bMrI$+cXz3az>R172ukTIi8fS1HVrPRe977 z|Cm@W*!8p&9mqz?SAa-X2Hj*cjfshB^r@&!1S#-gxwJ``(P&4coqiQ^5f!xkqP9(9WK}7d7?rSRu$T809xr6FnWbc{Q83*!=NNoXDFB z@+ge5_nqYHCe0KM9CM4HazvVESnm^kY2tV}!Fj8?1qTbzFF474?J?<3SdnYMyT0}c zjHvhQD7ks-J$pYKvT;ma`2E25eH{{XPZ4h6t{SCla7NQMl5HY%4?qt-1@z)rA7 z+9m4No$2Aqs$O}j-O4CrPMo;`%MDS%GKTm5(r>d>({PF{u3Y=I2<5@Vo9Y&vmuS|X z6RI8c_E-OYfBLuC8-yM1H39&DK*h5e`WUgyNoz9r@@{SHbLmNtcr^)$*B0DzS5M$x zlW75QQ(5g^I9lf|&7|O}Sm?MpK|{tc2=#E|5CKdWAckBxoCppftDH!UN&2>_+fW#V zgMAWRUrE}9nXzv>4e-DQT3@Mlj<65ms&++!E1d`lOuTR52>Z)00Xt<661q$lDx#62 zpeBh{hl^na1}B2?+U70|Ex(}eS@Z(Z#>RHb6sRYlfdeQx0EyC=F4IhoyP*TlQm4;eJ#P|9tu(cayFT3^iUXtoJn)r&N^0nqyTqDM_Xd7&5bLGe>yoDZ;V5eB+> z-g!Ro_?&I&uiR-kKo4Re5GU#Zqg1Ml>R2)m?xGgGdwRA3I;WK9s_w_cF?r+_jJjkx z@XDAG^9b%uX92(N$UAz9o(I_B4Tma>P3kmR1kw@XBF^Dw_7IgwM-Z3y0c0EgzT!JhtvIu1vv`!>1+p9$a6gldm~e6l*QWuQ=jTE zSpfvITDQnL9zf{;w08}{maY{dHnq~EEF2PMlRoV-ZyihSSz=M%30N!)y2 z=18+{Oy8)?^(geRKX5j+)?0k#njS~;9%LB;aNoMRQ=t4nt*e(O_(X1(0&wAztf9sd zd9=JyNXX8|NTGaS^Hh7WT?TsL_x*;*hVjygH?goAEKPEQf&8-N42ulJUg!F}`^)1` zC)#@h{0JE6Fny?aY{bA!?NY!_(t{6Y6-E%b1TFOakW)7-eX2av1FBcW2Ke~0s2^LlyM`vF7JVkrWfQ>vC&Pl1Ytj^OyU>8?}~bo=oMf; zX~{sM7dq_yHgmaL=jNPfp9N;Pn%`hJ-ZEh$u7x!4$<6a9^tS&4mpf`Uy4*IUMitq} z`!)o(Y>N2oY(;{5;V?8_ZF`JCZbeE*1-JQRqCb7u;b^WsZ7)FiUabHi;%?chEN?b7 zm8P5BU2cx$@xC{e?!5apn7+!YRoIi}(1}+)&QZE5$ZjLQ>8VH@AG2{O4Fh<8)Limm z#z1|TU1#lWeHqZeTw{OZj!C8F+aWq%G^YMQ!OL)IC$L^PgR`|GnJ0J{{z|P3mxs%@ z;hycq!YyfU%U9=lJ Date: Fri, 28 Aug 2026 14:59:07 +0800 Subject: [PATCH 09/11] Update FAQ for QA testing cycle and documentation links --- docs/qatesting/faq.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/qatesting/faq.md b/docs/qatesting/faq.md index 7602d9a021..32293c94cb 100644 --- a/docs/qatesting/faq.md +++ b/docs/qatesting/faq.md @@ -30,7 +30,7 @@ As mentioned above, testing is flexible and asynchronous. No fixed hours, no min
-When does this cycle run? +When does the next QA cycle run? The Moodle 5.3 cycle runs from 31 August 2026 to 2 October 2026. @@ -64,9 +64,10 @@ Source: ["QA testing for Moodle 4.0 – A community effort!"](https://moodle.com
What do I get out of it? -Beyond directly improving software used by learners worldwide, you will get a QA tester badge for each cycle you help test *(page includes an image: "f3.png")*. +Beyond directly improving software used by learners worldwide, your Moodle profile will get a QA tester badge for each cycle you help test. This is the badge from 2025: +!![2025 Moodle Testing Badge](./_faq/testingbadge.png) -Also, your name will appear in the [Moodle testing credits page](https://moodledev.io/general/community/credits/testing) at the end of the QA cycle. It's also a genuinely good, low-pressure way to get comfortable with how a large open-source project runs, and how QA works in software generally, if that's something you're curious about. +Also, your name will appear in the [Moodle testing credits page](/general/community/credits/testing) at the end of the QA cycle. It's also a genuinely good, low-pressure way to get comfortable with how a large open-source project runs, and how QA works in software generally, if that's something you're curious about.
@@ -90,7 +91,7 @@ If something unrelated to the test itself goes wrong, add the `qa_help_needed` l
Go beyond preselected tests -Visit the QA testing dashboard — [Moodle 5.3 QA testing (update later)](https://moodle.atlassian.net/jira/dashboards/10612) — to explore the full list of tests. For example, if you want tests for the "Book" activity aimed at "Teachers", you can [filter by those components](https://moodle.atlassian.net/issues/). +Visit the QA testing dashboard — [Moodle 5.3 QA testing](https://moodle.atlassian.net/jira/dashboards/10612) — to explore the full list of tests. For example, if you want tests for the "Book" activity aimed at "Teachers", you can [filter by those components](https://moodle.atlassian.net/issues/).
@@ -99,7 +100,7 @@ Visit the QA testing dashboard — [Moodle 5.3 QA testing (update later)](https: If your only available site is running a different Moodle version (for example, your organisation's live site), please don't use it for this QA cycle. We're testing 5.3 specifically, not a previous version. -If you do have your own site running the latest Moodle 5.3dev, check the [QA testing documentation for developers](https://moodledev.io/general/development/process/testing/qa) first, then go ahead and use it. +If you do have your own site running the latest Moodle 5.3dev, check the [QA testing documentation for developers](/general/development/process/testing/qa) first, then go ahead and use it.
From 51eec605e0220540bc0a1e62df12c638594707f9 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Fri, 28 Aug 2026 15:20:49 +0800 Subject: [PATCH 10/11] Fixed image sizing --- docs/qatesting/faq.md | 5 ++++- project-words.txt | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/qatesting/faq.md b/docs/qatesting/faq.md index 32293c94cb..ad5195e7f7 100644 --- a/docs/qatesting/faq.md +++ b/docs/qatesting/faq.md @@ -65,7 +65,10 @@ Source: ["QA testing for Moodle 4.0 – A community effort!"](https://moodle.com What do I get out of it? Beyond directly improving software used by learners worldwide, your Moodle profile will get a QA tester badge for each cycle you help test. This is the badge from 2025: -!![2025 Moodle Testing Badge](./_faq/testingbadge.png) + +import QATestingBadge from './_faq/testingbadge.png'; + +
Moodle QA Testing Badge 2025
Also, your name will appear in the [Moodle testing credits page](/general/community/credits/testing) at the end of the QA cycle. It's also a genuinely good, low-pressure way to get comfortable with how a large open-source project runs, and how QA works in software generally, if that's something you're curious about. diff --git a/project-words.txt b/project-words.txt index a51432839d..5976a148ef 100644 --- a/project-words.txt +++ b/project-words.txt @@ -311,6 +311,7 @@ tablespace tasklogs templatable temptables +testingbadge texteditor themers thirdparty From f2c4259fb8fce250da87566944a09891148f8895 Mon Sep 17 00:00:00 2001 From: traviswindsormoodle Date: Mon, 31 Aug 2026 10:34:26 +0800 Subject: [PATCH 11/11] Revise account setup instructions for Moodle Tracker Updated links and added details for account setup instructions. --- docs/qatesting/gettingstarted.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/qatesting/gettingstarted.md b/docs/qatesting/gettingstarted.md index 975d28119a..25916bf720 100644 --- a/docs/qatesting/gettingstarted.md +++ b/docs/qatesting/gettingstarted.md @@ -17,14 +17,14 @@ The [Moodle 5.3 QA cycle](https://moodle.atlassian.net/jira/dashboards/10612) op ## How to start -**1. Set up your accounts** create an account on the [Moodle Tracker](https://id.atlassian.com/login) (that's where you will report your test results) and an account on [moodle.org](https://moodle.org/login/index.php). Use the same email address for both accounts. You can do this anytime. +**1. Set up your accounts** create an account on the [Moodle Tracker](https://moodle.atlassian.net/) (that's where you will report your test results) and an account on [moodle.org](https://moodle.org/login/index.php). Use the same email address for both accounts. See below for details. You can do this anytime.
Details on setting up your accounts **Setting up your account on the Moodle Tracker** -In order to assign tests to yourself and add comments you'll need to create an account on the Moodle Tracker. The Moodle Tracker is Moodle's issue-tracking system; it's how the whole community reports bugs and test results, not just testers. Sign-up takes a couple of minutes. +The Moodle Tracker is open to the public to view tickets. However, in order to assign tests to yourself and add comments you'll need to create an account on the Moodle Tracker. The Moodle Tracker is Moodle's issue-tracking system; it's how the whole community reports bugs and test results, not just testers. Sign-up takes a couple of minutes. 1. Visit the [Moodle Tracker login page](https://id.atlassian.com/login). 2. From there you can log in using your Google, Microsoft, Apple, or Slack accounts.