Рейтинг: 5.0/5. на основе 1 оценки.
Пожалуйста, подождите...

Все те, кто лично знаком с Magento, знают, что это популярная e-commerce платформа, которая очень требовательна к использованному аппаратному обеспечению. Но как хорошо, что разработчики данной системы управления интернет-магазинами смогли качественно решить эту проблему и придумать ряд всевозможных способов ускорения, которые позволяют качественно протестировать продукт, но крайне нежелательны в использовании при релизе проекта.

Пару слов о системе управления Интернет-магазинами Magento

Самая сильная сторона CMS – широкая база встроенного функционала. Другими словами, все то, что вы получаете после установки интернет-магазина.

Установив Magento на свой ПК, вы получаете:

  • множество подключенных валют;
  • обширную базу сайтов на одной платформе;
  • отчеты;
  • возможность установки ограниченного доступа.

С технической стороны Magento являет собой сложную систему на основе Zend Framework. Чтобы эффективно работать с динамическим содержимым системы управления интернет-магазинами и последующего тестирования, нужно использовать подключенный фреймворк Prototype.

Как правило, Magento очень долго отдает пользователю загруженную страницу. Чтобы ускорить данный процесс, разработчики и QA прибегают ко всевозможным методам ускорения — кэш, объединение CSS/JS, компиляции данных, индексы, 1 сжатый файл и многое другое.

Так как нам интересен именно кэш, рассмотрим ряд возможностей по его сбросу, настройке и тестированию в процессе выпуска готового продукта.

Какие виды кэша предусмотрены в Magento?

Внутри данной системы управления интернет-магазинами предусмотрены следующие разновидности системного мусора:

  • конфигурации – следует очистить кэш сразу после внесения изменений в файлы настроек;
  • шаблоны – очистка кэша после внесения изменения в файлы шаблона;
  • информация коллекций – как правило, этот тип кэша чистится автоматически, но иногда клиентские модули могут добавлять записи, которые CMS сама очистить не в состоянии. Перед релизом данный вид кэша следует тщательно проверить на работоспособность самостоятельного обновления и взаимодействия с потенциально установленными модулями;
  • информация отражений – кэш информации с интерфейсов API;
  • DDL базы данных – автоматическая очистка Magento;
  • атрибуты EAV – кэш API конфигурации создаваемого интернет-магазина;
  • кэш страниц – очистка проводится после внесения изменений на страницах;
  • перевод – при переводе модулей нужно очистить кэш;
  • установка параметров веб-сервисов – кэширование веб API конструкции вашего сайта.

Вот так выглядит список кэша в CMS:

Кэш в Magento

Кэш в Magento

Как видно из списка, разнообразие кэша по функциональной принадлежности очень велико, а значит, прежде чем подходить к вопросу его тестирования, следует весьма продуманно и с абсолютным пониманием выполнить максимально глубокую проверку по каждому типу данных.

Удаление через административную панель

Как известно, разработчики Magento позаботились о создании действительно полезной функции сброса кэша, что позволяет быстро и качественно протестировать выбранные страницы и доработать слабые места в сборке.

С помощью кэша можно в разы ускорить загрузку любой страницы и быстрее отобразить имеющийся контент внутри платформы Magento.

Но если в процессе работы был видоизменен сайт или отдельная его часть (категория, фильтр, атрибут или фиксированный блок), то без обновления кэша здесь не обойтись. Ведь логично, что пользователю важно правильное отображение любой детали интернет-магазина.

Итак, один из наиболее простых способов протестировать сбрасывание кэша можно выполнить через панель администратора Magneto. Для этого потребуется:

  • перейти в раздел «Меню» – «Система» – «Управление кэшем»;
  • пометить галочкой все виды кэша;
  • в блоке «Действия» выбрать параметр «Обновить»;
  • нажать на кнопку «Отправить».

Но не всегда все так просто выполняется.

Бывают ситуации, когда в создаваемом магазине используются интеграции со сторонними CMS и сервисами (third part).

Например, подключенные системы управления интернет-магазинами помогают добавить или отредактировать продукты каталога. Или банально настроена удаленная работа SOAP API Magento.

Постоянно нажимать в админпанели неудобно, а вручную сбрасывать кэш – это так же не выход из ситуации.

Можно создать простой и понятный PHP-скрипт обновления/сброса кэша в Magento.

Простой пример PHP-скрипта

Простой пример PHP-скрипта

Созданный скрипт загружаем в файл shell/cacheRefresh.php и подключаем в задачу для настроенного крона (например, раз в 1 час).

Теперь тестировать кэш Magento можно через крон и в автоматическом режиме, время которого QA или разработчик может устанавливать на свое усмотрение.

Проверка статуса включения/выключения кэша

Чтобы быстро проверить состояние кэша Magento на тестируемом проекте, следует ввести такой запрос:

Запрос

Запрос

Пример:

Состояние кэша Magento

Состояние кэша Magento

Включение и выключение видов кэша

Эта команда позволяет удобно оперировать видами кэша, которые QA самостоятельно выбрал для проведения теста. Временное отключение типов кэша также будет полезно, если тестировщик наметил изменения в работе продукта, при выключении/включении разных типов кэша. Но помните, что постоянное отключение видов кэша может существенно повлиять на снижение общей производительности системы.

Чтобы оперативно просмотреть состояние кэша и его статус, достаточно прописать данную команду:

Команда

Команда

и будет получен такой результат:

Состояние и статус кэша

Состояние и статус кэша

Очищенный кэш и скрытые типы кэшей

Чтобы быстро проверять устаревшие виды кэша на общую производительность, их можно стирать или проводить чистку (удаление).

Очистка полностью удаляет все старые элементы из включенных типов в админпанели Magento. Иными словами, данная функция совершенно не влияет на другие параметры или системы управления интернет-магазинами (то есть сторонние модули), ведь проводится стирание только того кэша, который используется непосредственно CMS Magento.

Важно: отключенные виды кэша не подлежат очищению!

Рекомендация: сбрасывайте требуемые виды кэша, если у вас остались проблемы с «изоляцией» данных.

Применяйте следующую команду:

Команда

Команда

Дополнительные возможности по работе с кэшем

База медиафайлов кэша – протестируйте этот кэш на педмет использования в продукте различных картинок каталога, которые ранее были кэшированы, но уже не актуальны.
CSS/JS кэш – данный вид кэша объединяет стили и JS вашего интернет-магазина. Если вы не обнаружили нужный макет при проверке определенного шаблона, проведите сброс данного типа кэша.
Кэш статистических файлов и папок – его запросто можно сбросить за ненадобностью.

В завершение следует сказать, что система управления интернет-магазинами Magento – это сильный инструмент при развертывании большого и производительного релиза (к примеру, интернет-магазина), где даже самый незначительный параметр требует существенной проверки и конфигурации с другими элементами системы.

Именно кэш является той обязательной составляющей, которую любой QA должен тщательным образом проверить и прогнать на всевозможные сценарии.

Как видно из вышеописанного, вариаций работы с кэшем в Magento очень много, а значит, к вопросу взаимодействия с данной e-commerce платформой следует подходить с уже готовым тест-кейсом. Например, процесс прогона кэша можно детально поделить в зависимости от типа и вида данных – кэш страниц, кэш медиафайлов или кэш перевода модулей.

Оставить комментарий