Видео: стенд для автоматического тестирования приложений в офисе Mail.Ru Group Статьи редакции

18 апреля вице-президент Mail.Ru Group Анна Артамонова опубликовала на своей странице в Facebook видео, на котором показан стенд в виде логотипа почтового приложения myMail с расположенными на нём смартфонами для автоматического тестирования. Редакция vc.ru попросила топ-менеджера рассказать, для чего нужен такой стенд и как он используется.

Анна Артамоновавице-президент Mail.Ru Group

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

Сейчас для автоматизированного тестирования приложений Mail.Ru и myMail мы используем более 60-ти различных смартфонов, на которых прогоняются регрессы после каждой сборки. Регресс — это и есть проверка, что ничего из старой функциональности не «отвалилось» при добавлении нового.

До последнего времени все эти смартфоны жили в тумбочке, но на днях к нам приехала красивая стойка, сделанная в духе визуального стиля myMail, и сейчас на ней расположено 20 устройств.

Изначально мы использовали Nexus 5 как оригинальные телефоны от Google, на которых все работало идеально. Позднее мы стали пробовать различные недорогие телефоны, на которых стоит стоковая операционная система с минимальным количеством расширений от производителя. Сейчас мы пришли к тому, что по соотношению цены и минималистичности операционной системы нам выгоднее использовать Fly.

В день мы тестируем в среднем 25 сборок приложения. Для каждой сборки выполняется около 500 UI-тестов и более 3000 unit-тестов. Для тестирования одной сборки на одном устройстве потребовалось бы около 900 минут.

0
28 комментариев
Написать комментарий...
Roman Maximov

Какая-то китайская компания содержит более 1000 вечно включенных смартфонов, чтобы тестировать на них свои приложения.

Ответить
Развернуть ветку
Кайл Брахловски

Мне кажется тут важнее подход к разработке ПО, а не количество телефонов. Не уверен что в России есть компании которые делают подобное. Судя по постоянным косякам яндекса там про такое пока не слышали )))

Ответить
Развернуть ветку
Konstantin

Есть компании, которые держат тыщи телефонов с возможностью удаленного управления и веб-камерами, чтобы сдавать их в аренду другим для тестирования :)

Ответить
Развернуть ветку
Алексей Патрин

а на эти телефоны тоже в фоновом режиме накатывается амиго и майлруагент, а сотрудники потом удаляют это всё, грязно матеря свою альма-матер?

Ответить
Развернуть ветку
Vladislav Kharchev

А что за красный кружочек в верхней части каждого смартфона? Это они камеру что-ли заклеили?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Vladislav Kharchev

Возможно и так. Но разве пикселы в видеопамяти телефона могут отличаться по значениям в зависимости от освещения?

Ответить
Развернуть ветку
Vladislav Kharchev

Так и запишем: под iOS они вообще не тестируют (в ролике все телефоны на андроиде) :-)

Ответить
Развернуть ветку
Anastasia Sharikova

А раз на видео нет разработчиков, видимо и разработчиков не существует)

Ответить
Развернуть ветку
Vladislav Kharchev

Ну там один за стойкой прячется :-)

И кстати, на планшетах тоже получается они вообще не тестируют? :-)

Ответить
Развернуть ветку
Anastasia Sharikova

Планшеты плохо себя вели и были недостаточно красивыми и их оставили на старой тумбочке :)

Ответить
Развернуть ветку
Vladislav Kharchev

Может тогда подскажите, что это за красный кружочек в верхней части каждого смартфона?

Ответить
Развернуть ветку
Anastasia Sharikova

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

Ответить
Развернуть ветку
Андрей Захаров

Разработчики тоже вмурованы в эту красивую стойку ;-)

Внутри сидят.

Ответить
Развернуть ветку
Игорь Алексеев

"непрерывная интеграция" ))) xех

Ответить
Развернуть ветку
Mikhail Kouznetsov

Автоматизированное тестирование, не автоматическое. Поправьте заголовок, пожалуйста.

Ответить
Развернуть ветку
Андрей Захаров

Непрерывная интеграция это как бы совсем не про это.

Милая девушка явно Фаулера не читала ;-)

Ответить
Развернуть ветку
Drima Sergerv

Непрерывная интеграция это как бы как раз про это ;)

Хотя, возможно, вы читали Фаулера, того который Робби, что за Ливерпуль играл. Талантливый был футболист, согласен.

Почитайте, вместе поулыбаемся http://www.martinfowler.com/articles/continuousIntegration.html

Ответить
Развернуть ветку
Андрей Захаров

И вот еще.

http://martinfowler.com/bliki/FeatureBranch.html

см. "Continuous Integration"

Покажи мне, где здесь автотест и автодеплой.

Ответить
Развернуть ветку
Андрей Захаров

Уже читал.

Автоматизированная сборка и автоматизированное же тестирование != непрерывная интеграция.

Ты слышал звон, да не знаешь где он:

"Integration is primarily about communication. Integration allows developers to tell other developers about the changes they have made. Frequent communication allows people to know quickly as changes develop."

А теперь давай смеяться. Над тобой.

Ответить
Развернуть ветку
Андрей Захаров

" I've heard people say they are doing CI because they are running builds, perhaps using a CI server, on every branch with every commit. That's continuous building, and a Good Thing, but there's no integration, so it's not CI."

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Алексей Лигер

красиво

Ответить
Развернуть ветку
Vladislav Kharchev

Как считаете, сколько такая стоечка стоит (без стоимости трубок, лежащих на ней)?

Ответить
Развернуть ветку
Drima Sergerv

Я думаю что ты уже все понял, поэтому начал читать и хаотично дергать цитаты ;)

1. Как можно сравнивать подход (Continious Integration) и процесс (Integration)???

2. Обратимся же опять в Фаулеру (не футболисту). Что же такое Continious Intergation если верить ему:

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.

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

Это как бы то что говорит нам Анна и то что говорит нам Фаулер. Но в вашей вселенной это "совсем про другое"

3. Можем по пунктам разобрать Practices of Continuous Integration которые есть в оригинальной статье Фаулера, но из того что написано в материале выше следует что большинство пунктов присутствуют в явном виде(хотя это и не требуется).

Современные HR-технологии позволяют оценить кандидата в том числе по активности кандидата в социальных сетях и интернете по тому что они пишут. Не пишите на профессиональные темы, дайте себе шанс поработать, вот в рамблер вас возьмут, уверен ;)

Ответить
Развернуть ветку
Андрей Захаров

Смешно. Я статью Фаулера прочитал тогда, когда она вышла, то есть в начале 200х.

Яйца курицу не учат, слышал такую поговорку ?

Умничай сколько угодно.

Ответить
Развернуть ветку
Андрей Захаров

Стоечка с телефонами - ключевой компонент Непрерывной Интеграции ? Поясни, профессиональный ты наш ;-)

P/S В говноконторах не работаю

Ответить
Развернуть ветку
Андрей Захаров

Так непрерывная интеграция возможна без автотестов и автодеплоя или нет ?

Давай, отвечай.

Ответить
Развернуть ветку
Андрей Захаров

А вообще, с кем я спорю ?

Я свою первую программу написал в машинных кодах более 30 лет назад.

Ответить
Развернуть ветку
Drima Sergerv

Давайте резюмируем:

1. Вы правы потому что написали программу в машинных кодах более 30-ти лет назад
2. Вы прочитали статью написанную в 2006 году в начале 200х, как бы предвосхитив автора

Вопрос "А вообще, с кем я спорю ?" кажется действительно уместен...

Удачи вам, Андрей ;)

Ответить
Развернуть ветку
25 комментариев
Раскрывать всегда