# Тестирование интернет-магазина (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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vladislaveremeev.gitbook.io/qa_bible/testirovanie-v-raznykh-sferakh-oblastyakh-testing-different-domains/testirovanie-internet-magazina-ecommerce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
