Найти в Дзене

Нефункциональное тестирование: практический опыт. Показываю на примере сайта Работа России

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

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

фото: freepik.com
фото: freepik.com

Нефункциональное тестирование отвечает на вопрос: как работает система, и подразделяется на:

  • тестирование производительности;
  • тестирование на отказ и восстановление;
  • тестирование юзабилити;
  • тестирование локализации и интернационализации.

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

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

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

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

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

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

На главной странице портала Работа России, в контекстном меню, выберем команду "Посмотреть код". Откроется Панель инструментов разработчика, вкладка Элементы. Выберем курсор со стрелочкой для выделения элемента главной страницы портала Работа России. Выберем наименее контрастный элемент на странице (рис.2 слайдера). В разделе Доступность (Accessibility) значение Контраст (Contrast) равно 7.3. Это допустимое значение. также в этом окне обозначен цвет шрифта #52575C. Добавим это значение в окно программы Contrast-ratio в поле шрифта (text color) и получим то же самое значение контраста 7.3 (рис.3 слайдера).

Не все иностранные инструменты тестирования доступности могут работать с российскими сайтами. Так, популярный инструмент Wave (web accessibility evaluation tool) не смог получить доступ к главной странице портала, выдал ошибку. Не получил ответ от портала и другой инструмент, A Checks, анализирующий код страницы на соответствие стандартам написания кода. При этом, при попытке протестировать другой интернет-ресурс российского сегмента Интернета, например, портала спортивных трансляций onlinestreams.ru/football/futbol-ispanii мы можем увидеть множество ошибок на странице, т.е. российский сайт тестировать можно, но при этом ошибки начинаются от определения языка до применения жирного выделения шрифтов:

Как мы видим, программа позволяет сохранить отчет в файл и отправить на электронную почту по указанному адресу (рис.4). Отчеты об ошибках содержат точное указание на строку кода с ошибкой, подробное описание ошибки и рекомендацию по ее исправлению (рис.5 слайдера).

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

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