Рейтинг: 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 движком следует подходить с уже готовым тест-кейсом. Например, процесс прогона кэша можно детально поделить в зависимости от типа и вида данных – кэш страниц, кэш медиафайлов или кэш перевода модулей.

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