Niedawno nasz konsultant powiedział nam, że jeśli daną funkcję można przetestować tylko za pomocą automatycznych testów interfejsu użytkownika (np. Selenium, kodowany interfejs użytkownika), to istnieje problem architektoniczny. Chociaż to stwierdzenie może być nieco ekstremalne, jest zgodne z piramidą testową, ponieważ testy interfejsu użytkownika powinny stanowić niewielką część całego zestawu zautomatyzowanych testów.
Jakie funkcje powinny mieć automatyczne testowanie interfejsu użytkownika? Czy system o przekonującej architekturze nadal będzie posiadał funkcje, które można zweryfikować tylko za pomocą testów interfejsu użytkownika, czy też powinny one służyć jedynie jako „kopia zapasowa” dla zestawu testów jednostkowych i usługowych?