Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025)

Материал из 0x1.tv

(перенаправлено с «20251004N»)
Докладчик
Сергей Козлов.jpg
Сергей Козлов
  • Доклад посвящён разработке тест менеджмент системы TestY, дан краткий обзор системы, причины запуска внутри и последующей публикацией в Open Source.
  • Рассмотрены очевидные и неочевидные плюсы и минусы передачи кода в Open Source на примере TestY.
  • Выстраивание процесса разработки проекта.

Видео[править вики-текст]

on youtube

Презентация[править вики-текст]

Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025).pdf

Thesis[править | править вики-текст]

Ключевые слова: тестирование, тест менеджмент система, TMS.

Что такое TestY[править | править вики-текст]

TestY — это тест менеджмент система, предоставляющая функционал для хранения тестовых кейсов в виде, объединённых в тестовые наборы (suites). Из тестовых кейсов формируются тестовые планы, в которые вносятся результаты исполнения тестов. По результатам выводится информации о статусе прохождения.

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

Кастомизация системы не предусмотрена как расширение функционала внутри core части, а как представление интерфейсов и сущностей, позволяющих встроить систему в текущий IT ландшафт компании: атрибуты ко всем сущностям, плагинная система Django и вообще многие расширения Django, меню интеграции.

Система построена на популярных технологиях: Django, PostgreSQL, React, Celery и в случае необходимости внести изменения потребуется инженером с опытом работы в соответствующем стеке не более 3 лет.

Внутри контура Yadro система успешно работает 3 года, 1000 пользователей ежемесячно, ~100 проектов/продуктов от СХД и планшетов до тестов 1С конфигураций, десятки миллионов тестовых результатов.

Путь в Open Source[править | править вики-текст]

В силу прекращения поддержки весной 2022 года коммерческой иностранной TMS, недостаточности функционала и стабильности отечественных коммерческих систем, а также Open Source решений: было принято решение писать свою систему. После года эксплуатации и взрывного роста количества сотрудников стало понятно, что проект успешен и востребован внутри. Но тем не менее компания решила, что проект не имеет коммерческой перспективы в текущем состоянии, не совпадает с планами развития и в 2023 году код был опубликован под лицензией AGPLv3. Кроме того, было предположение, что часть кода (функционала) будет получена из коммьюнити.

Предположения о Open Source[править | править вики-текст]

Первоначально предполагалась следующее:

  • Основными пользователями Open Source будут небольшие компании разработки, не имеющие собственной TMS и планирующие включить её в процессы R&D, но не нести при этом финансовые затраты. Факт: есть маленькие компании и компании с сотнями инженеров.
  • Система не имеет важных компонентов как, например, отчёты. Отчёты должны были разрабатываться сами пользователями под их задачи. Факт: плагины пишутся, но не выкладываются.
  • При нахождении дефектов или запросов пользователи будут заводить тикеты на gitlab. Факт: пишут на почту и просят исправить.

Как выстроен процесс[править | править вики-текст]

Компания ведёт разработку внутри контура периодически выкладывая версии в публичный репозиторий и оповещая пользователей почтовой рассылкой. Если приходит PR в публичный репозиторий, то он импортируется отдельным процессом. Так как внутри компании большое количество инженеров пользуются системой и часто поступают противоречивые требования, то был создан архитектурный комитет из ключевых QA сотрудников разных департаментов и дивизионов, которые принимает решение о roadmap. Также есть возможность любому инженеру внутри взять любую задачу (прошедшую комитет) в работу и улучшить систему (InnerSource): для плагинов нет ограничений, там каждая команда пишет как хочет по своим правилам.

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

Релизы публикуются в ОС раз в 2—4 месяца после 2—4 недельной эксплуатации внутри компании. Это одно из отличий: часто в ОС публикуются релизы проектов, прошедших цикл разработки и тестирования без рантайма проекта в продакшен среде.

В чём плюсы для компании[править | править вики-текст]

  • Снижение затрат на лицензии коммерческих решений.
  • Резко увеличивается общий объём тестирования.
  • Отдельно можно рассмотреть UX, насколько интерфейс интуитивно понятен, а значит упрощает введение нового инженера.
  • В средних и крупных компаниях часто возникают конкурирующие внутренние проекты, при котором сложно объединить в один общий проект. В случае ОС позволяет это сделать проще (InnerSource).
  • Работа над проектом, который публикуются в ОС, существенно выше мотивирует инженеров, так как это позволяет увеличить видимость как профессионала.
  • Лучше идёт работа с публичным API и документацией.
  • Повышается бренд и узнаваемость компании, упрощается найм.

Минусы для компании[править | править вики-текст]

Поддержка Open Source проекта, даже если это полная копия, требует ресурсов как минимум на тесты безопасности, блокирующие компрометацию логинов/паролей/токенов или информации о внутренней инфраструктуре. Построение community потребует кратно больше ресурсов на поддержку как ОС экосистемы: системы управления версиями, системы управления проектов, системы управления знаниями/документами, общие каналы коммуникации, ведение коммьюнити.

Коммерциализация[править | править вики-текст]

Коммерциализация ОС проекта предполагается по классическим вариантам: прежде всего это контракты на поддержку с SLA, реализация дополнительного функционала, облачные решения. В части TestY к нам поступали запросы о миграторах из других TMS в TestY или плагины отчётов, однако в силу высокой загрузки и отсутствия применимости внутри компании мы такие задачи не брали.

Заключение[править | править вики-текст]

Основания идея доклада, это рассказать о TestY как примере проекта, ставшего Open Source и побудить компании найти подобные решения внутри у себя, которые могли бы быть также опубликованы под OS лицензиями.


Зачем компании отдавать свой код в Open Source. На примере TestY (Сергей Козлов, OSSDEVCONF-2025)!.jpg

Примечания и ссылки[править вики-текст]