Gần đây chúng tôi đã có một chuyên gia tư vấn cho chúng tôi biết rằng nếu một tính năng chỉ có thể được kiểm tra thông qua các kiểm tra giao diện người dùng tự động (ví dụ: Selenium, Coded UI), thì có một vấn đề kiến trúc tiềm ẩn. Mặc dù tuyên bố này có thể hơi cực đoan, nhưng nó nằm dọc theo cùng một dòng của kim tự tháp thử nghiệm trong các thử nghiệm UI sẽ chiếm một phần nhỏ trong bộ thử nghiệm tự động tổng thể của bạn.
Vì vậy, những loại tính năng nên có kiểm tra giao diện người dùng tự động? Một hệ thống có kiến trúc chung sẽ vẫn có các tính năng chỉ có thể được xác minh thông qua các thử nghiệm UI hoặc các thử nghiệm này chỉ đóng vai trò là "sao lưu" cho một bộ thử nghiệm đơn vị và dịch vụ?