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