Plesk

Testing Extensions

The following checklist will help you organize your work testing your
extension before submitting it for publishing.

Testing Extension’s Functionality

  1. Make sure the extension can be correctly installed, upgraded and
    uninstalled. For a new extension, upgrading can be tested by
    uploading it one more time.
  2. Make sure that the extension checks whether the operating system used
    is supported by it. In case it is not, the extension must explicitly
    inform the administrator with a human-readable message.
  3. Check that all extension’s functions work as expected, the extension
    does not hang or crash.
  4. If the extension is using Plesk Key-Value Storage to store data,
    make sure it is doing so correctly and efficiently.
  5. If the extension is using an SQLite database, check that it correctly
    works with Plesk objects, that it is secured against SQL injections,
    and correctly handles an extension upgrade.
  6. If you are using Javascript and CSS to adjust the Plesk and/or
    extension’s pages, pay attention to the resulting impact to
    performance and avoid naming collisions.
  7. If the extension uses panel.ini to store certain configuration
    settings, make sure those settings are working correctly, and check
    that uninstalling the extension does not break the rest of the
    panel.ini contents.
  8. If your extension is using long tasks, make sure they do not
    interfere with other long tasks’ execution, the extension must handle
    stopping long tasks correctly. Check that the long task execution
    does not degrade the server performance.
  9. If the extension allows for installing additional packages, make
    sure the corresponding long tasks are started and function properly,
    only a single installation process is running at any time, the
    dependencies are installed, and any additional repositories are added
    correctly. When the extension is uninstalled, it must also correctly
    remove the installed packages and repositories.
  10. Extension’s integration with an external service must be checked
    thoroughly, namely: all the relevant objects and data must be
    correctly provisioned from Plesk to the external service, all the
    relevant changes on the service side must be correctly propagated to
    Plesk, the extension must correctly handle the external service
    unavailability.

Testing UX and UI

  1. <a class="reference…