Функциональное тестирование
Функциональное тестирование -- это тестирование изделия в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает изделие, какие задачи оно решает.
Функциональность изделия (utility) - это способность изделия выполнить ту работу, ради которой оно создано. Простыми словами, функциональность - это то, что система может сделать. При заказе изделия, его функции описываются функциональными требованиями. Соответственно, функциональная тестировка системы определяет, подходит ли система своему назначению, то есть, действует ли она так, как требуется.
Функциональные требования
Функциональные требования включают в себя:
- Функциональная пригодность (англ. suitability);
- Точность (англ. accuracy);
- Способность к взаимодействию (англ. interoperability);
- Соответствие стандартам и правилам (англ. compliance);
- Защищённость (англ. security).
Чаще всего, функциональные тесты делят либо по возможности тестировщика вносить изменения в изделие, либо по принадлежности тестируемого функционала к недавним разработкам.
Типы функциональных испытаний
В информационных технологиях, тестируемый объект сравнивается с коробкой или ящиком. "Чёрный ящик" - это "коробка с неизвестной начинкой". Напротив, "белый ящик" - это система, к которой тестировщик имеет полный доступ. Соответственно, "серый ящик" - это сочетание белого и чёрного.
"Тестирование по стратегии чёрного ящика" (black-box testing) - это изучение функций системы или её реакции на воздействия без доступа к её внутренности и без знания её структуры (проведение функционального тестирования без доступа к коду системы). Когда тестировщик закрытой системы докладывает о результатах тестов продвинутым пользователям и разработчикам, они могут внести коррективы в систему.
В "тестировании по стратегии белого ящика" (white-box testing), тестировщик может внести изменения в систему самостоятельно. Стратегия тестировки "белых ящиков" задействует продвинутых пользователей и разработчиков в качестве тестировщиков, что даёт результаты быстрее( функциональное тестирование с доступом к коду системы.). Стратегия тестировки "чёрных ящиков" дешевле. Кроме того, конечные пользователи могут привнести более свежие идеи.
Принадлежность тестируемого функционала к недавним разработкам - это другой критерий для разделения функциональных тестов на категории.
- Добавленные тесты (progression testing) проверяют тот функционал, который был добавлен в последнем цикле.
- Возвратные тесты (regression testing) проверяют работоспособность старого функционала, то есть осуществление тех функций, которые выполнялись до того, как новый функционал был добавлен.