Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Автоматизация тестирования интернет-магазина


(Evoyager) #1

Приветствую. Подскажите, как автоматизировать тестирование интернет-магазина?
К примеру, этого: http://santehopt-perm.ru/
Какие есть хорошие автокликеры, верификаторы безопасности, программы для нагрузочного тестирования?
Или может вручную это стоит делать? Как вообще происходит тестирование интернет-магазинов?


(sidelnikovmike) #2

Вообще это очень непростой вопрос.
У разных компаний процесс тестирования происходит по разному. Тут невозможно ответить так просто - что нужно, а что не нужно. Необходимы знания о системе, о развитии магазина(сайт за час без поддержки, или разрабатываемый большой сервис и будущим глобальным развитием).

Если понять , как построить процесс тестирования - можно думать и об автоматизации. Но тут опять же - необходимо знать структуру приложения. А вот дальше - уже можно думать и об инструментах.


(Dmitry Cheremushkin) #3

Здравствуйте. Вопрос действительно не такой простой. :smile:

По каждой теме (функциональность / безопасность / нагрузка) можно отдельную статью написать.


Предлагаю следующий подход (в общем виде, для функционального UI-тестирования):

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

Пример: найти товар текстовым поиском > положить его в корзину > открыть корзину > пройти все шаги оформления и оплаты покупки (и аналогично для авторизованного пользователя)

> На первом шаге не нужно тратить на это много времени — достаточным даже будет использование Selenium IDE. Тут важно как можно скорее получить тест, определяющий текущее состояние системы.
  1. Выделить в системе функциональные возможности, при этом, если возможно, учитывая архитектуру системы.

Пример:

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

     — Информация о товаре
       - переход со списка товаров
       - переход через поиск
       - проверка осн. элементов страницы

     — Корзина покупок
       - все способы добавление товаров в корзину
       - изменение количества / удаление товаров
       - пересчёт цен

     — Оформление и покупка товара
       - переход с корзины
       - другие способы перехода на страницу (если имеются)
       - выбор способа доставки
       - оплата товара
       - комбинации способов доставки и оплаты
       - статус оплаты / заказа
       - быстрая покупка, разница для авт. пользователя

     — Мой профиль, Мои покупки, Справка и др. функции (по аналогии)
  1. Расставить приоритеты и начать автоматизацию. Как правило, сначала автоматизируются смоук-тесты для ‘всех’ функций системы, затем обеспечивается более полное покрытие тестами.

По инструментам — для UI-тестов в большинстве случаев используется Selenium. Однако возможны и альтернативы, в зависимости от платформы Интернет-магазина (к примеру, ATG DUST для Oracle ATG).


В целом + особенности:

  • недостаточно проверить, что значения на UI отображаются — они должны сравниваться со значениями из внутренней базы или API-ответов;
  • используются различные базы с разными данными;
  • часто используются стабы и заглушки (например, из инструментов — Mockito);
  • дополнительно проверяются скидки, комбинации цветов и размеров товара и др. (если такой функционал присутствует)

(Evoyager) #4

anym0us, спасибо за подробный комментарий. Насчет автоматизации, видимо это действительно не так просто сделать. Может и не нужна она вовсе? Стоит задача просто протестировать этот интернет-магазин. Попереходил по ссылкам, зарегистрировался, побродил по личному кабинету, нашел там одну багу. А так вроде все ок. Может автоматизированное тестирование поможет найти еще проблемы. Это проект с фриланса. Там люди нашли много багов, стало интересно как они это сделали. Хочу научиться тестировать подобные интернет-магазины.


(Jane Tymoschuk) #5

Я думаю в данном случае нужно начать с теории тестирования
начинать наверное стоит с книги Савина “Тестирование DOT COM или Пособие по жестокому обращению с багами в интернет-стартапах”, тогда могут появиться более конкретные вопросы


(Evoyager) #6

Ок, спасибо за советы. Буду читать книги.


(Oleksandr Khotemskyi) #7

Фриланс хороший подход в этом случае - получится качественней и быстрей чем тестировать с нуля без подготовки.

А по поводу автотестов - автотесты в основном нужны для регрессионного тестирования, я не думаю что пройдя кейс руками а потом написав на него автотест можно найти больше багов автотестом.