Функции - это манипуляции с данными: есть данные на вход, и есть возвращаемое значение.
Модули - это уже логика, которая зависит не столько от данных, сколько от условий/параметров.
Когда проводим функциональные тесты - тогда проверяем правильно ли функция работает с данными. Когда проводим модульное тестирование, тогда проверяем правильно ли обрабатываются условия/параметры (какие данные при этом не так важно).