А для чего они могут быть еще нужны кроме теста функции?
Да ни за чем, обычно assert - это такой sanity check, проверка на ожидаемое поведение какое-то. В тестах понятно, со используется везде, прямо в коде - ну это довольно дурной тон, ассерты прям в коде писать, но если очень уж хочешь на месте ассертом проверить, что какой-нибудь там лист не пустой - ну твоё дело, штош