> For the complete documentation index, see [llms.txt](https://vladislaveremeev.gitbook.io/qa_bible/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vladislaveremeev.gitbook.io/qa_bible/testirovanie-v-raznykh-sferakh-oblastyakh-testing-different-domains/testirovanie-internet-magazina-ecommerce.md).

# Тестирование интернет-магазина (eCommerce)

e-commerce (также известная как электронная коммерция или интернет-торговля) относится к покупке или продаже товаров и услуг в Интернете, а также к передаче денег и данных для завершения транзакции.

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

* Модель «бизнес для бизнеса» (B2B);
* Модель «бизнес для клиента» (B2C);
* Модель «клиент для клиента» (C2C);
* Модель «клиент для бизнеса» (C2B);
* Модель ««клиент для администрации» (C2A).

**1. Кейсы для Домашней страницы**

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

Примеры:

* Время загрузки страницы должно быть в допустимых пределах;
* Главное изображение должно автоматически прокручиваться в течение заданных интервалов времени;
* Является ли изображение героя (?hero image) кликабельным? Если да, перенаправляет ли оно на нужную страницу?
* Кнопка регистрации/входа должна быть видна и легко находима;
* Ссылки на главной странице должны перенаправлять на нужную страницу;
* Верхняя навигация, гамбургер-меню, категории, подкатегории должны быть четко перечислены;
* Цветовая кодировка на главной странице должна соответствовать информации о бренде;
* Базовый поиск по ключевым словам должен вести к соответствующим товарам.

**2. Кейсы для поиска**

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

Тестировщики должны сосредоточиться на том, является ли релевантным товар, найденный с помощью поиска.

Примеры:

* Соответствующие товары должны отображаться при вводе ключевых слов, таких как название товара, название бренда или название категории, например iPhone, ноутбук, лучшие книги по тестированию программного обеспечения;
* Прямые совпадения или сопутствующие товары должны отображаться при поиске по определенному ключевому слову;
* Результаты поиска должны отображать название товара, изображение, отзыв клиента и информацию о цене;
* Когда для поиска используется страница определенной категории, должны отображаться результаты из соответствующей категории;
* В верхней части списка всегда должны быть самые актуальные товары;
* Даже если товар указан в нескольких категориях, он должен появляться в результатах поиска только один раз;
* Когда в ключевом слове, введенном в строку поиска, есть опечатка, должны быть перечислены предложения;
* Для отображения на странице должна быть возможность выбрать количество результатов;
* Для многостраничных результатов должна быть доступна навигация ;
* Для сортировки результатов по названию бренда, цене, отзывам или рейтингам и т. д. должны быть доступны параметры сортировки;
* Проверьте функциональность фильтра, отфильтровав товары по бренду, доступности, цене, рейтингу клиентов и т. д.;
* Проверьте функцию сортировки, отсортировав товары по популярности, релевантности, цене от высокой к низкой, от низкой к высокой и т. д.;
* Проверьте, добавление элемента в избранное / список желаний;
* Проверьте функцию «Добавить в сравнение».

**№3. Страница сведений о товаре**

Страница сведений о товаре - это место, где начинается процесс оформления заказа. На странице сведений о товаре больше всего сведений, собранных на одной странице. Легко погрузиться в исчерпывающее тестирование на одной странице, не видя общей картины.

Тестировщик должен сосредоточиться на качестве изображения, кнопке «Купить» или «Добавить в корзину», отзывах клиентов, деталях цены и т. д.

Примеры:

* Детали контента, такие как название товара, описание, изображение, информация о цене (скидки, если доступны), вопросы и ответы должны быть видны;
* Звезды отзывов клиентов и текст отзыва должны быть доступны;
* Кнопку «Добавить в корзину» должно быть легко найти;
* Проверьте функцию «Добавить в корзину»;
* “Похожие товары” или “клиенты также купили” этот раздел должен быть видимым;
* Изображения товаров должны иметь возможность масштабирования;
* Страница отображения товара должна быть одинаковой на всех устройствах;
* Наличие товара должно быть точным, если его нет в наличии, должно появиться соответствующее сообщение;
* Селекторы количества товара, размера, цвета и т.п. должны быть доступны и работать должным образом;
* Товар должен быть добавлен в корзину при нажатии кнопки «Добавить в корзину».

**4. Рекомендуемые товары**

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

Тестировщик должен сосредоточиться на релевантности рекомендуемого товара приобретаемому товару.

Примеры:

* Рекомендуемые товары должны быть видны сразу после покупки;
* Рекомендуемые товары должны иметь отношение к покупке, совершенной клиентом.

**5. Платежи**

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

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

Примеры:

* Платежный поток (Payment flow) должен работать для всех различных вариантов оплаты;
* Сохраненный способ оплаты должен быть доступен в процессе оформления заказа;
* Варианты оплаты, такие как Visa, Mastercard, Paypal, UPI, должны быть видны с их логотипом;
* Применяемые дополнительные предложения или коды скидок должны снизить цену покупки;
* Конфиденциальные данные, такие как пароли, CVV, OTP и т. д., не должны сохраняться после завершения покупки;
* Выполнение тестов безопасности является обязательным при хранении данных кредитных карт клиентов или любой другой личной информации;
* При оформлении заказа в качестве гостя процесс покупки должен проходить гладко и позволить гостю зарегистрироваться после оплаты;
* Должны происходить безопасные транзакции, и после оплаты клиенту должно быть предложено вернуться в приложение/сайт электронной коммерции;
* Идентификатор транзакции и детали, связанные с платежом, должны быть сохранены вместе с деталями заказа;
* Выполните тестовый платеж, используя каждый способ оплаты;
* Убедитесь, что платеж обрабатывается правильно, используя все виды способов оплаты, таких как дебетовая карта, кредитная карта, интернет-банкинг, PayPal и т. д.;
* Подтвердить недействительный платеж;
* Подтвердить отмену заказа.

**6. Корзина**

Функция «Корзина» - одна из важных функций веб-сайта электронной коммерции, поскольку она помогает покупателю добавлять товары для покупки из разных частей сайта и покупать их вместе. Функциональность корзины является важной частью процесса оформления заказа.

Тестировщик должен сосредоточиться на сложных расчетах на основе временных рамок, основанных на рекламных предложениях, кодах скидок, ваучерах и т. д.

Примеры:

* Функции оформления заказа должны работать должным образом;
* При нажатии на кнопку «Купить» товар должен быть добавлен в корзину, а затем должна отображаться кнопка «Продолжить покупки» вместе с кнопкой «Перейти к покупке»;
* Если количество товара больше одного, цена и количество должны измениться соответственно;
* Такие детали, как стоимость доставки, налоги, должны отображаться вместе с ценой товара;
* Должен быть четкий вариант удаления товара из корзины;
* Цена заказа должна обновляться, когда покупатель добавляет/удаляет новый товар в/из корзины;
* Покупатели должны иметь возможность добавлять товары в корзину из любой категории магазина;
* Добавление товара в корзину;
* Удаление товара из корзины;
* Изменение количества товара;
* Изменение варианта доставки;
* Правильность суммирования НДС и стоимости доставки;
* Pay Now test cases;
* Процесс оформления заказа;
* Оформление заказа и оплаты;
* Проверьте окончательную сумму к оплате - убедитесь, что это значение правильное, после цены товаров, НДС, доставки и любых других сборов;
* Внесите изменения в заказываемые товары, изменив варианты доставки и т. д., и убедитесь, что окончательная сумма обновляется правильно.

**7. Кейсы после заказа** (Post-Order)

Пост-заказ обычно представляет собой последующую сессию после того, как клиент приобрел товар. Обычно это включает в себя сведения о подтверждении заказа, e-mail о покупке, отслеживании заказа, сведениях о доставке и процедуре возврата.

Тестировщик должен сосредоточиться на важных аспектах post-order use cases, таких как отмена заказа, возврат товара, детали отслеживания, сводные данные заказа и т. д.

Примеры:

* Клиенты должны получать сообщения о подтверждении заказа в SMS/Mail;
* Клиенты должны иметь возможность отменить заказ;
* Отмена заказа и возврат должны указать причины отмены/возврата товара;
* Идентификатор заказа и детали, указанные в сводке, должны быть одним и тем же набором записей;
* Клиенты должны иметь возможность просматривать историю прошлых покупок;
* Кейсы возврата платежа;
* Проверьте, успешно ли отправляются письма с подтверждением возврата получателю;
* Клиенты должны иметь возможность отслеживать заказ.

**8. Общие Кейсы**

Общие кейсы для веб-сайтов/приложений электронной коммерции должны иметь надлежащее подробное покрытие и должны быть продуманно составлены. В частности, базовый пользовательский интерфейс, функциональность входа в систему, простота навигации по категориям, общий рабочий процесс и т. д. будут подпадать под общие тестовые примеры.

Примеры:

* Интернационализация и локализация;
* Вводящий в заблуждение, оскорбительный или незаконный контент;
* Роялти-фри изображения и нарушение авторских прав;
* Функциональность персонализации;
* Пользователи должны иметь возможность перемещаться по всем товарам в разных категориях на всех устройствах;
* Ссылки и баннеры на сайте должны перенаправлять в соответствующие места, ни одна ссылка не должна быть битой;
* Логотип и название интернет-магазина должны быть видны;
* Перечисленные категории должны иметь последовательный шаблон, а текст должен быть легко понятным;
* Подсчет общего количества товаров, перечисленных на страницах категорий, должен быть точным;
* Регистрация пользователя - Вход/Регистрация;
* Срок действия сеанса - если пользователь неактивен в течение длительного времени, система должна автоматически выйти из него;
* Проверьте страницу моей учетной записи и функции управления профилями;
* Проверьте тестирование пользовательской базы для клиентов, продавцов, супер администраторов, администраторов, сотрудников службы поддержки и т. д.;
* Backend to Frontend integration testing;
* Проверка работоспособности в нужных браузерах и их версиях;
* Проверка работоспособности при наличии расширений браузера, например, блокировщиков рекламы;
* Проверьте такие страницы, как «О нас», «Информация о доставке», «Политика возврата», «Положения и условия», «Политика конфиденциальности» и т. д.;
* Скидки или промо-коды должны быть введены правильно.

**9. Чек-лист SEO**

Каждый владелец сайта электронной коммерции ожидает, что его товары должны показываться в верхней части результатов поисковой выдачи Google, когда пользователь ищет определенный товар. Только магазин электронной коммерции с надлежащим SEO может попасть в топ поисковой выдачи.

Примеры:

* Проверьте структуру URL-адресов;
* Проверьте уникальные теги заголовков для каждой страницы и страницы товара;
* Теги Title должны включать название товара и категорию;
* Проверьте тег мета-описания для каждой страницы и страницы товара;
* Проверьте наличие файла robots.txt;
* Убедитесь, что к изображениям добавлен alt text;
* Проверьте внутренние ссылки, чтобы облегчить индексацию;
* Проверьте наличие XML-карты сайта.

**Функции, которые должны быть протестированы в интернет-магазине**

Успех сайта электронной коммерции зависит от двух ключевых факторов: функциональности и удобства использования. Если электронная коммерция удобна для пользователя и к ней легко получить доступ с разных устройств, больше пользователей будут использовать магазин, что приведет к продажам. Думая с точки зрения пользователя, будет ли пользователь выполнять денежную транзакцию на сайте, в котором много ошибок? Таким образом, успех любого магазина электронной коммерции зависит от его качества.

Тестировщик должен убедиться, что каждая функция, представленная в списке ниже, тщательно протестирована:

* **Функциональность веб-сайта для разных пользовательских сценариев**: сайты для электронной коммерции могут иметь разные типы пользователей, такие как авторизованные и неавторизованные пользователи, продавцы, курьеры, торговые представители, менеджеры магазинов, аффилированные маркетологи и многие другие, в зависимости от типа бизнеса. Команда тестирования должна обеспечить охват каждого пользовательского сценария и варианта использования их функциональности;
* **Рабочий процесс приложения** (Application Workflow): приложения электронной коммерции должны иметь четко определенные рабочие процессы, которые должны быть подробно описаны в требованиях. У клиентов должен быть положительный пользовательский опыт, поскольку мы проверили бы рабочий процесс с точки зрения пользователя. Рабочий процесс состоит из входа/регистрации, поиска, сортировки, фильтрации, страницы описания товара, корзины, оформления заказа, платежного шлюза, подтверждения заказа и т. д.;
* **Совместимость с веб-браузерами**: веб-сайты электронной коммерции должны работать в любом браузере, т. е. магазин должен быть стабильным и совместимым с различными браузерами. Браузеры, такие как Chrome, Firefox, Safari, Edge, Internet Explorer, Opera и т. д., должны работать одинаково, функции и возможности магазина электронной коммерции должны быть одинаковыми во всех браузерах;
* **Мобильное тестирование** (Mobile Responsiveness): в наши дни веб-сайты электронной коммерции получают больше трафика с мобильных устройств, чем с настольных платформ, поэтому самое время начать тестировать наше приложение на мобильных устройствах с разными разрешениями, чтобы удовлетворить требования клиентов. Мы должны проверить отзывчивость дизайна веб-сайта, а также его удобство использования и функциональность;
* **Тестирование производительности**: для приложения электронной коммерции тестирование производительности необходимо для достижения идеальной функциональной и технической производительности. Тестирование производительности выявляет ошибки, которые могут быть не обнаружены при других видах тестирования. Тестировщик должен попробовать различные виды тестирования, такие как нагрузочное тестирование, стресс-тестирование, пиковое тестирование, тестирование на выносливость, объемное тестирование и т. д., поскольку все эти тесты будут полезны для оценки пропускной способности веб-сайта, емкости, особенно во время праздников и акций. Тестирование производительности включает тестирование различных параметров, таких как скорость загрузки веб-страницы, устойчивость к нагрузке трафика, пропускная способность, скорость передачи данных, эффективность, производительность базы данных, обработка ошибок, время безотказной работы и многое другое;
* **Оценка безопасности и уязвимости**: на веб-сайтах электронной коммерции есть конфиденциальная информация о пользователе, такая как имя, возраст, дата рождения, а также адрес, банковские реквизиты и многое другое. Таким образом, тестирование безопасности имеет наивысший приоритет в тестировании электронной коммерции. Для проверки уязвимостей системы используются различные методологии, такие как SQL Injection, SAST, DAST, этический взлом и т. д. Если будут обнаружены баги, связанные с безопасностью приложения, это может привести даже к провалу бизнеса;
* **Интеграция с социальными сетями**: веб-сайты электронной коммерции для интеграции с социальными сетями невероятно полезны, поскольку социальные сети являются мощным инструментом для привлечения и создания сообщества вокруг бренда. Электронная коммерция использует возможности социальных сетей с помощью параметров социальных сетей, виджетов социальных сетей, обратной связи в социальных сетях, перенаправления рекламы в социальных сетях в магазины электронной коммерции и многого другого. Эти интеграции согласованы с архитектурой веб-сайта и рабочим процессом для наилучшей стратегии;
* **Аспекты, связанные с SEO**: сайты электронной коммерции должны иметь высокую видимость в поиске, чтобы привлечь трафик на сайт. Тестировщик должен проверить, размещены ли стратегии SEO, такие как теги заголовков, метаописания, структура URL-адресов, альтернативные теги изображений и т. д., таким образом, чтобы клиент мог легко найти веб-сайт.

**Проблемы тестирования электронной коммерции**

* Веб-сайт / приложение электронной коммерции постоянно меняется и развивается во время распродаж, праздников, рекламных предложений, поэтому каждые 3 месяца будет новое изменение пользовательского интерфейса с дополнительными функциями, что может стать препятствием для разработчиков и тестировщиков. Постоянные изменения на сайте делают автоматизацию невозможной;
* Обычно веб-сайты электронной коммерции интегрируются со сторонними веб-сайтами, эта интеграция затрудняет сквозное тестирование, когда сторонний сайт не работает, может потребоваться некоторое время, чтобы выяснить, связана ли проблема с нашим сайтом;
* Во время сезонов распродаж, таких как Черная пятница и Киберпонедельник, бизнес всегда недооценивает количество пользователей сайта, это связано с плохим тестированием производительности или людьми, которые не уделяют много внимания тестированию производительности;
* Предпочтения клиентов время от времени меняются, не все используют веб-сайт в точном соответствии, отследить каждую покупку и сохранить их поведение может быть сложно;
* Удобство использования веб-сайта очень субъективно, новичку может понадобиться обучающий виджет, чтобы понять, как работает сайт, тогда как опытный покупатель может счесть их ненужными, удобство использования и пользовательский опыт различаются, контекст удобства для пользователя меняется в зависимости от пользователя, поэтому трудно гарантировать эффективность нашего юзабилити-тестирования;
* Группа тестирования может понимать требования к программному обеспечению и реализуемые функции, но не обязательно понимать бизнес-модель и ее требования;
* Команда тестирования должна сосредоточиться на изменении тестовых случаев и среды автоматизации, поскольку веб-сайт продолжает развиваться более быстрыми темпами;
* Тестировщик создает новую среду каждый раз, когда технология развивается;
* Чтобы проверить все детали, стоимость доставки, налоговые реквизиты и данные кредитной карты должны быть выданы команде тестирования;
* Взлом и вторжение довольно распространены для новых веб-сайтов, но надлежащие инструменты и средства для этих инструментов не всегда предоставляются бизнесом;
* Несмотря на то, что сайт электронной коммерции может показаться пользователю простым, он имеет очень сложную интеграцию;
* Регрессионные наборы должны запускаться как в автоматическом, так и в ручном режиме, чтобы проверить влияние обновлений;
* Возможность автоматического тестирования очень низкая, поскольку электронная коммерция имеет динамическую среду, но ручное тестирование может занять много времени и есть вероятность человеческой ошибки.

Источники:

* [eCommerce Testing Guide: How To Test An E-commerce Website](https://www.softwaretestingmaterial.com/ecommerce-testing/)

Доп. материал:

* [Кейсы для корзины интернет-магазина](https://testitquickly.com/2011/02/01/ferim-ar-doamne-de-cekauturi/)
* [Тестируем интернет-магазин](https://www.youtube.com/watch?v=2QKdhZ0Xr04)
* [Чеклист: 217 пунктов для отличного интернет-магазина](https://vc.ru/marketing/52090-cheklist-217-punktov-dlya-otlichnogo-internet-magazina)
