Недавно у нас был консультант, который сказал нам, что если функция может быть протестирована только с помощью автоматических тестов пользовательского интерфейса (например, Selenium, Coded UI), то существует основная архитектурная проблема. Хотя это утверждение может быть несколько экстремальным, оно совпадает с пирамидой тестирования в том смысле, что тесты пользовательского интерфейса должны составлять небольшую часть вашего общего набора автоматизированных тестов.
Итак, какие функции должны иметь автоматическое тестирование пользовательского интерфейса? Будет ли система с убедительной архитектурой по-прежнему иметь функции, которые могут быть проверены только с помощью тестов пользовательского интерфейса, или эти тесты должны просто служить «резервной копией» для набора тестов модулей и сервисов?