Цели 19-го процесса ГОСТ Р 56939-2024:
Подтверждение того, что поверхность атаки, модель угроз и архитектура ПО содержат необходимую информацию.
Обнаружение недостатков программы путем выполнения нефункциональных тестов, в том числе имитирующих действия потенциального нарушителя.
Можно сказать так: функциональное тестирование проверяет, что ПО делает то, что должно делать. А нефункциональное проверяет:
1) как работает приложение в том числе в нестандартных условиях. Например, не генерирует ли приложение избыточно большие файлы логирования. И как оно будет себя вести, если из-за этих файлов исчерпается дисковое пространство.
2) ПО не делает того, что не должно делать. Т.е. программа случайно или преднамеренно не содержит недекларированные возможности (НДВ).
В рассматриваемом разделе под нефункциональным тестированием понимаются следующие проверки:
• сетевых взаимодействий ПО;
• локальных интерфейсов взаимодействия ПО;
• производительности функционирования ПО;
• операций, выполняемых с высокими привилегиями;
• работы с конфиденциальными данными;
• корректности выполнения файловых операций;
• реализации защищенности бинарных файлов;
• реализации системы управления секретами;
• реализации безопасности сетевых протоколов;
• работы системы развертывания продукта;
• реализации мер по устранению или снижению критичности угроз, выявленных при моделировании угроз;
• возможности нарушения логики работы программы;
• безопасности реализации механизмов аутентификации и авторизации;
• безопасности обработки данных, полученных от потенциального нарушителя;
• безопасности реализации клиентской и серверной частей ПО.
Дополнительные ссылки:
1. QA_Bible. Нефункциональное тестирование (Non-Functional testing).
2. Ttestengineer ru. Нефункциональное тестирование — гайд.
3. Нефункциональные проверки при тестировании мобильных приложений.
4. Wikipedia. Non-functional testing.
5. Алексей Симкин. Гайд по тестированию локализации и интернационализации, а также большой и полезный checklist.
