Мой ответ? Возможно, вероятно нет .
Тесты EOE хороши, когда они очень просты. Если вы планируете охватывать основные сценарии, вы можете получить некоторые преимущества с помощью тестов EOE. Но если у вас действительно сложное и большое приложение (критическое или нет), эти тесты EOE будут дорогостоящими в обслуживании, и вам нужно знать свой сценарий, чтобы оценить, стоит ли оно того.
Несколько лет назад блог тестирования Google обсуждал эту тему. Я могу только согласиться с автором. Хороший тест должен быть быстрым , надежным и изолировать сбои , функции, которые тесты EOE не способны предоставить вам.
Я работал над приложением, в котором было проведено более 12 часов сквозных тестов, охватывающих множество сценариев. В конце концов нам удалось распространить эти тесты на разные машины, контролируя запуск, выполнение и окончание тестов, собирая и объединяя результаты. Тестируемое приложение было монолитным (то, что его легче установить и запустить в тестирование) и было кошмаром для поддержки тестов.
Большую часть времени мы поддерживали тесты, а не улавливали ошибки по их результатам. Обнаружение источника ошибки в сквозном тесте занимает много времени. Мы также рассмотрели множество «ложноотрицательных» тестов и немного времени, чтобы понять проблему и исправить ее: проблемы с загрузкой Java-апплета, ожидаемый элемент, не найденный на странице (плюс другие проблемы со скоростью автоматизации), поддержка кода запроса, который просто используются в тесте памяти базы данных (потому что исходный запрос использует специфический код базы данных) и т. д.
Все это требует, чтобы люди поддерживали и работали. В конце мы начали удалять некоторые тесты EOE и заменять их множеством модульных / интеграционных тестов.
Итак, мой консервативный совет - используйте тестовую пирамиду от Google:
В качестве хорошего первого предположения Google часто предлагает разделение 70/20/10: 70% модульных тестов, 20% интеграционных тестов и 10% сквозных тестов. Точная смесь будет отличаться для каждой команды, но в целом она должна сохранять форму пирамиды.