Автоматизированное тестирование сайта

Автоматизированное тестирование сайта
г. Минск, ул. Старовиленская, 100, 4 этаж, пом. 1

Зачем нужно тестирование?

Тестирование — это оценка того, что все части сайта ведут себя так, как и должны, например:

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

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

Но также существуют внешние факторы, влияющие на работоспособность сайта:

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

Под влиянием этих внешних факторов на сайте могут произойти поломки различного характера. На практике мы сталкиваемся с тем, что иногда проходят недели или месяцы до того момента, когда владелец сайта обнаружит эти поломки, всё это время теряя полезный трафик и заказы.

Очевидный выход из таких ситуаций и профилактика их возникновения — периодическое полноценное тестирование сайта.

Какое бывает тестирование?

Ручное тестирование — это проверка основных функций сайта вручную специалистом по тестированию.

Автоматизированное тестирование — это проверка функций, выполняемая с помощью специальных программ (фреймворков, приложений).

Плюсы и минусы

Ручное тестирование Автоматизированное тестирование
Плюсы
  • возможность быстрого внедрения и обратной связи
  • дешевле в короткой перспективе, т.к. для организации процесса тестирования не требуется сложных инструментов и знаний
  • нет возможности пропустить или не заметить ошибку, гарантия, что 100% ошибок будет найдено
  • полный процесс тестирования работоспособности всех сценариев сайта занимает пару минут
  • весь процесс можно записать — это экономит время, позволяя использовать и выполнять одни и те же операции повторно
  • сайт под контролем 24/7, исключен человеческий фактор
  • автоматический сбор полной статистики по выполненным тестам
  • гибкие настройки тестов: расписание, отчеты, уведомления
Минусы
  • человеческий фактор, возможность ошибок и неточностей
  • сложности в повторном воспроизведении и трансляции ошибок (специалисту по тестированию, как правило, приходится вручную описывать ошибки и прикреплять скриншоты)
  • рутинность и значительные затраты времени (например, заполнение полей в форме заказа на разных устройствах и в разных браузерах)
  • невозможность постоянного, круглосуточного контроля работоспособности сайта
  • настройка и поддержка осуществляется только специалистами по автоматизированному тестированию или программистами, т.к. подразумевает непосредственную работу с кодом

Выводы: Автоматизированное тестирование — единственный реальный способ контроля работоспособности сайта в режиме 24/7.

Что такое Cypress?

Для автоматизации процесса тестирования на данный момент существует множество инструментов. Один из самых популярных, простых и удобных — Cypress.

Cypress — универсальный JavaScript-фреймворк, запускаемый в браузере и способный выполнять любые виды тестов.

пример итоговой таблицы запуска тестов
Пример результатов запуска тестов

Преимущества Cypress

включают все основные преимущества автотестов, а именно:

  • исключен человеческий фактор (тесты запускаются и выполняются автоматически один за одним, исключена возможность пропустить/не заметить/забыть);
  • возможность тестирования сразу во всех популярных браузерах (Chrome, Safari, Firefox, Edge и др.);
  • быстрое исправление ошибок с использованием популярных инструментов (например, инструментов разработчика);
  • возможность взаимодействия с любыми объектами на странице (ссылки, кнопки, формы, cookie и т. д.);
  • во время выполнения тестов, создаются скриншоты и видео, которые показывают, что происходило на каждом шагу. Есть возможность посмотреть процесс тестирования в любой момент;
  • качественная документация с примерами популярных тестов.

Пример запуска автотеста на сайте qmedia.by

Что в итоге

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

Без должной проверки функционирования сайта не стоит запускать рекламные кампании. Может выйти так, что на сайте запущена реклама, вкладываются средства в SEO-продвижение, бюджет тратится, клиенты на сайт приходят, но заявок нет! А всё из-за того, что не правильно работают формы обратной связи, либо товары не добавляются в корзину, или сайт некорректно отображается в каком-то браузере. Заметить такие ошибки можно не сразу, а затраченные средства уже не вернуть. Тестирование поможет не допустить таких проблем и даст уверенность в их отсутствии.

В итоге тестирование:

  1. Экономит средства: без тестирования количество финансов и времени, необходимое для поддержки сайта, будет намного выше, чем вложения в тестирование. Кроме того, время специалиста, требуемое на полную проверку сайта выйдет дороже, чем настройка и поддержка автотестов, при этом автотесты исключают человеческий фактор и работают 24/7
  2. Обеспечивает безопасность: зачастую сайт создают, разрабатывают и поддерживают разные люди. Код сайта постоянно изменяется, решаются локальные проблемы, и часто нет гарантий, что эти изменения не приведут к поломке функционала в другом месте сайта. Наличие тестов делают этот процесс более безопасным и дает гарантию, что ничего не сломается.
  3. Повышает общее качество: уменьшает вероятность сбоев или ошибок в работе, поскольку тесты помогают написать качественный и надежный код, менее подверженный ошибкам.
  4. Делает развитие проще и надежнее: доработка сайта — это постоянный процесс. С течением времени требования к сайту изменяются, а значит и усложняется функциональность. Наличие хорошо написанных тестов, повышает надежность сайта, а значит уменьшает вложения в его развитие.

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

Узнать стоимость и условия

* — поля, обязательные для заполнения
г. Минск, ул. Старовиленская, 100, 4 этаж, пом. 1