Нефункциональное тестирование
⚡ Умное резюме
Нефункциональное тестирование проверяет работоспособность программного приложения с точки зрения надежности, удобства использования, безопасности, масштабируемости и других качественных характеристик. В этом пошаговом руководстве объясняются цели, параметры, характеристики, распространенные типы тестирования и практические примеры тестовых случаев, используемых группами обеспечения качества.
Что такое нефункциональное тестирование?
Нефункциональное тестирование Функциональное тестирование — это категория тестирования программного обеспечения, которая проверяет нефункциональные аспекты приложения — производительность, удобство использования, надежность и аналогичные качественные характеристики. Оно оценивает готовность системы по критериям, которые функциональное тестирование никогда не рассматривает, гарантируя, что приложение соответствует ожиданиям предприятия в реальных условиях.
Классическим примером нефункционального тестирования является измерение того, сколько пользователей одновременно могут войти в приложение без снижения производительности. Нефункциональное тестирование так же важно, как и функциональное, поскольку оно напрямую влияет на удовлетворенность клиентов и общее восприятие продукта.
Цели нефункционального тестирования
Нефункциональное тестирование проводится для повышения общего качества и срока службы изделия. Основные цели включают:
- Повысить удобство использования, эффективность, ремонтопригодность и мобильность продукта.
- Снижение производственных рисков и затрат, связанных с нефункциональными дефектами.
- Оптимизируйте способы установки, настройки, запуска, управления и мониторинга продукта.
- Собирайте данные измерений и показатели для внутренних исследований и разработок.
- Улучшить понимание поведения продукта и используемых технологий.
Характеристики нефункционального тестирования
Следующие характеристики определяют, как следует планировать и проводить нефункциональное тестирование:
- Это должно быть измеримо, не оставляя места для субъективных описаний, таких как «хорошо», «лучше» или «отлично».
- Точные цифры, как правило, неизвестны на начальном этапе процесса определения требований.
- Необходимо расставить приоритеты в соответствии с требованиями, чтобы в первую очередь были рассмотрены области с самым высоким риском.
- Качественные характеристики точно определяются на этапе разработки программного обеспечения.
Параметры нефункционального тестирования
Для определения масштаба работ по нефункциональному тестированию обычно используются одиннадцать параметров:
- Безопасность: Оценивает уровень защиты системы от преднамеренных и случайных атак со стороны внутренних или внешних источников. Проверяется в ходе тестирования безопасности.
- Надежность: Степень, в которой система непрерывно выполняет свои заданные функции без сбоев. Проверяется с помощью испытаний на надежность.
- Живучесть: Подтверждает, что система продолжает функционировать и восстанавливается после сбоя. Проверено с помощью тестирования восстановления.
- Доступность: Определяет степень зависимости пользователя от системы во время работы. Проверяется с помощью тестирования стабильности.
- Юзабилити: Простота, с которой пользователи могут изучать, использовать, подготавливать входные данные и получать выходные данные из системы. Подтверждено в ходе тестирования удобства использования.
- Масштабируемость. Степень, в которой программное приложение может расширять свои вычислительные мощности для удовлетворения растущего спроса. Проверяется с помощью тестирования масштабируемости.
- совместимость: Проверяет, как программная система взаимодействует с другими программными системами. Подтверждается посредством тестирования на совместимость.
- Эффективность: Степень, в которой система справляется с обеспечением необходимой мощности, количества и времени отклика под нагрузкой.
- Гибкость: Приложение легко интегрируется с различными аппаратными и программными конфигурациями, например, с разным объемом оперативной памяти или характеристиками процессора.
- Переносимость: Гибкость программного обеспечения, позволяющая ему адаптироваться к новой аппаратной или программной среде.
- Возможность повторного использования: Относится к той части программной системы, которая может быть адаптирована для использования в другом приложении.
Тип тестирования программного обеспечения
Тестирование программного обеспечения в целом подразделяется на три категории:
- Функциональное тестирование
- Нефункциональное тестирование
- Техническое тестирование
Каждая категория включает в себя несколько уровней тестирования, которые команды часто называют типами тестирования. В разных книгах и справочных материалах они могут классифицироваться несколько по-разному, поэтому ожидайте незначительных различий.
Список типов тестирования не является исчерпывающим — существует более 100 различных типов тестирования, и постоянно появляются новые. Не каждый тип применим к каждому проекту; область применения зависит от характера, профиля риска и сложности тестируемого приложения.
Типы нефункционального тестирования
К наиболее распространенным видам нефункционального тестирования, проводимого командами контроля качества, относятся:
- Тестирование производительности
- испытание нагрузкой
- Тестирование отказоустойчивости
- Тестирование совместимости
- Тестирование юзабилити
- Стресс-тестирование
- Тестирование ремонтопригодности
- Тестирование масштабируемости
- Объемное тестирование
- Тестирование безопасности
- Тестирование аварийного восстановления
- Тестирование на соответствие
- Тестирование переносимости
- Тестирование эффективности
- Тестирование надежности
- Базовое тестирование
- Тест на выносливость
- Тестирование документации
- Тестирование восстановления
- Тестирование интернационализации
Примеры тестовых случаев для нефункционального тестирования
Следующие примеры иллюстрируют, как пишутся нефункциональные тестовые случаи в реальных проектах:
| Прецедент # | Тестовый кейс | Домен |
|---|---|---|
| 1 | Время загрузки приложения не должно превышать 5 секунд при одновременном доступе к нему до 1000 пользователей. | Тестирование производительности |
| 2 | Программное обеспечение должно устанавливаться на все поддерживаемые версии. Windows и macOS. | Тестирование совместимости |
| 3 | Все изображения на веб-сайте должны содержать описательные теги alt. | Тестирование доступности |



