Note: You are currently viewing documentation for Moodle 3.6. Up-to-date documentation for the latest stable version of Moodle is likely available here: Test course generator.

Test course generator

From MoodleDocs

If you want a large course for testing performance or reliability of a feature (where its behaviour might depend on the size of a course), you can generate standard-sized test courses using the generator tool at Administration > Site administration > Development > Make a test course.,


This tool is for developer use only and should not be used on a live site. It is disabled unless you set the debugging option to DEVELOPER.

Finding the generator tool

The tool is in the administration menu under Development / Make test course.

Using the tool

To use the tool, select a size and type a shortname. The shortname should be one that is not in use. (If you type one that's in use, it will tell you.)

The tool shows an estimate of how large the created course will be and how long it will take to create. These are rough estimates.

  • The 'M' course size (100 sections) is similar to a typical course at a large institution. This is useful for testing performance under normal conditions.
  • The 'XL' course is very large and is suitable for testing reliability under extreme conditions.


  • Shortname: The course shortname (required)
  • Size: The size of the generated course. Accepted values: XS, S, M, L, XL, or XXL (required)

CLI version

You can run the tool from the command-line using:

php admin/tool/generator/cli/maketestcourse.php

This will show command-line options.

Additional options

Adding to the options mentioned above the CLI command has a few more.

  • Use a fixed dataset: Use a fixed data set instead of randomly generated data, useful for generating a standard data set
  • Specify a file size limit: Limits the size of the generated files to the specified number of bytes, you may find this setting useful because depending on the size you select the courses can use too much disk space
  • By pass check: Bypasses the developer-mode check
  • Quiet: Do not show any output