Инженер по качеству Артём Трегуб об автоматизации тестирования и будущем электромобилей

05.03.24, Вт, 12:30, Мск,

Артём занимает должность старшего инженера по контролю качества в компании Arrival, которая специализируется на разработке электромобилей для коммерческого использования. Он руководит командами тестирования и обладает глубокими знаниями в области PyTest, CI/CD, DevOps, автоматизации, а также определения и настройки качества продукта. Артём повышает эффективность работы компаний за счет автоматизации задач и процессов, экономя ресурсы и время на разработку продуктов. В последние несколько лет он активно развивает профессиональное сообщество и делится своим опытом со специалистами в IT-сфере.

Основная статья: Электромобили

Инженер по качеству Артём Трегуб

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

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

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

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

Отвечая на ваш вопрос, могу сказать, что я предпочитаю Python и Pytest за их простоту и гибкость. Этот язык программирования позволяет решать задачи с минимальными затратами кода, обладает огромной базой готовых библиотек и относительно легко осваивается. Он также широко распространен среди QA-инженеров, что облегчает поиск новых специалистов.

Можете рассказать о вашем текущем проекте в Arrival? Какие ключевые задачи вы решаете как старший инженер по качеству и QA-лидер?

На данный момент я сфокусирован на разработке зарядного контроллера для электромобиля Arrival. Это система, которая управляет всем процессом зарядки аккумуляторов электромобилей. Контроллер взаимодействует с различными зарядными станциями для обеспечения безопасной, эффективной и надежной зарядки, независимо от типа станции.

С технической точки зрения основными задачами являются:

  • Общее улучшение качества и стабильности продукта.
  • Углубление процесса тестирования, его автоматизация и оптимизация.
  • Применение новых практик и технологий.
  • Разработка инструментов и процессов в команде для соответствия стандартам разработки автомобильного ПО, таким как ISO 26262 и ASPICE.

Как ваш опыт в тестировании и автоматизации процессов помог при разработке контроллера зарядки для электромобилей?

Мой опыт помог мне быстро сориентироваться в ситуации и первым делом внедрить самые быстрые и легкие решения, снижая рутинную нагрузку на команду, получив тем самым быстрый первый результат. Первоочередные вещи, которые были сделаны:

  • Автоматизация рутинных процессов в трекинговой системе.
  • Согласование и закрепление документа с описанием конвейера разработки и тестирования продукта.
  • Четкое распределение обязанностей членов команды, что исключило неопределенности.

Половина нашей команды располагается в Великобритании, но нам всё равно удалось преодолеть возникающие из-за этого трудности.

Вы занимались проектом системы управления батареями в Arrival. Какие инновации вам удалось внедрить в этот проект?

Удалось создать и внедрить набор внутренних библиотек для тестирования, избегая внешнего лицензирования. Это позволило активизировать использование внутренних аппаратных решений и улучшить "тестовый режим" системы управления батареями. Также была автоматизирована значительная часть тестовых сценариев в связке с системой непрерывной интеграции. Таким образом мы сократили время предрелизных проверок на 4 недели, что позволило нам выпустить 10 крупных релизов за короткий промежуток времени, подняв при этом качество продукта.

Расскажите о самых значимых вызовах, с которыми вы столкнулись при работе над проектами в Arrival, и как вы их преодолели?

Пожалуй, самым сложным проектом стал контроллер заряда. Тут было всё и сразу:

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

Для решения этих проблем были внедрены:

  • Система приоритезации багов и задач.
  • Унифицированный эмулятор зарядной станции, поддерживающий AC и DC коммуникацию, что ускорило разработку и повысило безопасность.
  • Автоматизация рутинных операций в трекинговой системе и подготовки релизной документации.

Эти меры позволили улучшить процессы разработки и повысить мотивацию команды.

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

Верите ли вы в будущее электромобилей?

Работа в Arrival — поистине уникальный опыт. Мне удалось разработать систему автоматизированного тестирования, выстроить процессы и по-новому подойти к разработке и тестированию двух ключевых компонентов любого электромобиля — системы управления батареей и зарядного контроллера.

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

Какие изменения и тенденции в области разработки электрических автомобилей вы считаете самыми важными в ближайшие несколько лет?

В сфере электрического транспорта перед нами стоят несколько ключевых задач:

  • Увеличение дальности пробега электромобилей на одном заряде
  • Значительное сокращение времени зарядки
  • Расширение сети надежных зарядных станций
  • Снижение стоимости производства и утилизации тяговых батарей

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

Большой интерес вызывает разработка твердотельных (solid-state) батарей, которые обещают повысить безопасность, энергоемкость и скорость зарядки. Я вижу потенциал в их производстве, возможно даже с использованием литографических технологий. Хотя сейчас технология твердотельных батарей дорогая, ситуация должна измениться в будущем.

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

На данный момент наиболее распространенными и безопасными являются LFP (литий-железо-фосфат) батареи, особенно популярные в Китае. Они обладают повышенной пожаробезопасностью и относительно низкой стоимостью, хотя и уступают по плотности хранения энергии. Однако, разработка продолжается, и уже к 2025-2026 годам автопроизводители премиум-сегмента обещают электромобили с пробегом 1000 км на одном заряде. Я считаю, что это правильное направление, и такие показатели должны стать нормой и для массового сегмента, что значительно ускорит переход на электрический транспорт и расширение инфраструктуры.

В каких направлениях вы планируете развиваться дальше? Какие проекты или технологии вас особенно интересуют?

Я верю в огромный потенциал электромобилей для гражданского применения. Наша задача как разработчиков — сделать их такими же удобными в использовании, как смартфоны. Это требует создания батарей и систем зарядки, которые позволят проезжать 1000 км без компромиссов в комфорте, с возможностью заряжаться до 80% за 30-40 минут или даже быстрее. Важно также сделать их доступными с экономической точки зрения, чтобы это перестало быть привилегией только люксовых автомобилей.

Исследования показывают, что большинство водителей проезжают не более 50 километров в день. Автомобили с такими характеристиками позволят заряжаться всего раз в неделю, обеспечивая достаточный запас хода для длительных поездок.

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

Какие из ваших публикаций или докладов вы считаете самыми важными для развития индустрии QA?

Я бы порекомендовал статью с советами и рекомендациями для построения фреймворка и статью о создании HTTP-сервера для быстрого прототипирования.

В первой статье я собрал советы, которыми сам постоянно пользуюсь при разработке систем автоматизированного тестирования. Это практические примеры, которые упрощают создание и поддержку автотестов на Python и Pytest.

Во второй статье я показал, как можно быстро и эффективно создать эмуляторы для тестового окружения с одним или несколькими API. Я предлагаю скачать, модифицировать и использовать пример сервера с моего GitHub, где также можно найти примеры unit-тестов. Надеюсь, этот подход облегчит внедрение системного тестирования в проекты.

Сейчас я исследую возможности последней версии ChatGPT 4o для использования в повседневной работе тестировщика. Пока нейросеть кажется многообещающей для задач тест-дизайна, преобразования данных и упрощения рутинных процессов. Надеюсь вскоре поделиться своими результатами.

Какие советы вы могли бы дать молодым специалистам, которые только начинают свою карьеру в сфере QA и автоматизации?

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

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

Если внешняя среда для вашего продукта нестабильна и мешает тестированию — эмулируйте её.

В баг-менеджменте всегда учитывайте бизнес-цели продукта и компании. Не зацикливайтесь только на технических и архитектурных ошибках. Понимайте своего пользователя, старайтесь собрать информацию об их опыте использования вашего продукта или аналогичных решений. Пользователи часто являются лучшими тестировщиками end-to-end процессов.