Тест-раннер Emcee – Telegram
Тест-раннер Emcee
268 subscribers
27 photos
1 video
26 links
Разработка AvitoTech для параллельного тестирования.

Хотите ускорить разработку приложений и уменьшить time to market?
Попробуйте тест-раннер Emcee: emceetool.io

GitHub: github.com/avito-tech/Emcee
Chat&Support: t.me/emcee_ios
Download Telegram
Что будет в канале

Этот канал посвящен тест-раннеру Emcee.
Emcee делает автоматическое тестирование мобильных приложений быстрее, а канал — рассказывает о нём.

Здесь будут:

🔵 Апдейты. Мы продолжаем работать над функционалом и выпускать новые фичи.
Например, недавно запустили облачную версию Emcee, сейчас внедряем поддержку Android 🤖
Участники канала узнают о релизах в первую очередь.

🔵 Кейсы. Emcee уже внедрили, например, в Авито, Bolt и Space307. Будем делиться результатами.

🔵 Внутрянка проекта. Будем делиться историями, как создавался Emcee и с чем мы столкнулись в процессе.

Здесь не будет слишком много публикаций: на старте мы будем писать пару раз в неделю, а потом — по мере обновления Emcee ☄️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7👀4
Боль в разработке №1
Долгий time-to-market

Стандартный Xcode не позволяет тестировать приложение на нескольких машинках. Конечно, можно взять устройство помощнее и запустить на нём несколько симуляторов, но в какой-то момент и этой мощности перестанет хватать.

🕒 С этой проблемой мы столкнулись в AvitoTech, когда написали больше 100 тестов: если раньше проверку можно было запустить на ночь, то теперь результатов не было даже через 12 часов.

✖️ Разработчикам приходилось ждать, из-за этого страдал time-to-market — релизы выпускали 1 раз в месяц. Фичи ждали реализации в бэклоге.

🔥 Emcee запараллелил проверку: он запускает тесты на нескольких хостах и управляет симуляторами.

🚀 Время полного тестирования сократилось почти в 8 раз: вместо 12 часов тесты проходят за 1 час и 15-20 минут.
Как бонус, быстрее стали гоняться и pull-requests: 15 минут вместо 40.

✔️ Выросла и скорость разработки — сейчас мы релизим новые фичи и баг-фиксы каждую неделю.
Могли бы обновляться чаще, но упёрлись в ревью Apple Store: мы поставляем обновления быстрее, чем их успевают проверять на площадке.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
➡️ Насколько Emcee ускорит тестирование, можно проверить на трёх устройствах — это бесплатно ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115😁1🤡1
С Emcee 3000 быстрых компонентных UI-тестов проходят за 15 минут вместо 2,5 часов.

Чтобы тесты проходили быстрее, раннер:

🔵 Управляет симуляторами на Apple и Android хостах.

🔵 Организует очередь из тестов.

🔵 Реализует заданную схему периодичности и приоритета перезапусков тестов.

🔵 Использует имеющееся оборудование на максимум за счет автоматического распределения тест-бакетов по симуляторам.

🔵 Собирает все результаты прогонов с каждого хоста в единый отчет.

🔵 Отображает метрики в Grafana.

➡️ Подробнее про работу раннера Emcee рассказываем в статье на Хабр «Раннер Emcee. Всем айосерам по тестовой ферме» 🗂
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥4👀4
Боль в разработке №2. Тестировать дорого

Часто, когда компании упираются в долгое исполнение тестов, они жертвуют их количеством, чтобы ускориться 🚀

Нам кажется, есть более выигрышное решение. Рассмотрим на примере ⬇️

Команда написала тесты, их прогон занимает 2 часа.
На время тестов разработка фичи останавливается.
Чтобы узнать, во сколько обходится каждый прогон, посчитаем:

Часовая ставка разработчика ✖️ Кол-во разработчиков ✖️ 2

Допустим, над приложением работают 5 разработчиков со ставкой 20 долларов в час.
Тесты проходят каждый день. В месяц компания теряет 4,5 тысячи долларов.

Как сократить тестирование до получаса?

1️⃣ Можно закупиться железом, сделать ферму и запустить тест-раннер. Этот вариант — инвестиции в тестирование. Он не позволит сэкономить здесь и сейчас: вполне возможно, что на старте расходы на ферму будут сравнимы с оплатой простоя разработчиков. Но когда инвестиции окупятся, тестирование будет автономным, быстрым и дешевым.

2️⃣ Можно обойтись без собственной фермы. Например, у тест-раннера Emcee есть облачная версия: можно тестировать приложение на мощностях AvitoTech и платить за время прогона. Стоимость зависит от необходимой мощности, но она будет в разы меньше 100 долларов в час, которые уходят на простои.

➡️ Тест-раннер Emcee делает автоматическое тестирование доступнее.

Чтобы оценить экономию, не нужно вложений: можно протестировать раннер на трех устройствах — лицензия не потребуется ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3
Боль в разработке №3. Заела рутина

Долгое тестирование, окончания которого приходится ждать — это рутина, которая убивает запал разработчиков.

🔥 Мы не раз видели, как это происходит: разраб берётся за новую фичу, глаза горят. Написал часть кода и идёт проверить гипотезу — а тесты надо ждать 12 часов. Уходит домой, возвращается на следующий день, запала уже чуть меньше: это вчера задача была вызовом, сегодня это ошибки и баги, которые нужно решать.

❤️ Когда мы запустили Emcee, развязали разработчикам руки. Они стали меньше заниматься тестами, запал не успевает пропасть: разраб делает часть задачи, тестирует её за полчаса, и снова возвращается к работе.

🚀 Если в команде есть отдельная группа тестировщиков, Emcee облегчит и им жизнь. Сократится время на запуск и поддержку тестирования. Сами тесты можно будет писать и проверять быстрее, и не придётся ограничиваться самыми критичными тестами.

✔️ Мы на практике убедились: чем лучше пользовательский опыт разработчиков, тем сильнее кипит работа.

Как повлияет Emcee на вашу команду, можно проверить с помощью тест-драйва.
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥4👾1
☄️ Запускаем Emcee и разбираемся в его работе

Тимофей Солонин из AvitoTech провёл воркшоп, где на схемах и реальных примерах объяснил, как устроен Emcee и за счёт чего он ускоряет тестирование.

🔥 А потом устроил настоящий мастер-класс и развернул через Emcee тесты на двух устройствах.

➡️ Смотреть воркшоп
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4🥰1
Сегодня расскажем, на какую помощь вы можете рассчитывать при установке Emcee.

Для начала мы подготовили для вас документацию, где по шагам описали, как запустить Emcee 🚀

Если не хотите читать, посмотрите воркшоп Тимофея, ссылочка сообщением выше ⬆️

Но, понятно, сколько ни читай и ни смотри, а когда сам начинаешь настраивать, появляются вопросы и сложности.

Не мучайтесь и не ломайте голову, приходите в чат Emcee — там вас ждут разработчики раннера, которые помогут с настройкой 💻

А в платной версии Emcee у вас есть персональная поддержка.
Не хотите обсуждать проблему в чате — можно написать своему менеджеру, он поможет ❤️

После запуска Emcee мы не оставим вас без помощи: если вас что-то не устраивает в работе раннера, или с чем-то возникли сложности, приходите — мы поможем ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍31
Почему именно Emcee

Emcee — не единственный раннер для мобильного тестирования. Но мы считаем его самым удобным. Вот несколько причин:

✔️ Запускается On-Prem. Из аналогов, которые можно использовать на своей ферме, только open-source разработки.

✔️ Надежность обеспечивается Авито. Emcee разрабатывается по технологическим стандартам Авито и прошел проверку под нагрузкой.
Безопасность данных обеспечивают центры обработки данных компании.

✔️ Made in Russia. Есть все сопутствующие плюшки: русскоязычная поддержка, принимаем российские карты, не ограничиваем территорию использования.

Есть преимущество, о котором мы забыли, или недостаток, который не указали?
Напишите в комментариях — нам важно ваше мнение ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥1🤣1
Мы уже рассказывали, что в какой-то момент в AvitoTech написали столько тестов, что они начали тормозить работу 🔥

Давайте сегодня обсудим детальнее.

Вы только представьте: 600 end-to-end UI-тестов, каждый длится больше минуты.
Это почти 14 часов тестирования каждый день 🕒

А для pull request свой набор: 2 тысячи компонентных и 3 тысячи UI-тестов.
В сумме они длятся дольше 5 часов.

Когда ребятам надоело постоянно ждать, они собрали всё железо Apple, которое у них было.

Получилась ферма из 80 устройств 💻

С этой фермы из старых и новых, слабых и мощных компов началась разработка Emcee.

Прошли месяцы, прежде чем раннер заработал и начал приносить первые результаты ✔️

Прошло уже два года со старта, а работа не завершена — мы развиваем и улучшаем раннер, чтобы он помогал вам работать ещё быстрее ☄️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94🗿2💘2
Чтобы ускорить тесты, вам нужно:
1️⃣ Взять 20 mac mini...
2️⃣ Да можете и не брать, в принципе.

Тест-раннер Emcee теперь можно запустить на наших серверах. Вау? Да, мы сделали клауд-версию ✔️

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

Все детали о том, как мы обеспечили безопасность облачного тест-раннера — найдёте в статье 🗂

А время на апгрейд приложений вместо бесконечных тестов найдёте, как только запустите Emcee.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4🥰2
Не iOS единым — теперь можно прогонять и Android-тесты 🤖

Разворачивайте тест-раннер Emcee и запускайте тесты для Android-проектов.
Больше не нужно тратить время на сбор результатов со всех эмуляторов вручную.

Требования к железу и софту:
– OS Linux, Docker, KVM или Kubernetes;
– 4GB RAM и 1,15 CPU для одного контейнера с воркером;
– настроенный Artifactory.

А вот док о том, как настраивать и запускать Android-проекты с Emceе.

Напишите, если будут вопросы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
Новый релиз Emcee ☄️
Выпустили 19 версию нашего тест-раннера. Сейчас расскажем, что там нового ⬇️

— Поддержали Allure. Теперь можно анализировать отчёты в популярном инструменте.
— Сделали test plans для iOS. Теперь вы можете интегрировать свои тест-планы в Emcee и запускать их привычным способом.
— Настроили https-прокси. Важно для тестов, которым нужен доступ во внешние ресурсы.
— Пофиксили баги и сделали раннер быстрее.

Вы можете скачать бесплатную версию с GitHub и протестировать Emcee на трёх воркерах хоть сейчас.
Если хотите запуститься на полной — оставьте заявку на сайте.

Мы ответим на вопросы и поможем настроить работу 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
📺 Как ускорить автотесты || AI технологии для написания тестов || Автотесты в AvitoTech (1 ч 20 мин)

Интервью с Русланом Мингалиевым, разработчиком AvitoTech про тестирование, автотесты, Emcee, Kaspresso, Compose и AI технологии для автотестов

1:00 О госте
4:14 Сложности работы разработчиков инструментов
5:18 Автотесты в AvitoTech
6:16 Собственный фреймворк автотестов
8:25 Миграция на Kotlin Coroutines
9:57 Запуск автотестов
11:27 Impact анализ
13:52 Как Google развивает автотесты в Android
17:40 Что делает Test Runner
22:35 Разница между способами запуска тестов
26:14 Ручное тестирование
29:25 Robolectric
36:27 Kaspresso
40:18 Emcee
46:35 Сколько стоят автотесты
53:10 Больше Unit тестов
54:36 Compose - новый виток в тестирование UI
1:03:25 Унификация тестов
1:05:54 Performance тесты
1:08:55 ARM сервера как ускорение автотестов
1:12:47 Реально устройство ускоряет прогон
1:14:23 AI для написания тестов

Смотрите интервью на разных площадках:
👉YouTube
👉RuTube
👉VK Video
👉Дзен

#AndroidBroadcast #интервью
🔥5👍31
Forwarded from AvitoTech
Автотесты — часть нашей инженерной культуры.

У кластера Mobile на поиск решений по автоматизации ушло несколько лет. В итоге мы создали собственное. Вы наверняка про него слышали: это тест-раннер Emcee.

Алексей Шпирко, руководитель разработки кластера Mobile, расскажет, как мы пришли к созданию инструмента, а затем превратили его в продукт. Послушать можно на Testify #3.

#avitoteam
Большой релиз Emcee для iOS, Android и облака: что нового

Вышел двадцатый релиз тест-раннера Emcee. Разработчики добавили важные инструменты, чтобы процесс запуска тестов стал ещё быстрее и удобнее.

🍏 Для iOS:
Поддержали новый механизм дискаверинга тестов — runtimeXCTest.
Теперь можно запускать тесты таких альтернативных фреймворков, как Quick, Kiwi и подобных.
Улучшили управление ресурсами и процессами очистки и поменяли уровень подробностей логов с trace на debug. Без лишней детализации проще находить и анализировать проблемы в коде. А чем больше свободных ресурсов, тем быстрее скорость следующих запусков.

🤖 Для Android:
– Реализовали новый способ запуска тестов — command line interface.
– Поддержали запись видео прогона тестов.


☁️ Для облака:
– Поддержали запуск Appium-тестов.
– Выкатили Emcee.cloud actions. Теперь вы можете интегрировать ресурсы Emcee.cloud в свой GitHub пайплайн.

Скачайте Emcee для iOS из GitHub или из Docker Hub — для Android.
Или регистрируйтесь в Emcee Cloud.
🔥102
Release 20.1.0
Первый релиз года порадует следующими фичами и улучшениями:

для iOS:
1️⃣ Оптимизировали способ распределения тестов между воркерами.
2️⃣ Сократили время на старт симуляторов за счёт внутренних оптимизаций.
3️⃣ Уменьшили объём логов, которые записывались по умолчанию. Теперь глубину логирования можно увеличить в настройках.
4️⃣ Добавили образец дашборда с готовыми метриками для Grafana. Пример json-файла дашборда для Grafana и Graphite в качестве источника данных доступен здесь.

для Android:
1️⃣ Улучшили вывод информации о прогоне тестов для Gradle plugin и CLI.
2️⃣ Добавили возможность прописать ограничение на время полного исполнения тестов для Gradle plugin и CLI.
3️⃣ Поработали над документацией: описали новый функционал и собрали все разделы в одном месте.
4️⃣ Сделали образец дашборда с готовыми метриками для Grafana. Пример json-файла тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Forwarded from AvitoTech
Emcee — это наш раннер для параллельного запуска автотестов мобильных приложений. Его работа базируется на трёх компонентах:

1️⃣ очередь распределяет тесты по воркерам и централизовано возвращает результат клиентам;
2️⃣ воркеры запускают тесты и эмуляторы, управляют ими и собирают результаты;
3️⃣ клиенты отправляют тесты в очередь и принимают результат.

Прогон на демо-проекте для Android и все нюансы работы с Emcee (в том числе про облачное решение) смотрите в новом выпуске avito.code.

Релизы раннера и новости проекта — в его собственном канале.
🔥9
Forwarded from AvitoTech
Каждый раз, когда кто-то запускает мобильные тесты с помощью Emcee, в мире становится на одну команду счастливых разработчиков больше.

Почему так происходит, в двух словах и не скажешь. Поэтому Денис Веренцов, Android-инженер из Emcee, написал об этом хабрстатью🤖

Если хотите вкратце — листайте картинки. А если предпочитаете слушать, а не читать, то у нас на YouTube и видео есть 📺

#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3