Вы находитесь на странице: 1из 10

Функциональная карта тестирования

CMS-плагинов Fondy & Frisbee


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

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

1. Развертывание тестовой среды


На самом деле это самый сложный этап при тестировании CMS-ок. Ситуации могут быть
следующие:

● У CMS есть только коробочная версия для развертывания на своем сервере.


Примеры: OpenCart, VirtueMart, Magento.

● У CMS есть только облачная версия, которая работает как обычный сайт.
Примеры: Wix, Tilda, Shopify.

● У CMS есть и коробочная и облачная версии.


Примеры: Bitrix, Wordpress.

1.1 Если попалась облачная CMS


Нужен способ получить доступ к аккаунту для тестов.
Можно:
● Зарегистрировать бесплатный аккаунт на свой рабочий имейл.
● Затребовать с компании денег на платный аккаунт, если в бесплатном
недостаточно функционала или не поддерживается работа платежных плагинов.
● Написать в саппорт разработчику CMS и попросить тестовый аккаунт.
1.2 Если попалась коробочная CMS
Тут все сложнее и напрямую зависит от собственных навыков и желания рисковать.
Варианты примерно следующие:

Вариант Реализация Плюсы Минусы

Лентяй Попросить Получаешь Порой можно ждать


DevOps-ов результат “на вечность, так как у
развернуть тебе блюдечке”. DevOps-ов всегда
тестовую среду. есть тьма других
задач.

Для любых
изменений тебе
придется дергать
занятых DevOps-ов,
они обычно этому
не очень рады.

Микроменеджер Попросить Все тот же Нужно немного


DevOps-ов результат “на заморочиться и
выделить доступ к блюдечке”, но с включить колядуна
какому-то небольшими перед DevOps-ами.
корпоративному усилиями с твоей
серверу. стороны.

После этого Если что-то


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

Сам себе вебмастер Разворачиваешь Полный контроль Нужно уметь.


CMS на локальном над всем с твоей
сервере, например, стороны. Если
с использованием разворачиваешь
набора LAMP, или локально, нужно
на своем хостинге придумать как
“пробросить” свой
сервер во внешний
мир, чтобы
работали вебхуки и
callback-ки
плагинов.
Контейнеровоз Разворачиваешь Установка всего Нужно уметь.
готовый образ CMS парой команд в
в Docker. терминале. Более сложный
доступ к
внутренностям
контейнера, если
понадобится
вносить изменения.

Нужно придумать
как “пробросить”
свой сервер во
внешний мир, чтобы
работали вебхуки и
callback-ки
плагинов.

1.3 Если попалась платная коробочная CMS


Вам с разработчиком придется искать способ выкрутиться: искать кейгены либо ставить
пиратскую версию сомнительного происхождения и не всегда свежей версии.

1.4 Если попалась CMS, которая имеет и коробочную и облачную


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

Часто возникает вопрос: “Под какую версию CMS разрабатывать плагин? Нужно ли
проверять его работу на более старых версиях или, наоборот, на бета-версиях, которые
еще не вышли в релиз?”

На данный момент мы разрабатываем плагины под самые популярные и востребованные


среди аудитории версии CMS-плагинов. Времени на тестирование старых или еще не
вышедших версий зачастую не остается. Но если есть возможность проводить такие
тесты – you are welcome!
2. Тестовые данные для Fondy & Frisbee
В идеале тебе нужно иметь свои учетные записи на девах и продах Fondy & Frisbee.

Fondy Dev
Cоздай аккаунт в портале – https://portal.dev.cipsp.net/mportal/ заведи активного мерчанта с
включенными оплатами в валютах UAH, RUB, USD, EUR. Добавь платежные методы Apple
Pay, Google Pay, Frisbee. Локальные методы и интернет-банки – по желанию.

Также можешь использовать готового мерчанта 1601318 с ключом test.

Fondy Prod
Можешь создать аккаунт в портале https://portal.fondy.eu/mportal/ и создай мерчанта.
Попроси коллег из саппорта сделать его активным и добавить такие же платежные
методы, как описаны в секции Fondy Dev.

Или можешь попросить саппорт подключить тебе уже готового мерчанта 1461342 с
секретным ключом PaorhP7HxL7LX40pfXCQzQTt1aiPLUj8 чтобы отслеживать статусы
оплат по нему в личном кабинете.

Или можешь попросить саппорт подключить тебе публичного тестового мерчанта 1396424
с секретным ключом test чтобы отслеживать статусы оплат по нему в личном кабинете.

Frisbee Dev
Cоздай аккаунт в портале – https://my-frisbee.dev.fondy.eu/account/login

Также можешь использовать готовый аккаунт с номером телефона 666611111 и паролем


1111. Но не забывай возвращать настройки к исходным после того как закончить тесты.
Так как этим аккаунтом пользуется несколько человек.

Для тестирования на деве отметь в настройках плагина птичку Test Mode и сохрани
настройки.

В таком случае запросы будут идти на https://my-frisbee.dev.fondy.eu

И будет использован мерчант 1601318 с ключом test.

Тестовый режим будет работать только в рамках офиса Fondy или при наличии VPN с
достаточными правами доступа.
По этой же причине тестовый режим скрыт в релизной версии плагина. Тестирование
плагина обычными пользователями будет возможно только на проде.

Полезно знать:

● Возможные статусы заявок по рассрочкам (доступ запросить у Вовы Сущенко)

● Актуальный статус конкретной заявки можно проверить в dev-оперке в разделе


Reports - Frisbee - Loans (доступ к статусам можно запросить у Сережи Ищенко)

Frisbee Prod
Все тесты на проде фрисби проводятся с использованием мерчанта 1461342 с секретным
ключом PaorhP7HxL7LX40pfXCQzQTt1aiPLUj8 и с помощью менеджера проекта Вовы
Сущенко.

Вместе можете провести несколько боевых транзакций на 2 грн каждая. Для этого не
забудь предварительно создать в тестовом магазине товар с такой ценой.

Без Вовы можно проверить факт перехода на страницу выбора условий рассрочки вида
https://my.frisbee.ua/payment-method/order/1328/ и правильность передачи на нее данных
заказа.

Классический Test-mode доступен только в версии плагинов Frisbee из dev-репозитория. В


prod-версии плагина тестовый режим скрыт.

3. Тестирование плагина
В процессе тестирования в первую очередь стоит поставить себя на место пользователя и
подумать, какие у него могут быть сценарии использования плагина.

3.1 Установка
Убедись, что плагин можно без проблем установить при стандартных сценариях.

1. Чистая установка: плагин можно установить начисто, на свеже развернутую CMS:


a. Во время установки отображается процесс развертывания плагина,
например, в виде прогрессбара или вывода в консоль.
b. Во время установки отсутствуют видимые ошибки на фронт-части.
c. Во время установки отсутствуют ошибки в логах CMS.

2. Установка посредством обновления: плагин можно установить поверх старой


(предыдущей) версии плагина, если таковая существует.
a. Во время установки отображается процесс обновления плагина, например,
в виде прогрессбара или вывода в консоль.
b. Во время обновления отсутствуют видимые ошибки на фронт-части.
c. Во время обновления отсутствуют ошибки в логах CMS

3. Также при возможности проверь обновление плагина не предыдущей, а более


старой версии. Например, накати версию плагина 1.4 поверх версии 1.2 или 1.0.

3.2 Удаление
Должен быть явный способ удалить установленный плагин и все добро, которое он с
собой принес.

1. Плагин можно удалить стандартными средствами, встроенными в CMS.


2. При удалении плагина, он удаляется из всех мест расположения в рамках
админ-панели CMS.
3. При удалении плагина также удаляются все его файлы с сервера.
4. При удалении плагина также удаляются все его настройки на сервере.

3.3 Тестовый режим плагина


Необходим конкретно тебе, чтобы безопасно проверить работоспособность плагина.
Базовые проверки следующие:

1. Плагин содержит тестовый режим


2. При включении тестового режима используется мерчант 1601318 и происходит
переход на дев-среды Fondy и Frisbee.
3. При неактивном тестовом режиме после совершения покупки из корзины заказа
происходит переход на прод Frisbee по ссылке вида:
https://my.frisbee.ua/payment-method/order/1328/.

3.4 Настройки плагина


Стоит убедиться, что присутствуют базовые настройки плагина и каждая из них работает
как положено.

1. Среди настроек присутствуют работающие поля merchant_id и secretkey


2. Присутствует поле “Заголовок”, которое выводит название способа оплаты на
странице корзины.
3. Присутствует поле “Описание”, которое выводит подробное описание способа
оплаты на странице корзины.
4. При изменении полей "Заголовок" и "Описание" они корректно отображаются в
корзине заказа.
5. Присутствуют настройки кастомных статусов, которые должны передаваться в
админку CMS-ки на разных этапах оплаты
a. статус заказа после создания корзины и перехода на страницу оплаты
(например, Pending)
b. статус заказа после успешной оплаты (например, Confirmed)
c. статус заказа если оплата не прошла (например, Declined)
6. Все кастомные статусы функционируют корректно.

3.5 Функциональность плагина


Теперь проверяем, что все собралось в кучу и работает как задумано:

1. Покупку можно успешно оплатить с помощью Frisbee.


2. После успешной оплаты пользователь попадает на стандартную Thank you page
конкретной CMS.

3. В админку CMS правильно передаются стандартные статусы заказов по мере


прохождения процесса оплаты:
a. статус заказа после создания корзины и перехода на страницу оплаты
(например, Pending)
b. статус заказа после успешной оплаты (например, Confirmed)
c. статус заказа если оплата не прошла (например, Declined)
4. В админку CMS правильно передаются кастомные статусы заказов по мере
прохождения процесса оплаты. Если кастомные статусы были настроены ранее.

5. Во время создания order`а в портал Fondy передается параметр reservation_data.


6. Параметр reservation_data содержит все необходимые атрибуты, в соответствии с
требованиями из документа Саши Селянского.

7. Сумма покупки передается на сторону Frisbee корректно при оплате в гривнах.


8. Сумма покупки передается на сторону Frisbee корректно при оплате в долларах
или другой иностранной валюте.

3.6 Локализация и подсказки


Отдельный важный момент. Зачастую наши плагины создаются сразу с тремя
локализациями внутри: английской, русской, украинской. Теперь тебе нужно убедиться,
что:
1. Все настройки плагина переведены и отображаются корректно в соответствии с
выбранной локализацией.
2. При переключении языка в админке, включается соответствующая локализация в
настройках плагина.

3. При смене языка также корректно переводятся данные плагина в корзине заказа.

4. При смене локали переводятся стандартные поля “Заголовок” и “Описание” в


настройках плагина и их содержимое.

5. Страшный кейс: если сайт клиента мультиязычный. Убедись, что поля “Заголовок”
и “Описание” выводятся при выборе метода оплаты на том языке, который сейчас
включен на сайте. И в том, что при переключении языка эти поля тоже меняют
перевод.

6. Самый страшный кейс: проверь что происходит с пунктом 5 при условии что
пользователь изменил в админке стандартные поля “Заголовок” и “Описание” на
свои, кастомные.

Также обрати внимание, что должны быть правильные заготовки стандартных фраз
для полей “Заголовок” и “Описание”. Какие именно – уточняй у менеджера.

Также должны быть правильные заготовки самого названия плагина и его описания
внутри CMS-ки.

Например, для Frisbee это:

EN

Название: Buy now, pay later with Frisbee

Под названием: Frisbee payments plugin

RU

Название: Оплата частями с Frisbee

Под названием: Плагин сервиса оплаты частями Frisbee

UA

Название: Оплата частинами з Frisbee

Под названием: Плагін сервісу оплати частинами Frisbee

Какого-то единого стандарта для плагинов Fondy нет.


Еще одно правило хорошего тона – наличие подсказок возле каждого из пунктов настроек,
чтобы пользователь быстро разобрался какие данные туда нужно вводить и на что влияет
каждая функция. Соответственно, убедись, что:

1. Для каждого поля настроек присутствуют подсказки.


2. Подсказки корректно наполнены и несут пользу читателю.
3. Подсказки переводятся при смене языка плагина\CMS-ки в админке.

Changelog
Автор документа: Александр Тоболин

Версия Изменения Автор

0.1 Initial Александр Тоболин

Вам также может понравиться