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

Чек-лист функционального тестирования для владельца бизнеса

Эта статья от имени того, чья работа — ломать ваш сайт до того, как это сделают клиенты. Звучит жестоко? Возможно. Но в электронной коммерции каждый найденный мной баг — это сохраненные деньги и нервы.

Когда вы принимаете сайт от разработчиков, вы смотрите на него как владелец: «Красиво? Работает?». Я смотрю как тестировщик: «А что будет, если нажать сюда дважды? А если отключить интернет во время оплаты? А если ввести вместо цены буквы?».

Сегодня я расскажу, как проходит функциональная приемка интернет-магазина. Это не про дизайн и не про законы (хотя в Беларуси без них никуда), это про логику работы системы. Если вы готовитесь принимать сайт в 2026 году, сохраните этот гайд.

Философия тестировщика: «Счастливый путь» — это только начало

Разработчики часто показывают вам «Happy Path» (Счастливый путь): пользователь зашел, выбрал товар, оплатил, все прошло идеально.

Моя задача — проверить Negative Path (Негативный сценарий) и Edge Cases (Граничные случаи).

Правило №1: Не верьте на слово. Проверяйте всё своими руками.

Правило №2: Если баг воспроизводится один раз — это уже баг.

Правило №3: Тестируйте на тех устройствах, которыми пользуются ваши клиенты (в Беларуси это часто Android-смартфоны среднего сегмента и iPhone).

1. Каталог и карточка товара: основа витрины

Здесь клиент принимает решение о покупке. Ошибки тут смертельны для конверсии.

Что тестируем На что обратить внимание (Взгляд тестировщика)
Фильтры Выберите все возможные комбинации. Что если выбрать «Цена от 1000 до 100»? Должна быть валидация. Что если фильтры не дают результатов? Должна быть страница «Ничего не найдено».
Сортировка Проверьте «По цене (возрастание/убывание)». Часто бывает, что товары с одинаковой ценой «пляшут» или сортировка работает только на первой странице.
Наличие Попробуйте добавить в корзину товар со статусом «Нет в наличии». Кнопка должна быть неактивна или менять текст на «Предзаказ».
Цены Проверьте скидочные цены. Старая цена должна быть зачеркнута. Убедитесь, что везде валюта BYN. Нет ли копеек там, где их не должно быть?
Изображения Попробуйте увеличить фото (зум). Работает ли галерея на мобильном (свайпы)? Что если у товара нет фото? Должна стоять заглушка.
Связанные товары Проверьте логику блоков «С этим покупают». Не предлагаются ли товары из других категорий?

2. Корзина: где живут деньги

Корзина — это самый критичный узел. Здесь мы пытаемся «сломать» логику расчета.

  • Изменение количества: Добавьте 1 товар. Увеличьте до 99. Уменьшите до 0. Что происходит? (Должен удаляться или стоять минимум 1).
  • Лимиты: Есть ли ограничение на максимальное количество одного товара на складе? Попробуйте ввести больше, чем есть. Система должна предупредить.
  • Промокоды:
    • Введите valid код — скидка применилась?
    • Введите expired (просроченный) код — ошибка?
    • Введите код для категории А на товар категории Б — сработает ли защита?
    • Попробуйте ввести код дважды.
  • Пересчет: Измените количество товаров. Пересчиталась ли итоговая сумма и стоимость доставки мгновенно (без перезагрузки страницы)?
  • Сохранение: Положите товар в корзину, закройте браузер, вернитесь через час. Товар на месте? (Проверка сессий/cookies).

3. Оформление заказа и Оплата (Специфика Беларуси)

Это самый сложный этап интеграции. В 2026 году в Беларуси стандарты платежей высоки.

Сценарии тестирования оплаты:

  • Успешная оплата: Карта принята → Статус заказа «Оплачен» → Клиент получил чек на email/SMS → Менеджер увидел заказ.
  • Неуспешная оплата: Недостаточно средств → Система вернула пользователя в корзину → Статус заказа «Ожидает оплаты» → Товар зарезервирован (или нет, зависит от настроек).
  • Прерывание оплаты: Начали платить → Закрыли вкладку банка → Вернулись в магазин. Какой статус? Не получилось ли дубля заказа?
  • Повторная оплата: Попробуйте оплатить один заказ дважды. Система должна предотвратить это.

Интеграции:

  • ЕРИП / bePaid / WebPay: Обязательно проведите тестовый платеж через каждую подключенную систему.
  • Оплата при получении: Если есть такая опция, проверьте, чтобы она не требовала ввода карты онлайн.
  • Юридические данные: На этапе оплаты должны еще раз мелькнуть условия оферты (галочка «Согласен»).

4. Доставка и Адреса

В Беларуси своя специфика адресации и служб доставки.

  • Валидация телефона: Введите +375 (29) 123-45-67. А теперь попробуйте +375 (29) 123-45-678 (лишняя цифра) или номер России/Украины (если доставка только по РБ). Система должна пускать только корректные форматы.
  • Расчет доставки:
    • Выберите Минск → Курьер → Цена должна быть одной.
    • Выберите Область → Район → Населенный пункт → Цена должна измениться или появиться сообщение «Доставка не осуществляется».
  • Белпочта / СДЭК: Проверьте работу виджетов расчета. Не «виснет» ли сайт при запросе к API службы доставки?
  • Бесплатная доставка: Если есть порог (например, от 100 BYN), добавьте товар на 99 BYN — доставка платная. Добавьте на 100 BYN — доставка бесплатная. Граница должна работать четко.

5. Личный кабинет и Регистрация

  • Дубликаты: Попробуйте зарегистрироваться на email, который уже есть в базе. Должна быть ошибка.
  • Восстановление пароля: Запросите ссылку. Перейдите по ней. Смените пароль. Попробуйте войти со старым паролем (не должно пустить).
  • История заказов: Оформите заказ → Зайдите в ЛК → Проверьте, отображается ли заказ, его статус и состав.
  • Редактирование данных: Смените телефон в профиле. Оформите новый заказ. Подтянулся ли новый телефон?

6. Уведомления и Формы

Клиент не должен гадать, что произошло.

Триггерные письма:

  • Регистрация → Письмо «Добро пожаловать».
  • Заказ создан → Письмо «Заказ №... принят».
  • Статус изменен → Письмо «Заказ отправлен».
  • Оплата прошла → Чек на email.

Проверка: Письма не должны попадать в СПАМ. Проверьте верстку писем на мобильном (часто там все «едет»).

SMS / Мессенджеры: Если заявлено уведомление в Viber/Telegram — проверьте доставку.

Форма обратной связи: Заполните все поля. Заполните только обязательные. Оставьте поля пустыми. Везде ли срабатывает валидация? Приходит ли заявка администратору?

7. Админ-панель: где работаете вы

Владельцы часто забывают тестировать админку, а зря. Это ваш рабочий инструмент.

  • Создание заказа вручную: Попробуйте создать заказ за клиента (например, по телефону). Работает ли это удобно?
  • Смена статусов: Переведите заказ из «Новый» в «В работе», затем в «Отправлен». Меняется ли статус у клиента в ЛК? Приходит ли уведомление?
  • Управление товарами:
    • Попробуйте изменить цену. Обновилась ли она на сайте мгновенно (или после кэширования)?
    • Попробуйте скрыть товар (статус «Неактивен»). Исчез ли он из каталога?
  • Импорт/Экспорт: Если заявлена выгрузка прайса — загрузите тестовый CSV/XML файл. Нет ли ошибок кодировки (кракозябр вместо букв)?

8. Негативное тестирование и «Поломки»

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

  • Двойной клик: Быстро нажмите кнопку «Купить» или «Оплатить» 5 раз подряд. Не создалось ли 5 одинаковых заказов?
  • Кнопка «Назад»: Во время оплаты нажмите «Назад» в браузере. Не сломалась ли сессия?
  • Прямые ссылки: Попробуйте зайти на страницу оформления заказа (/checkout) без товаров в корзине. Должен быть редирект в корзину.
  • Скорость интернета: Включите в браузере эмуляцию «Slow 3G». Не «отваливается» ли AJAX-запрос при добавлении в корзину?
  • Безопасность форм: Попробуйте ввести JavaScript код (<script>alert(1)</script>) в поле «Имя» или «Комментарий». Сайт не должен исполнять код (защита от XSS).

Как правильно сообщать об ошибках (Баг-репорт)

Если вы нашли проблему, не пишите разработчику: «Тут не работает».

Пишите как тестировщик:

  • Заголовок: Кратко, например: «Ошибка оплаты через bePaid при использовании карты Белкарт».
  • Шаги воспроизведения:
    • Положить товар в корзину.
    • Перейти в оформление.
    • Выбрать оплату картой.
    • Ввести данные карты Belkart.
  • Ожидаемый результат: Переход на шлюз банка, успешная оплата.
  • Фактический результат: Ошибка «Неверный формат карты», оплата не проходит.
  • Окружение: iPhone 13, Safari, iOS 17, Минск, оператор А1.
  • Скриншот/Видео: Обязательно приложите!

Финальный чек-лист функциональной приемки

Перед тем как подписать акт, пройдитесь по этому списку:

  • Каталог: Фильтры, поиск, сортировка работают корректно.
  • Товар: Цены в BYN, наличие отображается верно, фото грузятся.
  • Корзина: Считает сумму, промокоды работают, товары сохраняются.
  • Оформление: Валидация полей (телефон +375...), расчет доставки (Белпочта/Курьер).
  • Оплата: Тестовый платеж прошел, чек пришел, статус заказа обновился.
  • Уведомления: Письма клиенту и менеджеру приходят вовремя и без ошибок.
  • Личный кабинет: История заказов видна, пароль восстанавливается.
  • Админка: Удобно менять статусы, цены, остатки.
  • Краш-тест: Двойные клики не создают дубли заказов, прямые ссылки защищены.
  • Мобильная версия: Весь функционал доступен и удобен на смартфоне.

Совет напоследок

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

Помните: запуск сайта с багами — это нормально (идеального софта не бывает), но запуск сайта с багами в оплате и корзине — это преступление против вашего бизнеса.

Удачи с запуском! Пусть ваш магазин работает как швейцарские часы (или как надежный белорусский трактор).



Другие новости



Cookies
Мы используем cookies для корректной работы сайта и улучшения пользовательского опыта. Нажимая кнопку «Принять», вы даете согласие на их обработку в соответствии с Политикой обработки файлов cookie и Политикой в отношении обработки персональных данных.
Политика в отношении обработки cookies

Настройте параметры использования файлов cookie

Вы можете настроить использование каждого типа файлов cookie, за исключением типа «технические (обязательные) cookie», без которых невозможно корректное функционирование сайта. Сайт запоминает Ваш выбор настроек на 1 год.

Перед тем как совершить выбор настроек параметров использования файлов cookie Вы можете ознакомиться с Политикой обработки персональных данных, а также со списком файлов cookie, содержащим их описание и сроки хранения.

Внимание: Отключение аналитических cookie файлов не позволяет определять предпочтения пользователей сайта, в том числе наиболее и наименее популярные страницы.