Тестируем сайт-визитку или лендинг-страницу

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

Сайты-визитки или лендинг-страницы не предназначены для какого-либо взаимодействия с пользователем кроме обмена контактами. Поэтому такие сайты чаще всего представляют собой одну страницу с описанием предлагаемого продукта или услуги, а также могут (но не обязательно) содержать форму обратной связи. Какие тесты можно для таких сайтов подготовить? Ниже я предлагаю вам свой вариант.

Тестируем восприятие сайта

  • Как сайт выглядит в различных браузерах: IE, Chrome, FireFox, Opera. Различные браузеры могут по-разному отображать некоторые стили. Кроме того, какие-то браузеры могут вообще не поддерживать определенные свойства стилей. Также сайт может использовать JavaSript-код (например для анимации или другого рода управления элементами пользовательского интерфейса) поэтому проблемы могут возникнуть и в этой области. Код может даже не выдать никаких ошибок в консоли, но функциональную роль не выполнит.

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

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

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

  • Проверить корректно ли отображается иконка сайта (favicon)

  • Проверить ответ сервера на ошибочные запросы (например 404 или 500). В идеале страницы с сообщениями об ошибках должны быть стилизованы в общем русле.

  • Если на странице присутствуют элементы форм или интерактивные элементы, проверить корректен и удобен ли порядок переключения фокуса клавишей Tab

Тестируем интеграцию со сторонними службами

  • Если сайт поддерживает интеграцию с социальными медиа, проверить работу кнопки "Поделиться"

  • Проверить актуальность внешних ссылок

  • Если сайт поддерживает интеграцию с платёжными сервисами, проверить её

  • Проверить интеграцию с сервисами веб-аналитики.

  • Проверить интеграцию с рекламными площадками

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

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

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

  • Проверить формы на уязвимости OWASP Top 10

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

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

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

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

Тестирование на SEO-соответствие.

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

  • Например, наличие и доступность файла robots.txt. Нелишним будет проверить корректность синтаксиса информации, представленной в этом файле. Убедиться, что файл закрывает поисковикам страницы, которые не должны быть проиндексированы

  • Наличие и доступность файла sitemap.xml. Проверить что это корректный xml файл. Проверить, что ссылки в этом файле действительно относятся к тестируемому сайту.

  • Наличие метатегов Keywords и Description в <head> страницы

  • Наличие корректной записи в <title> страницы

  • Наличие alt атрибута в изображениях на странице

Остальное

  • Проверить консоль браузера на предмет ошибок загрузки ресурсов (вкладка Network)

  • Проверить консоль браузера на предмет ошибок JavaScript-кода (для всех поддерживаемых браузеров)

  • Проверить корректно ли размещаются куки (если сайт поддерживает пользовательские сессии, либо каким-нибудь образом использует флеш-куки).

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