The following checklist will help you organize your work testing your
extension before submitting it for publishing.
Testing Extension’s Functionality
- 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. - 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. - Check that all extension’s functions work as expected, the extension
does not hang or crash. - If the extension is using Plesk Key-Value Storage to store data,
make sure it is doing so correctly and efficiently. - 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. - 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. - 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. - 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. - 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. - 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
- <a class="reference…