Тест-раннер 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 и компаниями, которые уже внедрили его в работу, по-прежнему остаётся — будем рады ответить на ваши вопросы или получить обратную связь по работе раннера.
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Что такое Emcee

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

С помощью Emcee разработчики тестируют приложения не на одном устройстве, как позволяет Xcode, а на нескольких — параллелят проверку и уменьшают время на тестирование.
Так в Авито сократили прогон UI-тестов с 12 до 1,5 часов 🚀

Emcee — разработка AvitoTech ☄️
Долгое время тест-раннером пользовались только мы, теперь готовы им делиться.
Можно бесплатно скачать Emcee из Гитхаб-репозитория и протестировать на трёх воркерах, а можно купить лицензию и запуститься по полной.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
В этом посте расскажем, как пришли к идее сделать тест-раннер.

Мы в AvitoTech делаем упор на автоматическое тестирование: у нас 600 end-to-end, 2 тысячи компонентных и 3 тысячи UI-тестов.

Раньше мы запускали прогон регрессионного тестирования ночью, так как это занимало около 12 часов. Пул-реквесты могли висеть в очереди часами.

Такие простои увеличивали time-to-market: мы релизились примерно раз в месяц.

Это не дело, поэтому мы начали разработку тест-раннера, который раскидал бы тесты на несколько машинок и сократил бы время на их прогон.

Так появился Emcee.
🔥10
Что будет в канале

Этот канал посвящен тест-раннеру 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