11
Зачем тестировать сайт?

Зачем тестировать сайт?

Мы – агентство DIGIMATIX – занимаемся созданием, модернизацией и поддержкой сайтов для наших клиентов. Одним из этапов работы с сайтом является тестирование. Тестирование – это шаг, который стоит выполнять по завершении работ с сайтом, так как он позволяет найти ошибки, которые могут негативно повлиять на работу ресурса. В этой статье мы расскажем, что такое тестирование и какие его виды бывают, а также разберемся, какое тестирование лучше: автоматизированное или ручное.

Что такое тестирование сайта?

Тестирование сайта – это проверка страниц и бизнес-логики проекта разными способами:

  • проверкой качества страниц;

  • тестированием скорости загрузки; 

  • проверкой отображения на разных устройствах и в браузерах;

  • юзабилити-тестированием и другими. 

Главная цель тестирования – убедиться, что сайт отвечает заявленным требованиям клиента, и выявить ошибки, которые могут негативно повлиять на работу ресурса.

За тестирование сайта отвечает выделенный специалист – QA-инженер. Он должен проверить проект от начала до конца, прежде чем пускать его в работу. 

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

Мы определились, зачем нужно тестирование сайта. Теперь рассмотрим виды тестирования.

Виды тестирования

Существует 5 основных видов тестирования:

01.png

QA-инженер должен определить стратегию тестирования проекта и при необходимости добавить дополнительные виды тестирования в план работ. Далее подробнее поговорим об основных видах тестирования.

Тестирование юзабилити прототипа сайта

Данное тестирование проводится еще на этапе прототипирования сайта. UX-дизайнер и QA-инженер проверяют, насколько пользователю удобно использовать ресурс. Тестирование отвечает на следующие вопросы:

  • понятны ли основная цель сайта и его функционал;

  • удобна ли навигация для пользователя;

  • создается ли у пользователя положительное впечатление при использовании ресурса.

Сравнение сверстанных страниц с согласованными дизайн-макетами и тестирование верстки проекта

На втором этапе специалист соотносит «живые» и статические макеты. QA-инженер проверяет, правильно ли перенесены все элементы будущего сайта. 

Например:

  • наличие всех блоков и их расположение; 

  • стили и правила использования текстовых элементов: заголовки Н1-Н6, подзаголовки, нумерованные и маркированные списки, таблицы;

  • цветовые стили функциональных и нефункциональных объектов;

  • стили элементов взаимодействия и ввода-вывода информации: ссылки, кнопки, поля, таблицы, чекбоксы и радиокнопки.

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

  • просмотр сайта с разных браузеров и их версий;

  • просмотр правильности отображения страниц сайта на мониторах и экранах, имеющих разное разрешение;

  • проверка правильности отображения всех элементов сайта в разных браузерах и во всех их версиях, а также на всех типах разрешения экрана.

Функциональное тестирование

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

Например:

  • тестирование пользовательских форм;

  • тестирование навигации на соответствие и отсутствие неработающих ссылок;

  • проверка работоспособности поиска, а также релевантности результатов;

  • добавление, удаление, редактирование карточек товаров;

  • тестирование поиска и покупки товара.

Нагрузочное тестирование

Цель этого тестирования заключается в том, чтобы проверить и предотвратить неожиданную остановку работы ресурса в часы пик. Тестирование проводится с помощью специальных программ. Если скорость загрузки при нагрузке остается на уровне требуемых показателей, то тестирование считается пройденным. Мы на своих проектах, например, используем jmeter, а вы?

Тестирование безопасности сайта

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

Во время аудита безопасности тестируют:

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

А программу Acunetix Web Vulnerability Scanner мы используем для проведения тестирования безопасности.

Какое тестирование лучше: автоматизированное или ручное?

02.png

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

Поговорим о преимуществах и недостатках каждого вида тестирования подробнее.

Преимущества и недостатки автоматизированного тестирования:

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

  • Отсутствие человеческого фактора: программа не допустит ошибки по невнимательности.

  • Высокая скорость проверки. Программа за несколько минут может обработать тот же объем, на который у QA-инженера уйдет несколько часов.

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

  • Отчет о результатах проверки формируется автоматически.

Недостатки:

  • На разработку сценариев тестирования уходит большое количество времени. 

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

  • Для проведения автоматического тестирования у специалиста должна быть высокая квалификация.

  • Автоматическое тестирование выполняется строго по правилам, поэтому неожиданные ошибки, которые нашел бы специалист, программа не увидит.

Преимущества и недостатки ручного тестирования

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

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

  • Специалист может найти те ошибки, которые не нашла программа.

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

Недостатки:

  • Присутствует человеческий фактор и возможность допуска ошибки по невнимательности.

  • Ручное тестирование занимает больше времени, чем автоматизированное, при условии, что сценарии тестирования уже написаны.

Лучший вариант тестирования определяется исходя из задач проекта и планов его развития. 

Вместо вывода

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