Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Plugin QA prechecks: Difference between revisions

From MoodleDocs
(Wording improvements)
(→‎Process: setting yourself as assignee)
Line 17: Line 17:


# Choose a plugin needing an initial review from the [https://moodle.org/plugins/report/index.php?report=pendingapproval_plugins list of plugins awaiting approval].
# Choose a plugin needing an initial review from the [https://moodle.org/plugins/report/index.php?report=pendingapproval_plugins list of plugins awaiting approval].
# To show that you are going to perform the QA prechecks, set yourself as the plugin approval issue assignee (CONTRIB-xxx as mentioned at the plugin page comments area).
# Download and install it on your test site then perform the QA prechecks as listed below.
# Download and install it on your test site then perform the QA prechecks as listed below.
# Add a comment to the plugin approval issue (CONTRIB-xxx as mentioned at the plugin page comments area) with your findings using the 'Plugin QA checklist' canned response.
# Add a comment to the plugin approval issue with your findings using the 'Plugin QA checklist' canned response.


==QA prechecks==
==QA prechecks==

Revision as of 15:15, 25 October 2021


Plugin QA prechecks are for testing the functionality of plugins submitted for approval in the Moodle Plugins directory. Together with code prechecks, they are part of the plugin approval process.

Moodle community members with experience in setting up a local Moodle test environment can help with plugin QA prechecks. They are added to the Plugins guardians group and can view plugins awaiting approval in the Moodle plugins directory.

QA environment setup

To perform plugin QA prechecks, you need to have a test Moodle site (normally the latest stable version) installed locally. Your test site should have

  • Developer debugging enabled with debugging messages displayed in order to report all PHP notices, warnings and errors spotted during plugin installation and usage.
  • $CFG->prefix set to a non-default value, such as "m_" or "mqa_". This allows to catch cases when the default "mdl_" prefix is hard-coded in PHP.

In addition, if possible the site should run on the PostgreSQL database engine to catch potential MySQL-specific SQL statements in the code.

Process

  1. Choose a plugin needing an initial review from the list of plugins awaiting approval.
  2. To show that you are going to perform the QA prechecks, set yourself as the plugin approval issue assignee (CONTRIB-xxx as mentioned at the plugin page comments area).
  3. Download and install it on your test site then perform the QA prechecks as listed below.
  4. Add a comment to the plugin approval issue with your findings using the 'Plugin QA checklist' canned response.

QA prechecks

  1. Does the plugin have all the appropriate metadata as described in the Plugin contribution checklist?
  2. Does the plugin install nicely and not break or otherwise negatively affect the site functionality (anti-regression test)? This also checks that all eventual dependencies are already available in the plugins directory.
  3. If possible (e.g. if no complex integration with an external system is needed), test the actual functionality of the plugin to see it works as described (feature test).