Тестирование вашего сайта

Тестирование вашего сайта

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

Основные виды тестирования веб-сайтов:

  • Функциональное тестирование (Functional Testing).
  • Тестирования удобства и простоты пользования (Usability testing). 
  • Тестирование производительности (Performance Testing)
  • Тестирование интерфейса пользователя (UI testing)
  • Тестирование безопасности.

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

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

Типы функциональных тестов:

Модульное тестирование

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

Компонентное тестирование.

Как и модульное тестирование проверяет отдельные части программного продукта, но в формате черного ящика.

Проверочное тестирование сборки, еще называемое дымовым тестированием.

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

Тестирование на вменяемость.

Является разновидностью регрессионного тестирования. Как и дымовое тестирование проверяет готовность сборки к дополнительному тестированию, но сфокусирован на ту часть программного кода, которая была изменена.

Регрессионное тестирование

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

Интеграционное тестирование

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

API тестирование

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

UI тестирование.

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

Системное тестирование.

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

Тестирование белого ящика.

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

Тестирование черного ящика.

Является методом для проверки ожидаемых результатов без доступа внутреннему коду и структуре сайта.

Приемочное тестирование.

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

Альфа-тестирование.

Подтип приемочного тестирования для оценки продукта с участием членов команды разработчиков не принимавших непосредственного участия в его разработке или тестировании. Члены команды тестируют программное обеспечение, до того, как его увидят внешние пользователи.

Бета-тестирование.

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

Тестирование производства.

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

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

Тестирования удобства и простоты пользования (тестирование юзабилити)

Тестирование сайта на удобство и простоту использования включает:

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

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

Отдельно отметим важность тестирования на юзабилити сайта для людей с ограниченными способностями.

UI-тестирование

Другие названия UI-тестирования: тестирование пользовательского интерфейса, тестирование графического интерфейса пользователя.

UI-тестирование – это тестирование визуальных элементов программного обеспечения, с которым будет контактировать пользователь на их соответствии требованиям функциональности и производительности. Данное тестирование сосредоточено на функциях с которыми взаимодействует пользователь, а не на внутренней логике программного обеспечения.

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

Чтобы UI-тестирование было эффективным необходимо выполнить комплексное тестирование. Для этого создается план тестирования, разрабатываются сценарии тестирования.

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

Тестирование производительности

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

Основные направления тестирования производительности:

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

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

Тесты на безопасность определяют слабые стороны сайта ведущие к его уязвимости и фактические действия защитных механизмов препятствующих проникновению в систему.
Основные виды уязвимости: XSS (Cross-SiteScripting), XSRF / CSRF (RequestForgery), Codeinjections (SQL, PHP, ASP ), Server-SideIncludes (SSI) Injection, AuthorizationBypass.
В зависимости от особенностей программной части сайта сценарии тестирования сайта на уязвимость различны. Для быстрого тестирования имеется целый ряд сервисов сканирующих сайт на уязвимость. В 5 наиболее популярных в Украине сервисов тестирующих безопасность сайта входят: H-X Scanner, ImmuniWeb, Norton Safe Web, Observatory, Wprecon.