Когда нужны тесты на код?

Я иногда консультирую своих друзей, знакомых и людей, которые ко мне обращаются на различные аспекты тестирования, будь то это теория или практика. Так вот недавно ко мне обратился знакомый с "филосовским" вопросом: а нужны ли мне тесты на код? Немного вводных: он пишет сайт, который по его задумке должен стать некой обучающей платформой. Будут такой функционал как: - личная страница обучающего - учебные курсы - поддержка со стороны куратора Он делает это в сугубо практических целях для того, чтобы научиться программировать, понимать как работает на сетевом уровне приложения. И обратился ко мне с вопросом: а когда стоит писать тесты? Когда они действительно нужны. Я сторонник делать качественно, но при этом чтобы это было эффективно. В текущем случае я предложил ему написать парочку тестов из каждого слоя пирамиды тестирования: unit, integration, E2e. В текущей конфигурации я не вижу смысла тратить большое количество времени, так как скорее всего это останется учебным проектом (потому что на рынке есть много обучающих систем с большим функционалом), для понимания как писать тесты и как проверять, кажется что достаточно. Вообще я считаю, что тесты нужны тогда, когда есть реальный пользователь, который пользуется вашим приложением, оставляет какой-то отзыв (неважно положительный он или отрицательный), дает идеи как улучить продукт. А вы что думаете? Если проект небольшой (возможно даже учебный) стоит ли покрывать тестами все приложение? Почему вы так считате?