Тестирование на pytest
pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.
Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.
Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.
#тестирование#pytest#assert
🛒Google Play позволит проверить deep link во встроенном эмулятора прямо в Google Play Console так как бы это происходило на реальном устройстве при открытии ссылки. Консоль сама подскажет какие ссылки стоит проверить.
Новый раздел находится в "Grow Users" > "Deep Links"
#android#googleplay#тестирование
🤖 Как автоматически проверить приложение перед публикацией в Google Play?
Когда вы загружаете сборку в Альфа или Бета канал Google Play, сервис автоматически запускает 🛒Pre-launch Tests — набор проверок, которые выполняются на реальных устройствах в облаке Google. Цель этих тестов — убедиться, что приложение запускается, не падает и корректно отображается на разных экранах ещё до того, как его увидят тестировщики или пользователи. По сути, тест проходит “прокликивая” интерфейс, имитируя действия пользователя, переходя по кнопкам и ссылкам, чтобы найти проблемы вроде ANR, крашей или неправильного поведения UI. Как результат вы можете увидеть как проходило прокликивания, преддложения по улучшениям UI и лучше проверить качество приложения перед отправкой его конечным пользователям.
⚙️ Robo script - cценарии и повторяемость тестов
По умолчанию поведение бота недетерминированное — каждый запуск может идти по разным путям.
Чтобы добиться повторяемости, можно записать свой сценарий взаимодействия и загрузить его в консоль.
Такой сценарий называется Robo Script. Записать его можно прямо через Android Studio (если недоступно, то возможно отключили плагин), выполняя нужные действия в приложении.
Загруженный сценарий позволит прогонять одинаковые шаги при каждом тесте, что особенно полезно для авторизации, форм и сложных экранов.
🔐Авторизация и тестовые данные
Если первый экран вашего приложения — логин, можно предоставить тестовый аккаунт (username/password), чтобы бот смог пройти авторизацию. Это важно, если вы хотите, чтобы тест охватил внутренние экраны и логику приложения.
Данные указываются в разделе Pre-launch report settings → Login credentials в Google Play Console.
🔗Проверка deep links (ограничено 3 штуками)
Pre-launch Tests позволяют также протестировать работу deep links. Вы можете указать deeplink-URL, и Google Play автоматически запустит приложение с этим интентом, проверяя, открывается ли нужный экран и не происходит ли падений. Добавляются через настройки в Google Play Console.
🔥 Robo script не получится прогнать локально (либо я не знаб о такой возможности)
Те же Robo-тесты можно запускать и в Firebase Test Lab. Это позволит проверить приложение на большем количестве устройств и версий Android, а также встроить прогон в CI/CD — например, через GitHub Actions или Firebase CLI.
⚙️ Будет ли работать с Compose?
UI на Compose и Flutter корректно тестируются, так как бот взаимодействует через Accessibility API, а не напрямую с фреймворком. Проблемы возникают только при кастомной отрисовке или выключенном accessibility.
#android#googleplay#тестирование
TestParameterInjector - test runner для JUnit 4 и 5, который запускается тестовые методы с разными комбинациями значенияй параметров/полей. Сможете проверить разные случа и повысить процент покрытия тестами.
Вот тут можно почитать подробнее о преимуществах решения от Google
#тестирование#google
🔨UI тесты без кода на естественном языке стали доступны в Android Studio Otter. Прикольно, но убирайте
В свежем релизе Android Studio Otter стала доступна фича Journeys. Идея звучит хайпово: вы пишете сценарий теста на обычном ествественном языке, а магия AI превращает это в воспроизводимый UI-тест.
Как это работает?
- Вы описываете шаги (например, “открой корзину”, “проверь наличие товара”)
- Journeys парсит это и сохраняет в проект специальный файл (не код) в папке journeysTest.
- Тесты можно запускать прямо из студии или через командную строку (gcloud).
😮 В чём подвох?
Несмотря на удобство «написания», вопросы к инфраструктуре остаются открытыми:
👉Привязка к Google Cloud: Чтобы запустить эти тесты через CLI, нужна авторизация в gcloud. Без интернета и доступа к серверам Google магия парсинга не сработает.
👉Изолированный контур: Если ваш CI/CD живет в закрытой сети, внедрить Journeys будет тем еще квестом.
👉Масштабируемость: Насколько стабильно AI будет интерпретировать изменения в UI спустя время?
Лично я пока настроен скептически. Старый добрый Kaspresso или Compose Test Framework на Kotlin кажутся надежнее — они не требуют облаков, легко поддерживаются и работают в любом «подвале» без интернета. Да и генерировать код с AI совсем просто и поддерживается понятнее.
Journeys выглядит как классная игрушка для прототипов, но в продакшене больших проектов может стать сложностью.
🔗 Подробнее про Journeys for Android Studio в документации
💬 А что думаете вы? Кто-нибудь уже успел потыкать Journeys в реальных условиях? Может, я упускаю какую-то киллер-фичу, которая оправдывает привязку к облаку? Пишите в комментариях! 👇
#androidstudio#ai#тестирование
Выдержит ли интернет-магазин «черную пятницу»? 👾
Ритейлерам часто требуется быстрая и точная проверка ключевых параметров ИТ-систем. Например, перед:
📤стартом сезона распродаж
📤запуском маркетплейса
📤масштабной рекламной кампанией
Полноценное #тестирование требует времени и ресурсов, которых в этих ситуациях часто не бывает.
Но это не повод отказываться от тестирования: его можно провести и в экспресс-формате.
О том, как это сделать, читайте в статье нашего эксперта Елены Маламут🖋
#ритейл#разработка
🚀Вышел Jetpack Benchmark 1.4 Stable
Microbenchmark
👉 Сделали рефакторинг BenchmarkRule и перевели на работу через Kotlin Coroutines
👉 Gradke таски lockClocks и unlockClocks перенесли из root проекта в benchnmark проект
Macrobenchmark
👉 Исправили работу на Android 14 и выше
👉 Добавили ArtMetric для выявления неоптимальной загрузки классов, чтобы лучше настроить BaselineProfile
Что еще:
👉 Baseline Profile теперь может работать с приложениями с множеством процессов
👉TraceProcessor вынесли в отдельный артефакт
#android#jetpack#производительность#тестирование
Третья волна развития low-code: ИИ все поменял🏄
Большие языковые модели и ИИ-агенты ускоряют разработку прототипов в 1,5-2 раза:
⌨ИИ может добавлять нужные компоненты по текстовым описаниям.
⌨Рабочие среды с большими наборами функций заменяет свободное общение с нейросетью
⌨ИИ интегрирует разрозненные инструменты — привязка к 1 вендору не так важна
НО! Ускоряя процессы с ИИ, команды генерируют код быстрее, чем успевают тестировать. Результат — снижение уверенности в качестве кода и результатах его работы.
Для построения прозрачной системы важно создать единый семантический слой. Эта промежуточная логическая модель интерпретирует и преобразует данные так, чтобы они были понятны человеку и ИИ-агенту. #разработка#тестирование#lowcode#ИИ
О том, как это работает, рассказывает наш эксперт Павел Дударин🙂
💬IBS в MAX
💙IBS в VK
🔥Firebase представила AI-агента для тестирования мобильных приложений
AI-агент призван избавить от ручного тестирования, а также флакающих автотестов и тех случаев, когда покрыть автотестами сложно, а руками проверять долго!
Агент умеет:
👉 Генерировать тест-кейсы
👉 Симулировать реальное взаимодействие пользователя с приложением
👉 Предоставлять подробный отчет о тесте
Для тестирования надо загружать приложение через Firebase App Distribution (недоступен в России и Беларуси)
Пока агент в превью и доступен только для Android. Подробности тут. Чтобы получить доступ, надо сделать запрос на доступ в Firebase-консоли вашего приложения
#firebase#ai#тестирование
📹Android Developers Backstage — Journeys в Android Studio
Команда Android обсуждает Journeys для Android Studio — новый инструмент на базе Gemini, который упрощает создание и поддержку end-to-end тестов.
Journeys позволяет описывать тесты на естественном языке, а ИИ сам преобразует шаги и проверки в реальные действия в вашем приложении.
⏱️ Главные моменты выпуска:
0:00 Введение
1:46 Journeys: новый подход к тестированию на базе ИИ
3:40 Как Journeys работает с Gemini
4:27 Преимущества естественного языка
5:49 Пример из реального проекта: Google Maps
6:53 Отладка с использованием ИИ
8:08 Почему Journeys важен: мост между ручным и автотестированием
9:56 End-to-End тесты с Journeys
12:18 Производительность и кеширование тестов
24:14 Интеграция с Android Studio и Firebase
25:27 Рабочий процесс разработки
31:22 ИИ для всех: не только end-to-end тесты
33:28 Что дальше: обратная связь и планы на будущее
#android#androidstudio#gemini#ai#тестирование