Функциональное тестирование позволяет убедиться, что требования заказчика реализованы в конечном продукте, как указано в спецификации.
Модульное тестирование заключается в проверке того, что небольшие части кода ведут себя так, как задумано.
Интеграционное тестирование гарантирует, что система стабильна, когда вы объединяете все различные части / модули вместе.
Например, BigBank Corporation хочет программное обеспечение, которое генерирует банковские выписки клиентов и ежемесячно вводит 3 случайные комиссии для каждого клиента.
После нескольких обсуждений с представителями BigBank Менеджер программ пишет функциональную спецификацию программного обеспечения.
Разработчик пишет модуль, который заполняет шаблонный оператор из базы данных. Он выполняет модульное тестирование, чтобы убедиться, что охвачено большинство случаев (типичный клиент, данные за месяц и т. Д.)
Другой разработчик создает модуль генератора случайных чисел. Он выполняет юнит-тестирование на этом.
Интегратор берет два модуля, компилирует их и выполняет интеграционное тестирование, чтобы убедиться, что они хорошо работают вместе.
Наконец, чтобы предоставить бета-версию для тестирования BigBank, команда тестирования выполняет функциональное тестирование для проверки соответствия программного обеспечения функциональным спецификациям.