После того как синхронизация выполнена, нужно будет принять работу.
Объект тестирования в этом случае достаточно сложен – целая программа, выполняющая множество различных действий по условиям «если/то». Поэтому и тестирование будет непростым.
Рекомендую для начала набросать на бумаге чек-лист (план) тестирования и уже потом приступать к проверке, чтобы ничего не упустить. Примерный чек-лист выглядит так:
Тест форм подписки:
• Зашел ли e-mail в сервис?
• Зашли ли в сервис сведения о соответствующем источнике подписки?
• Что произойдет, если попытаться подписаться на тот же адрес еще раз?
• Что произойдет, если подписаться на тот же адрес через несколько разных источников?
Тест формы регистрации/заказа:
• Зашел ли e-mail в сервис, если галочка в чек-боксе на подписку включена?
• Зашли ли в сервис имя и город подписчика?
• Зашли ли сведения о соответствующем источнике подписки?
• Что будет, если отключить галочку в чек-боксе на подписку?
Тест заказов:
• Зашла ли в сервис дата последнего заказа?
• Обновилось ли количество заказов?
• Что, если статус заказа не поменяется на «Выполнен»?
Тест обновления профиля:
• Обновились ли данные в сервисе после обновления их в профиле на сайте?
Скорее всего, несмотря на подробное ТЗ, синхронизация не заработает как нужно с первого раза. Запаситесь терпением: не набрасывайтесь на программиста после первой выявленной ошибки с требованиями немедленно все исправить – пройдите весь чек-лист до конца, а по итогам составьте отчет об ошибках с отсылками к конкретным пунктам ТЗ. Так будет эффективнее.
Готовьтесь принимать работу во второй и в третий раз (провести несколько итераций тестирования), и только в том случае, если какое-то ваше требование не выполняется раз за разом без уважительной причины. Можно немного и побеситься:-)
Пример отчета об ошибках:
П. 1.2 не выполняется.
П. 1.4 выполняется частично (адрес заходит, имя и город не заходят).
Тестировал на ящике info@ shop-example. ru…
И т. д.
Возможно, составлять такие отчеты – не самое приятное занятие, но другого способа добиться надлежащего качества исполнения пока не придумано.
Готовые решения: за и против
Если CMS вашего магазина достаточно продвинута, а сервис рассылок, к услугам которого вы прибегаете, не относится к разряду совсем уж экзотических, в ее составе вполне может обнаружиться готовый модуль интеграции: вписали в него ключ API, нажали кнопочку «Подключить» – и готово дело.
Это большой соблазн: обойтись без многостраничного ТЗ, десятка часов работы программиста и пачки отчетов об ошибках. Тем не менее я все-таки сторонник «ручного» подхода. Ни разу еще мне не встречался готовый модуль интеграции с рассылочным сервисом, который хотя бы на 50 % удовлетворял потребностям e-mail маркетинга.