План тестирования НФТ для эл библиотеки
Школа-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 код работает в разных браузерах
- сайт работает с разными профилями безопасности браузера
- при печати правильно отображаются шрифты, графические изображения страниц, выравнивание страниц