Доброго дня всем!
Возник тут вопрос, в ходе очередной дискуссии =)
Мой знакомый утверждает, что при любом случае процесс тестирования нужно разделять на "верхний" уровень и "нижний". То есть нужно отдельно проверять пользовательский интерфейс и отдельно серверную часть (в рамках трехзвенной архитектуры). Интеграция же между ними проверяется в момент тестирования верхнего уровня. Мол, в данном случае мы заранее минимизируем шанс пропуска ошибки, способной повалить сервер/клиент.
Я же утверждаю, что это далеко от реальностей и гораздо оптимальней (ну то есть быстрей, а в следствии реального бизнеса продуктивней) проверять только через пользовательский интерфейс, ибо все остальные случаи (например, вписывать некорректные значения в БД или отправлять что-то невразумительное по апи) нереальны с точки зрения естественной эксплуатации. И как только появятся свободное время, то только тогда уже можно проверить отдельно серверную часть.
Рассудите нас, пожалуйста, так кто же прав? =)
И как процесс тестирования в данном разрезе выглядит у вас?