Note:

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

Plugin QA prechecks

From MoodleDocs
Revision as of 19:09, 21 October 2021 by David Mudrak (talk | contribs) (Create the page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


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

These QA prechecks can be performed by any Moodle community member. They allow the developers to focus fully on the code review and so they significantly contribute to the fluent flow of the plugin approval reviews.

The main areas covered by the plugin QA include:

  • Checking the plugin description and some other plugin's meta-data.
  • Installing the plugin to see that it does 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.
  • 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).

See Meta-data and Usability sections at the plugin contribution checklist page for details.

QA environment setup

  • Have developer debugging enabled with debugging messages displayed.
  • Report all PHP notices, warnings and errors spotted durign the plugin installation and usage.
  • It is recommended to test on a site running on PostgreSQL database engine to catch potential MySQL-specific SQL statements in the code.
  • Have the $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.

Process

  1. Pick a plugin from the list of plugins awaiting approval.
  2. Perform the QA prechecks.
  3. Comment on the relevant plugin approval issue (CONTRIB-xxx as mentioned at the plugin page comments area, or at its development tab) and report your findings.