This is documentation for Plesk Onyx.
Go to documentation for the latest version, Plesk Obsidian.
Тестирование расширений
Этот контрольный список поможет вам организовать работу при тестировании расширения перед отправкой его на публикацию.
Тестирование функциональности расширения
- Удостоверьтесь в том, что расширение можно корректно установить, обновить и удалить. Для нового расширения обновление можно протестировать путем повторной загрузки расширения.
- Удостоверьтесь в том, что расширение проверяет, поддерживается ли используемая операционная система. Если нет – расширение должно явно сообщить об этом администратору с помощью удобочитаемого сообщения.
- Проверьте, что все функции расширения работают, как ожидается, расширение не зависает и не падает.
- Если расширение использует хранилище пар «ключ-значение» Plesk для хранения данных, удостоверьтесь в том, что оно делает это правильно и эффективно.
- Если расширение использует базу данных SQLite, проверьте, что она корректно работает с объектами Plesk, защищена от SQL-инъекций и правильно ведет себя при обновлении расширения.
- Если вы используете Javascript и CSS для изменения страниц Plesk и/или расширения, обратите внимание на то, как это отражается на производительности, и избегайте конфликтов имен.
- Если расширение использует файл
panel.ini
для хранения каких-либо настроек, удостоверьтесь в том, что эти настройки работают правильно, и проверьте, что удаление расширения не нарушает остального содержимого файлаpanel.ini
. - Если ваше расширение использует длительные задачи, удостоверьтесь в том, что они не мешают выполнению других длительных задач, и что расширение корректно останавливает длительные задачи. Удостоверьтесь в том, что выполнение длительных задач не снижает производительности сервера.
- Если расширение позволяет устанавливать дополнительные пакеты, убедитесь, что соответствующие длительные задачи запускаются и работают правильно, в один момент времени выполняется только один процесс установки, зависимости устанавливаются, и любые дополнительные репозитории добавляются корректно. Когда расширение удаляется, оно должно также корректно удалять установленные пакеты и репозитории.
- Необходимо тщательно проверить интеграцию расширения с внешней службой, а именно: все необходимые объекты и данные должны корректно передаваться из Plesk во внешнюю службу, все изменения на стороне службы должны корректно передаваться в Plesk, расширение должно корректно вести себя в случае недоступности внешней службы.
Тестирование интерфейса и взаимодействия с пользователем
- Удостоверьтесь в том, что персональные кнопки, которые ваше расширение добавляет к интерфейсу Plesk, расположены правильно и доступны тогда, когда нужно.
- Если расширение имеет свой персональный интерфейс, проверьте, что в нем все работает правильно, и что он правильно интегрирован в интерфейс Plesk без нарушения структуры, навигации, стилей и т.п. Время отрисовки персонального интерфейса должно быть оптимизировано.
- Содержимое информационных промо-блоков должно отображаться корректно, включая значки и локализованный текст. Ссылки должны работать.
- Удостоверьтесь в том, что интерфейс расширения предоставляет достаточно информации, чтобы помочь пользователю, когда это необходимо. Он может включать в себя описания, подсказки, ссылки на файлы справки, инструкции по получению поддержки и т.д.
Тестирование поддержки функциональности расширения для различных типов доменов
- Создайте домены разных типов и протестируйте на них функциональность расширения.
- Протестируйте функциональность расширения на различных типах доменов: подписки (основные домены), дополнительные домены, субдомены с собственной зоной DNS, субдомены с родительской зоной DNS, подстановочные субдомены, псевдонимы доменов, перенаправления доменов, домены без хостинга.
- Протестируйте расширение на доменах в разных статусах: активен, отключен, приостановлен.
- Протестируйте расширение на доменах с различными характеристиками, например: на доменах с IDN; на доменах, использующих IPv6; на доменах, имена которых содержат символы в разном регистре; на доменах с веб-приложениями, установленными в папках, отличных от корневой, или с несколькими веб-приложениями.
- Проверьте, что персональные кнопки расширения недоступны для типов доменов, которые не поддерживаются расширением.
- Удостоверьтесь в том, что все операции с доменами корректно поддерживаются расширением, и внешней службой, с которым оно интегрировано, в частности: добавление и удаление домена, отключение и активация, приостановка и активация, редактирование настроек хостинга домена.
Тестирование доступа пользователей к функциональности расширения
- Удостоверьтесь в том, что пользователи с различными ролями (администратор, реселлер, клиент) имеют доступ к тем и только к тем функциям и данным, к которым должны его иметь.
- Удостоверьтесь в том, что клиенты и реселлеры не могут получить доступ к функциям и данным администратора, вводя URL-адреса страниц напрямую.
- Удостоверьтесь в том, что у реселлеров есть доступ к доменам, принадлежащим им и их клиентам, но нет доступа к доменам, принадлежащим клиентам других реселлеров.
- Расширение должно определять, когда администратор работает от имени реселлера или клиента, и работать в этом случае корректно. Например, если администратор выполняет вход от имени реселлера, у него должны быть права реселлера (а не администратора) управления подписками, доменами и прочими объектами реселлера.
- Когда удаляется учетная запись пользователя, все связанные с ней настройки и данные, хранимые расширением, должны быть также удалены. Необходимо предотвращать возможные проблемы безопасности в случае, когда учетная запись пользователя с таким же именем создается повторно.
Тестирование лицензирования
Когда расширение использует инфраструктуру лицензирования Plesk, применимы следующие инструкции. Их также можно применять с некоторыми изменениями в случае персонального лицензирования.
- Удостоверьтесь в том, что кнопка или ссылка для покупки лицензии в интерфейсе расширения доступна администратору и только администратору.
- Проверьте, что в файле meta.xml корректно записан URL-адрес магазина, и что для получения URL-адресов для покупки и обновления лицензии используются нужные методы SDK.
- Запросите и установите тестовый лицензионный ключ.
- Проверьте, что данные и функции, к которым предоставляет доступ лицензия, недоступны без ее установки. Проверьте, что данные и функции, к которым предоставляет доступ лицензия, доступны после ее установки.
- Если у расширения есть пробный период, проверьте, что оно работает во время этого пробного периода и перестает работать, когда он заканчивается. Удостоверьтесь в том, что пользователи видят корректное сообщение, сообщающее о действии пробного периода.
- Расширение может предоставлять различные комбинации функций и данных как разные продукты, доступные с разными лицензиями. Проверьте, что разные лицензии дают доступ к соответствующим продуктам.