Функциональное тестирование предназначено для оценки функциональных характеристик качества.
Другими словами, оно проверяет что делает система.
Если взять сайт, как пример системы, которую нужно протестировать, то функциональные тесты будут проверять:
Функциональные тесты пишутся, основываясь на функциональных требованиях, которые можно найти в спецификациях, бизнес-требованиях, user story, use case и т.п.
Иногда, можно слышать фразу “проверить функционал приложения”. Имеется ввиду как раз этот тип тестирования
Для оценки функционального тестирования иногда используют метрику «покрытие функциональности тестами».
Уровень покрытия определяется как процент проверяемых функциональных требований.
Например, существует 100 функциональных требований, из которых тесты написаны для 57.
Значит, покрытие функциональности тестами равно:
(57 / 100) * 100% = 57%.
Нефункциональное тестирование предназначено для оценки нефункциональных характеристик качества: удобства использования, производительности, безопасности и т.п.