TGViewer
Next Level Dev Next Level Dev @andrdevnotes · 619 subscribers
Post #148 515
Какие автотесты вообще бывают?

Часть 3: UI-тесты

Это тесты, которые проверяют взаимодействие пользователя с интерфейсом приложения: запускается ли нужная логика при кликах по нужным кнопкам, правильно ли работает навигация, правильные ли тексты отображаются, все ли нужные вьюхи отображаются или скрываются и тд.

В UI-тестах мы не вызываем методы приложения напрямую, мы имитируем действия пользователя с интерфейсом приложения.
То есть в этих тестах мы реально кликаем по нашим кнопкам.

Отличия от Unit/интеграционных тестов:

1️⃣ Им для запуска необходим эмулятор/реальное устройство.

2️⃣ Проходят долго. В зависимости от размера приложения, количества тестов и железа, где всё это запускается, прохождение всех UI-тестов может занимать как минуты, так часы и даже дни.

3️⃣ Поскольку UI-тесты — попытка удержать баланс между приближением тестов к реальности и автоматизацией процесса, они довольно хрупкие: их выполнение не гарантируется, из-за того, что появляется зависимость от реальной платформы, которая не всегда предсказуема.

Если UI-тесты несколько раз прошли успешно, на следующий раз они могут не пройти - например, из-за того, что поверх нашего UI вылезло какое-то системное окно, а автоматизация сочла, что приложение не сработало так, как задумывалось. Или система в момент клик на нашу кнопку решила запустить очистку ресурсов, и обработка клика на кнопку заняла на секунду больше, а автоматизация сочла, что кнопка не сработала. Или сервак долго отвечал, а автотест решил, что всё сломалось.

В целом, от этого можно защититься повтором теста при его фейле, увеличением времени ожидания и прочими костылями, но надо понимать, что это может привести к существенному увеличению времени прохождения тестов.

4️⃣ UI-тест может содержать много шагов и проверок. Их сложно писать и читать. Будет много боли и мата. А настройка CI для UI-тестов у меня когда-то заняла почти год, там столько подводных камней, что из них крепость можно построить.

UI-тесты, теоретически, могут снять львиную долю работу с ручных тестировщиков, потому что по сути автоматизируют их работу напрямую. Но для этого потребуются очень серьёзные усилия для внедрения этих тестов в процессы вашей компании, для настройки инфраструктуры, для обучения разработчиков и тестировщиков.
  • 🔥 9
  • 👌 1
  • 😍 1
More from @andrdevnotes
  1. Aug 9, 2026Почему ИИ так заходит российскому бизнесу? Во-первых – бум ИИ сейчас, конечно, не только в…
  2. Jul 10, 2026Post #201
  3. Jul 10, 2026Илья Аристотель на связи. Всегда можно найти 1001 причину для "не получится" и аргументиро…
  4. Jul 8, 2026Агентик раг: спасёт ли эта соломинка? 💪 Итак, агентик раг. В чём его сила? Ты даёшь ему з…
  5. Jul 1, 2026Не повторяйте мои ошибки с RAG Если вы вдруг подумали, что я тут вам академические тексты…
  6. Jun 18, 2026Как заставить ллм отвечать по методичке? Есть много ситуаций, когда вы хотите, чтобы ллм о…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →