План тестирования НФТ для эл библиотеки

Школа-49. Работа Марии

Проект — https://elibrary.ruНаучная электронная библиотека. Содержит тексты научных публикаций и аннотаций к ним. Есть различные инструменты поиска, возможность авторизоваться, купить доступ к платным материалам, а также оставлять комментарии к статьям.

*из требованийисходя из ТЗ/рисеча/сравнения с конкурентами и т.п.

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

Провести тестирование нагрузки (например, с помощью JMeter):

  • для одного пользователя
  • для штатного режима работы – максимального требуемого числа пользователей (из требований)
  • для пиковой нагрузки – с кратковременным превышением максимального требуемого числа пользователей
  • для равномерного увеличения нагрузки (с шагом, например, 5 пользователей/сек) вплоть до точки отказа

Проверить, что:

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

Для штатной нагрузки проверить, что:

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

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

Проверить, что:

  • сайт не содержит языковых ошибок
  • на сайте есть логотип компании и контактная информация
  • фавикон есть и корректно отображается
  • шрифты соответствуют требованиям
  • кнопки единообразны (размер, форма и т.п.)
  • у радиокнопок есть предустановленное значение (например, в настройках навигатора)
  • у каждой страницы есть заголовок
  • все тексты и поля выровнены
  • курсор мыши превращается в текстовый курсор при наведении на текстовое поле и в курсор-руку при наведении на ссылку
  • в состоянии занятости приложения показывается спиннер загрузки
  • в выпадающих списках можно выбрать ровно одну опцию (например, списки городов и регионов в форме поиска по организациям)
  • можно отменить любые примененные изменения
  • операции обновления или удаления сопровождаются запросом на подтверждение
  • значения в выпадающем списке расположены в логичном порядке (например, по алфавиту) (например, в списках городов и регионов в форме поиска по организациям)
  • в случае возможности выбора нескольких элементов можно выбирать и отменять выбор (например, в настройках навигатора)
  • обязательные для заполнения поля как-либо отмечены (например, в форме для регистрации или формах поиска)
  • на сайте есть инструкции для основных пользовательских сценариев, они полные и понятные
  • можно одним кликом вернуться на главную страницу с любой другой
  • есть возможность навигации между разными уровнями сайта и постранично
  • основной функционал доступен с главной страницы
  • появляется полоса прокрутки на страницах и выпадающих списках, когда она необходима
  • появляется кнопка «Вверх» при прокручивании страницы вниз
  • всплывающие подсказки появляются при наведении курсора на отмеченные слова/символы, их содержание соответствует тому, что они должны объяснять (например, в форме регистрации)
  • страницы ошибок (например, 404) содержат ссылки на другие страницы сайта
  • сообщения об ошибках информативны
  • все ссылки на сайте выделены, подсвечиваются при наведении курсора и имеют адекватное название
  • нет битых ссылок
  • все части сайта имеют перекрестные ссылки друг на друга

Дополнительные проверки:

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


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

Проверить, что:

  • при создании простого пароля выводится предупреждение
  • пароль вводится в зашифрованном виде
  • пароль не хранится в cookie
  • cookie хранятся в зашифрованном виде
  • при изменении пароля пользователь не может зайти в систему под старым паролем
  • если пользователь вышел из системы, он не может пользоваться частями сайта с ограниченным доступом (например, подпиской на журналы)
  • доступ к закрытым частям сайта (например, к полным текстам статей в ограниченном доступе) возможен только при соответствующей авторизации
  • права пользователей соответствуют их роли
  • сообщения об ошибках не содержат информации о приложении, сервере или базах данных
  • используется HTTPS протокол, сертификат действителен и выдан elibrary.ru
  • есть защита от code injections (SQL, PHP, ASP и т.д.)
  • есть защита от XSS атак
  • есть защита от CSRF атак
  • есть защита от SSI injection
  • есть защита от authorization bypass
  • сайт достаточно устойчив к DDOS атакам
  • безопасность API (защита от атак и пр.)


Тестирование окружения

Проверить для:

  • различных устройств (компьютер, телефон, планшет)
  • различных разрешений экрана (1920x1080, 1366x768, 1280x1024, 1024x768, 640x480 и пр.)
  • различных браузеров и их версий (IE, Firefox, Chrome, Safari, Opera и пр.)
  • различных операционных систем (Windows, Linux, MacOS, Android, iOS Apple и пр.)

Проверить, что:

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