ITS Partner: Мы разрушили стереотипы об автоматизированном тестировании

Мы ранее писали об ITS Partner – это крупная IT-компания из Беларуси, вот уже более 10 лет она занимается разработкой программного обеспечения и облачных решений для рынка США и Европы.

Егор Павловец, QAA тимлид проекта Arlo — системы домашнего видеонаблюдения, использующей технологии искусственного интеллекта. Команда ITS Partner во главе с ним отвечает за тест автоматизацию продукта Arlo.

В новом интервью с Егором мы узнали про его карьерный опыт, профессию тестировщика и спросили, как работает система домашнего видеонаблюдения Arlo и происходит тестирование продукта.

Arlo – система домашнего видеонаблюдения, эволюционирующая в полноценную систему Smart Home. За последнее время было продано более 7 млн устройств. Проект активно продолжает развиваться, продукт проходит тестирование в R&D центре ITS Partner. Бэкенд многомодульный: поддерживает как непосредственную возможность управления устройствами и множество сопутствующих сервисов, так и интеграцию с третьими продуктами (Amazon Alexa, Google Assistant и другие).

Тимлид ITS Partner Егор Павловец о проекте Arlo:

«Это уникальная система домашнего и корпоративного видеонаблюдения с использованием технологий искусственного интеллекта».

Егор, чем вы занимаетесь в ITS Partner?

Я ведущий разработчик по автоматизации тестирования, руководитель команды автоматизаторов, в ITS Partner работаю почти 4 года. Мой основной домен — test automation во всех его проявлениях.

Наша компания работает в тесном сотрудничестве с лидером американского рынка видеонаблюдения — компанией Arlo. За время совместного сотрудничества с Arlo ITS Partner удалось создать и обеспечить качество уникального продукта для домашней безопасности. Специалисты из моей команды отвечают за достаточно широкий спектр критически важного функционала: от нагрузочного тестирования облачных серверных решений искусственного интеллекта (камеры Arlo предоставляют возможность обнаруживать события в видеопотоке) до тестирования Firmware прошивок самих камер.

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

Расскажите про систему Arlo? Как работает система?

Егор: Я задам вам встречный вопрос: вам приходилось искать что-либо по системе видеонаблюдения?

Асема: Было дело, у меня украли велосипед в подъезде дома. Мы обратились в КСК, были камеры, но оказалось, что они не записали момент кражи. Представляете, управдом сказал, что память была переполнена, при этом мы платили ежемесячно около 1 доллара (400 тг).

Егор: Чем Arlo берет рынок? Вы не смогли найти сам момент кражи, закончилось место для хранения записи, платная подписка. Arlo решает это по очень доступным ценам для корпоративного и частного сектора. Есть функция continuous video recording (CVR), которая постоянно записывает все происходящее, и с помощью искусственного интеллекта в этом огромном видеопотоке информации Arlo ставит отметки, что здесь был человек, здесь проходил почтальон, здесь проехала машина, здесь было замечено животное, здесь был громкий шум. И на таком таймлайне с событиями найти необходимое – гораздо легче и быстрее.

Камера разбивает все события по числам, записывает, что происходило, и помечает это на графике суточного времени. У меня в кабинете стоит моя тестовая камера: я могу видеть, что в 12 часов ночи кто-то находился в офисе, приходила ли клининговая служба. Вам не нужно просматривать все 24 часа записи, искусственный интеллект находит и определяет эти события из видеопотока сам. И второй крутой момент, что камеры Arlo на одной батарее могут работать больше полугода, а на расширенной год!

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

Вы отвечаете за тест продукта?

Да, мы сфокусированы на продукте, на его качестве, новых фичах и их скорейший выход на рынок. Мы делаем разработки и тестирование в области искусственного интеллекта, это исследование и разработка нейронных сетей, так сильно влияющих на рынок видеонаблюдения. У нас в команде есть крутейший специалист, который делает нагрузочное тестирование изнутри облака. Огромным вызовом для него стало создание симулятора Arlo камер для генерирования десятков тысяч подключений. Трудно поверить, но этот симулятор и все нагрузочное тестирование облачной инфраструктуры было сделано одним человеком, я им просто восхищаюсь – он гений!

Просто представьте уровень задач для одного инженера: на базе реального фирмваре создать линукс версию симулятора Arlo камер; сгенерировать 40 тысяч Arlo пользователей с десятком камер в аккаунте, всем этим хозяйствам слать видеопотоки на сервера облачной инфраструктуры в течение недели; автоматически собирать все метрики и показатели жизнеспособности серверов; на выходе генерировать отчет на уровне NASA, не только по своей красоте, но и по содержанию. Таких людей единицы на планете.

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

Как работает R&D центр?

Работу R&D центра можно разбить, ожидаемо, на два больших направления: исследования и разработка. Те исследования, которые прошли и получили одобрение руководства Arlo, идут в разработку. Собственно, центр разработки реализует то, что было одобрено в результате исследований. Могу привести яркий пример из нашего недавнего R&D проекта в отделе тестирования: один из новых продуктов успешно проходил  все тесты, но полной уверенности в нем не было. Это устройство передали нам для тестирования. Для этого мы собрали достаточно большой испытательный стенд, на котором сейчас при помощи Arduino и сложно интегрированной тест инфраструктуры можно генерировать различные внешние события: пользователь нажал на звонок, в области видимости пассивного инфракрасного датчика произошло движение.

В результате нескольких месяцев плотных тестов и совместной работы со всеми вовлеченными командами, мы обнаружили серьезные дефекты проектирования микроконтроллеров внутри устройства (устройство не держало заявленные характеристики, перегревалось, чрезмерно потребляло заряд аккумулятора). В результате этого исследования и повторного тестирования, после смены трех версий аппаратной начинки, в конце концов, все тесты стали зелеными и подтвердили соответствия устройства заявленным характеристикам, и оно успешно пошло в продажу. В разработке процесс примерно такой же – сначала разрабатывается концепт (PoC – Proof of Concept), затем после череды согласований и одобрений он идет уже в промышленную разработку.

Проект Arlo разбит на множество доменов: мобильный клиент для iOS, для Android, веб-клиент, серверная часть, облачные инфраструктуры, сетевые вопросы с протоколами видеостриминга, тестирование и в каждом таком домене у нас есть команда, исследования и разработки.

Егор, расскажите о команде проекта?

Здесь собрался уникальный коллектив, так получилось, что в этой команде оказались те люди, которые 10 лет назад были junior-специалистами вместе со мной в других компаниях. При этом мы работали в достаточно в крупных enterprise-проектах. Вот с этими ребятами мы составили экспертное ядро ITS, вместе мы составили костяк команды. Это ребята, которые готовы делиться своими знания и подтягивать молодежь. Мы решили делать ставку на junior-специалистов, которых мы можем обучать с нуля. И за три года наша команда из троих человек выросла до двадцати одного.

Пять человек в команде – эксперты планетарного уровня, это специалисты с 10-летним опытом работы, которые разобрались в этом домене и могут передавать свои знания дальше. Четыре члена команды уже выросли до серьезных senior-менеджеров, к ним пятеро специалистов подрастают до middle. Остальные члены команды junior+, это люди, работают первый год, но уже способны выполнять самостоятельные задачи.

20% человек в моей команде – это девушки. Буквально три года назад у себя в Linkedin я поднимал такой вопрос: «Есть ли у вас в команде хотя бы одна девушка автоматизатор?». И три года назад это было практически невозможно – найти девушку автоматизатора, сейчас картина изменилась радикально – теперь девушек автоматизаторов очень много, в целом автоматизаторов стало больше за эти годы. Я наблюдаю, что в некоторых компаниях Кремниевой долины запрос на автоматизаторов превышает запрос на ручных тестировщиков.

Значит в ITS можно прийти junior-специалистом?

Да, конечно, более того, мы набираем талантливых ребят вообще без опыта работы. Так как мы R&D лаборатория, нам важен психологический климат, чтобы был сплоченный коллектив, мы инвестируем в долгосрочные, серьезные, партнерские отношения с нашими заказчиками-партнерами и сотрудниками, поэтому для нас на первом месте всегда важна личность человека и только потом его навыки.

Инвестировать в молодежь – благородное дело, и я очень рад, что мы можем себе это позволить как компания. Благодаря нашему мудрому руководству и всем сотрудникам компании, был накоплен инвест фонд, из которого мы можем выплачивать зарплату стажерам без опыта, чтобы во время стажировки они могли полноценно погрузиться в новую сферу. Сейчас мы ведем работу над тем, чтобы сделать этот фонд еще больше и высвободить еще больше времени менторов для работы с ребятами.

Как вы знаете, ITS Partner отличается высокой корпоративной культурой, богатыми ценностями и долгосрочной миссией, мы стараемся развивать и распространять все современные социальные тренды, доказавшие свою обоснованность и эффективность. Такой прорыв у нас случился, когда к компании присоединилась новая HR-директорка Евгения Иванова. У нее есть степень престижного Европейского университета, она просто перевернула наш маленький уютный мир, и я очень благодарен ей, что она в доступной форме смогла объяснить суть тех ценностей, которые в Кремниевой Долине давно уже считаются де-факто нормой, а нас еще немного пугают.

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

Как попасть к вам в команду?

Выдержать ралли из 10-и розыгрышей в настольный теннис (улыбается).

У нас есть программа стажировок – она также работает в Казахстане. Если кандидат успешно сдал тестовые задания, то он проходит к нам на стажировку. Для каждого специалиста мы разрабатываем индивидуальный карьерный план, индивидуально зарплатный план, то есть у человека есть полное понимание, где он сейчас, куда он идет, где будет через 3 месяца, где будет через год, какая у него будет зарплата, какие ему нужно освоить навыки технологий, чтобы дойти до определенного уровня. Мы это все прорабатываем индивидуально с каждым нашим стажером. Многие из них подписывают трехлетние контракты с компанией, совершенно не желая уходить.

Все наши стажировки оплачиваемые, на старте заработная плата минимальная. Это время для знакомства с друг другом, проверить совместимы ли мы с этим человеком, если мы видим, что все хорошо, мы досрочно закрываем стажировку и повышаем оплату в 5 раз. После окончания испытательного срока оплата повышается еще в 2 раза.

Где можно пройти тестовые задания?

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

Задания можно использовать, как пример, обычно, с каждым разом мы разрабатываем разные, по этим заданиям можно проверить себя, чтобы понять, насколько вы готовы к стажировке и смене профессии.

А если кандидат провалил тестовые задания?

Я понимаю, как важна обратная связь. Мы даем обратную связь всем нашим соискателям, которые потратили свое время на выполнение тестовых заданий. Некоторые тратят очень много сил, особенно начинающие специалисты. К примеру, тестовые задания, которые выполняются за 1,5 часа, некоторые делают 1,5 – 2 недели. Уважая их усилия и затраченное время, каждому соискателю мы расписываем обратную связь: что пошло не так, где он мог сделать лучше, что ему надо почитать, изучить. Какие-то вещи у нас заготовлены шаблонами, так как бывают типовые ошибки, но некоторым мы с командой индивидуально сидим и расписываем, проверяем все задания, мы знаем, что настойчивый и мотивированный человек, вернется к нам на следующий набор.

Где учиться на тестировщика?

QA звучит не так круто, как разработчик, многие не понимают особых плюсов этой профессии и трудностей в том числе, многие думают, что это какая-то ерунда. Очень хорошо получается у тех, у кого глубинные знания в системах, есть успешные кейсы ребят, которые пришли после обучения в медуниверситете. Я это связываю с тем, что в QA профессию хорошо заходят те, кто научился страдать во время учебы ради результата и те, кому нравится процесс охоты за багами. Настойчиво искать первопричину подходит не всем. Ребята, у которых неделю, месяц что-то не получается, но они продолжают биться над проблемой. Для этой профессии нужно много мотивации, пробовать снова, ошибаться, пробовать снова.

Ребята, которые способны к самообучению, весьма успешно учатся на различных курсах. Сейчас очень много разных школ, главное – внимательно смотрите и изучайте отзывы. Желаю твердо стоять на фронте обеспечения качества, чтобы не один баг не просочился.