Recentemente, um consultor nos informou que, se um recurso só pode ser testado por meio de testes automatizados de interface do usuário (por exemplo, Selenium, UI codificada), existe um problema de arquitetura subjacente. Embora essa declaração possa ser um pouco extremada, ela segue as mesmas linhas da pirâmide de testes, pois os testes de interface do usuário devem compor uma pequena parte do seu conjunto de testes automatizado geral.
Então, que tipos de recursos devem ter testes automatizados de interface do usuário? Um sistema com uma arquitetura convincente ainda terá recursos que só podem ser verificados por meio de testes de interface do usuário ou esses testes devem servir apenas como "backup" para um conjunto de testes de unidade e serviço?