5. Интернет-магазин
Цель
Trailhead Shop — интернет-магазин снаряжения для экспедиций: палатки, спальники, термосы, ножи, верёвки, горелки, фонари и рюкзаки. Ваша задача — проверить весь путь покупателя, от поиска в каталоге до оформления заказа и отслеживания его статуса, на соответствие требованиям ниже и найти все баги и проблемы удобства.
Требования
Общие:
- Магазин доступен на русском и английском. Цены в обеих версиях — в долларах США ($).
- Смотреть каталог и страницы товаров может любой. Чтобы положить товар в корзину или избранное и оформить заказ, нужно войти.
- Все данные (пользователи, корзины, заказы, отзывы, остатки) хранятся в вашем браузере. Кнопка Сбросить магазин в меню Realbugz (круглая кнопка «Rb» в левом верхнем углу магазина) удаляет их и возвращает исходные остатки. Там же — ссылка на эти требования, они открываются в отдельной вкладке.
- Все страницы удобны на телефоне (ширина экрана от 360 px), без горизонтальной прокрутки. На телефоне фильтры спрятаны под кнопку Фильтры, а навигация — под кнопку меню.
- В шапке магазина: логотип (ведёт в каталог), поиск, Избранное и Корзина со счётчиками, Войти или имя пользователя (ведёт в личный кабинет).
Каталог:
- В каталоге 64 товара в 8 категориях.
- Карточка товара: фото, название, цена (и старая цена зачёркнутой, если есть скидка), рейтинг, кнопка В корзину и кнопка избранного.
- Товары, которых нет в наличии, отмечены «Нет в наличии», их нельзя положить в корзину.
- Поиск — по названию товара, без учёта регистра, пробелы в начале и в конце не учитываются, минимум 2 символа. Если ничего не найдено — сообщение «Ничего не найдено».
- Фильтры: категория (можно выбрать несколько), цена от / до (целые числа от 0, «от» не больше «до»; границы включительно — товар с ценой ровно на границе показывается), «Только в наличии».
- Сортировка: по популярности (по умолчанию), сначала дешёвые, сначала дорогие, по названию А–Я, по рейтингу.
- Поиск, фильтры и сортировка работают вместе. По 12 товаров на странице, внизу номера страниц.
- После возврата со страницы товара фильтры, сортировка и номер страницы сохраняются.
- Если гость нажимает В корзину или кнопку избранного, открывается страница входа; после входа пользователь возвращается туда, где был.
Страница товара:
- Хлебные крошки: Каталог → Категория → Товар.
- Фото, название, категория, цена, описание и характеристики.
- Наличие: «В наличии: N шт.» или «Нет в наличии».
- Количество: от 1 до 10, но не больше остатка.
- Повторное нажатие на кнопку избранного убирает товар из избранного.
- Отзывы: оценка от 1 до 5 звёзд и текст 10–500 символов (пробелы в начале и в конце не считаются). Оставить отзыв может только вошедший пользователь, один отзыв на товар. Средний рейтинг показывается с одним знаком после запятой, рядом — число отзывов.
Регистрация и вход:
- Имя: 2–30 символов, буквы (латиница и кириллица), пробел и дефис.
- Email: правильный формат, уникальный (без учёта регистра).
- Пароль: 8–20 символов, хотя бы одна буква и одна цифра. Есть кнопка Показать.
- Подтверждение пароля должно совпадать с паролем.
- Галочка «Я согласен с условиями использования» обязательна.
- Ошибки показываются под полем сразу после ухода с него. После регистрации пользователь сразу вошёл.
- При неверном email или пароле — сообщение «Неверный email или пароль» (без уточнения, что именно неверно).
- Вход сохраняется после закрытия вкладки, пока пользователь не нажмёт Выйти.
- У каждого пользователя свои корзина и избранное: после выхода их не видно, после входа они возвращаются.
Корзина:
- В строке: фото, название, цена за штуку, количество (кнопки − / + и поле), сумма строки и кнопка Удалить.
- Количество: от 1 до 10 и не больше остатка. При попытке указать больше — сообщение «Не больше 10 шт. одного товара в одни руки» или «Доступно только N шт.».
- Добавление товара, который уже есть в корзине, увеличивает его количество (с теми же лимитами).
- В пустой корзине — сообщение и ссылка в каталог.
- Стоимость доставки рассчитывается при оформлении. Все суммы округляются до центов.
Промокоды:
- Один промокод на заказ. Регистр букв не важен, пробелы в начале и в конце не учитываются.
TREK10— скидка 10%, только на товары без скидки.SAVE15— скидка $15, если сумма товаров от $100.FREESHIP— бесплатная доставка курьером (не экспресс).SUMMER24— истёк: показывается сообщение «Срок действия промокода истёк».- Неизвестный код — сообщение «Промокод не найден».
Оформление заказа:
- Получатель (подставляется имя из профиля), телефон («+» и 10–15 цифр), город (2–50 символов), улица и дом (3–100 символов), индекс (5–6 цифр) — обязательные; комментарий для курьера — до 200 символов, необязательный.
- Доставка: самовывоз — $0; курьер — $10, бесплатно, если сумма товаров после скидки от $150; экспресс — всегда $25.
- Оплата: «Картой онлайн» или «При получении».
- Один клик по Оформить заказ создаёт ровно один заказ. Заказ получает номер вида
RB-10001(по порядку), корзина очищается, промокод сбрасывается, остатки товаров уменьшаются. - Оплата картой — на странице заказа, пока статус «Ожидает оплаты»: номер карты из 16 цифр, срок действия ММ/ГГ не в прошлом, CVV из 3 цифр. Используйте тестовую карту 4242 4242 4242 4242.
Статусы заказа:
- «Ожидает оплаты» — сразу после оформления с оплатой «Картой онлайн».
- «Оплачен, собирается» — после оплаты картой или сразу после оформления с оплатой «При получении».
- «Отправлен» — после «Оплачен, собирается», когда заказ уходит со склада.
- «Доставлен» — после «Отправлен», когда курьер доставил заказ.
- «Отменён» — пользователь нажал Отменить заказ; остатки возвращаются. Отменить заказ можно только до отправки.
- На странице заказа — история статусов с датой и временем.
Личный кабинет:
- Профиль: имя можно изменить, email — нельзя. Смена пароля: текущий пароль, новый пароль, подтверждение.
- Мои заказы: номер, дата, сумма и статус; новые сверху. Клик по заказу открывает подробности.
- Избранное: список товаров, удаление, добавление в корзину.
Ожидаемый результат
Составьте подробный баг-репорт с чётко описанными проблемами, шагами воспроизведения, фактическим и ожидаемым результатом, скриншотами и оценкой влияния. Постарайтесь применить техники тест-дизайна: граничные значения, классы эквивалентности, таблицы решений и переходы состояний.
Особенности тренажёра:
Магазин создан только для обучения: ничего не продаётся, оплата не проводится. Всё, что вы вводите, — аккаунты, корзины, заказы, отзывы — сохраняется только в локальном хранилище вашего браузера (localStorage) и остаётся на вашем компьютере: никакие данные ни на какие серверы не отправляются. И всё же не вводите настоящие данные карт, почту и пароли.
В левом верхнем углу магазина — круглая кнопка «Rb», меню Realbugz. Через неё можно открыть эти требования в отдельной вкладке (удобно переключаться во время тестирования), кнопка Сбросить магазин удаляет все сохранённые данные и возвращает исходные остатки, а ← Вернуться на Realbugz ведёт на главный сайт.
Настоящих склада и курьера нет — магазин их имитирует. Заказ становится «Отправлен» через 15 минут после «Оплачен, собирается», а «Доставлен» — через сутки после «Отправлен». Время берётся с часов вашего компьютера — чтобы проверить эти переходы без ожидания, переведите часы вперёд.