Каждый слой тестов дополняет, а не заменяет остальные. E2e нужно чтобы быть уверенным что большая часть клиентов получает ожидаемый сервис. Никакой нижележащий уровень этого не гарантирует и не проверяет. Тесты сами по себе не silver bullet, это понятно
Чтобы создать такую плотность тестов, которая дает возможность быть уверенным, надо набрать столько же автотестописателей, сколько есть девелоперов, и они будут заниматься только написанием и подержкой этих тестов.
Где-то это оправдано.
Покрыть critical path это хорошо, но почему-то у меня все баги постоянно находятся именно в тех местах, что не на ней...