Нефункциональное тестирование — это проверка системы не только с точки зрения выполнения бизнес-функций, но и по параметрам удобства использования (usability), производительности, безопасности, адаптивности и доступности (accessibility).
История вопроса: Если в начале развития тестирования упор делался исключительно на «работает/не работает», то с ростом конкуренции и требований к качеству продукта стали обращать внимание и на сопутствующие параметры — удобство, скорость работы, доступность для людей с ограниченными возможностями. Это повлияло на развитие нефункционального тестирования.
Проблема: Тестировщики часто не знают, как формализовать и оценить нефункциональные параметры вручную. Возникает субъективность: то, что удобно одному пользователю, неудобно другому. Отсутствие четких чек-листов и критериев только усугубляет ситуацию.
Решение: Тестировщик должен:
Ключевые особенности:
Можно ли обойтись без ручного тестирования usability, если используются автоматизированные тесты?
Нет. User experience сильно субъективен, и многие аспекты могут быть выявлены только при ручном анализе или обращении к реальным пользователям.
Достаточно ли проверить доступность (accessibility) только с помощью автоматических сканеров?
Нет. Автоматические проверки выявляют, как правило, лишь 20–30% проблем. Остальные — только с помощью ручного взаимодействия: проверки с навигацией клавиатурой, чтения скрин-ридером и т.п.
Нужно ли тестировать accessibility, если среди клиентов нет людей с инвалидностью?
Да. Законодательство, стандарты качества и перспективы развития продукта требуют высокой доступности. К тому же часть пользователей может иметь временные ограничения (например, травмы).
Тестировщик не обратил внимания на низкий контраст подписи к кнопке: пользователи с нарушением цветового восприятия не видели текст.
Плюсы:
Минусы:
Тестировщик использовал бесплатную утилиту для проверки контрастности и составил чек-лист accessibility.
Плюсы:
Минусы: