Карточка товара
Проверяем выбранный вариант, обязательные опции, доступность кнопки, JavaScript и данные, отправляемые при добавлении.
Путь к заказу
Проверяем добавление товара, сохранение состояния, пересчёт суммы и переход к оформлению. Исправляем конкретный этап и тестируем покупку на мобильном устройстве, без авторизации и с реальными вариантами товара.
Состояние покупки
Корзина связывает интерфейс, каталог, остатки, цены, сессию и оформление. Сообщение в браузере не доказывает изменение серверного состояния, поэтому проверяем запрос и итоговый расчёт на стороне магазина.
Проверяем выбранный вариант, обязательные опции, доступность кнопки, JavaScript и данные, отправляемые при добавлении.
Фиксируем адрес, метод, статус, ответ сервера, идентификатор товара и причину отказа без изменения рабочих данных.
Сравниваем гостя и пользователя, домен, HTTPS, срок cookie, кэш и сохранение между страницами и устройствами.
Проверяем актуальную цену, количество, вариант, склад, округление и повторный серверный расчёт перед заказом.
Тестируем промокоды, пороги, несовместимые акции, способы доставки и изменение суммы при смене региона.
Проверяем передачу состава заказа, обязательные поля, оплату, аналитику и отсутствие дубля при повторном клике.
Результат
Состав корзины сохраняется между страницами и пересчитывается предсказуемо.
Цена, скидка, количество и доставка подтверждаются сервером.
Добавление, начало оформления и заказ фиксируются без ложных событий.
Контрольные сценарии
Ошибка может зависеть от варианта товара, промокода, мобильного браузера или авторизации. Тестовая матрица строится по реальным правилам магазина.
Добавляет товары и сохраняет корзину без учётной записи.
Входит в аккаунт без потери или неожиданного удвоения позиций.
Количество, удаление и варианты корректно меняют итог.
Недоступный остаток и неверный промокод объясняются до оплаты.
Важно
Кэш действительно может смешивать персональное состояние, но полное отключение ухудшит скорость. Исключаем только динамические ответы и исправляем конкретный конфликт сессии.
Тестовые заказы и оплату проводим только в безопасном режиме и без реального списания средств.
Путь товара
Корзина хранит вариант товара, количество, цену, скидку и связь с пользователем. Сбой одного поля проявляется по-разному на гостевом и авторизованном сеансе, поэтому проверяем весь маршрут.
Смотрим обработчик кнопки, сетевой запрос и ответ сервера. Проверяем ID товара и варианта, остаток, минимальное количество и сообщение об ошибке. Кнопка не должна молча игнорировать отказ.
Сверяем cookie, сессию и серверное хранилище. Корзина не должна очищаться при переходе между HTTP и HTTPS, www и основным доменом либо после входа в аккаунт.
Окончательную цену рассчитывает сервер. Тестируем изменение количества, промокод, доставку, округление, налог и товар, цена которого изменилась после добавления.
Проверяем обязательные поля, резерв остатка и создание заказа при двойном клике. Повторный запрос не должен списывать товар или создавать копию заказа.
Матрица проверки
После исправления собираем контрольные корзины для гостя и авторизованного клиента. Добавляем простой товар и вариант, меняем количество, применяем скидку, возвращаемся после перезагрузки и переходим к оформлению с телефона. Сумма на карточке, в корзине и заказе должна совпасть. Кэш исключаем для персональных данных корзины.
После восстановления
Сравниваем добавления товаров, открытия корзины и переходы к оформлению. Рост добавлений без просмотров корзины указывает на интерфейсный сбой; просмотры без оформления требуют проверки пересчёта, доставки и сообщений об остатках.
В журнал не записываем персональное содержимое корзины целиком. Достаточно технического ID сеанса, кода ошибки и состава правил расчёта. После обновления CMS повторяем контрольную матрицу для гостя и пользователя, потому что изменения cookie и кэша часто возвращают проблему.
Пограничные случаи
Обычный товар с количеством один проходит даже при неполной реализации. Ошибки проявляются на вариантах, остатках, скидках и изменении данных между двумя запросами.
Если остаток закончился после добавления, корзина показывает позицию и предлагает изменить количество либо удалить её. Оформление не должно уходить в бесконечную загрузку.
Сервер пересчитывает итог перед заказом и сообщает об изменении. Цена из localStorage или скрытого поля не используется как источник истины.
Проверяем совместимость промокода, персональной цены, комплекта и бесплатной доставки. Правило должно одинаково работать в корзине, заказе и кассовом чеке.
Для диагностики подготовьте тестовый товар с вариантами, промокод и правила доставки. Не очищайте все кэши одновременно: это скрывает источник и создаёт нагрузку. Мы сбрасываем только слой, который содержит устаревшее состояние, и записываем способ повторения ошибки.
Вопросы
Проверяем JavaScript, запрос API, вариант, остаток, сессию и серверный обработчик.
Причиной может быть cookie, смена домена или HTTPS, кэш либо конфликт авторизации.
Окончательный расчёт выполняется сервером по актуальным ценам, остаткам и правилам.
Гость, пользователь, мобильная версия, варианты, промокоды, количество и оформление.
Первый шаг
Пришлите URL, устройство и последовательность действий. Определим, какой этап корзины нужно проверить первым.