Развитие корпоративной платформы управления устройствами
Заказная разработка ПО
Развитие платформы управления устройствами: администрирование, контроль прав доступа и автоматизированные регрессионные тесты интерфейса и API.
~2~Обзор проекта ~p~Разработчик корпоративного ПО расширял действующую платформу управления мобильными устройствами компании. Продукту требовались новые функции и одновременная модернизация внутренних компонентов. Инженеры присоединились к команде заказчика, усилив фронтенд-, бэкенд-разработку и автоматизированное тестирование. ~2~Задача ~p~Новые административные функции нужно было выпускать без остановки действующего продукта. Некоторым интерфейсам требовалось обновление, сервису прав доступа — архитектурные изменения, а рост функциональности увеличивал объём повторного ручного регрессионного тестирования.
~2~Решение и реализация ~3~Административное веб-приложение ~p~На фронтенде создавались новые экраны управления устройствами, обновлялись формы и сценарии настройки, модернизировалась библиотека компонентов. ~3~Сервис пользовательского доступа ~p~Работы на сервере были сосредоточены на сервисе прав пользователей. Инженеры изменили хранение данных и обработку запросов, улучшили взаимодействие с хранилищами платформы и компонентами обмена сообщениями. ~3~Постепенная модернизация ~p~Старые части продукта заменялись поэтапно, а не полной переписью, поэтому действующие рабочие процессы оставались доступными. ~3~Автоматизированные проверки качества ~p~UI-тесты проверяли административные действия, а API-тесты — серверные запросы и обмен между компонентами. Проверки встроили в процесс разработки для раннего обнаружения регрессий. ~2~Технические особенности ~3~Модернизация работающего продукта ~p~Платформа заказчика уже управляла корпоративными смартфонами, планшетами и терминалами сбора данных. Она поддерживала политики приложений, обновлений ОС, разрешений и удалённых действий. Полная замена интерфейса администрирования или серверной части нарушила бы эти сценарии, поэтому инженеры обновляли отдельные компоненты и сервисы по мере развития продукта. ~3~Отдельный сервис прав доступа ~p~Серверные работы были сосредоточены на сервисе пользовательского доступа, включая обработку запросов, организацию данных и сообщений. Сервис взаимодействует с Redis, PostgreSQL, ClickHouse и брокером сообщений. Такое сочетание требует внимания к обмену состоянием доступа и связанными данными между компонентами платформы, а не только к виду экранов настроек. ~3~Повторяемая проверка UI и API ~p~По мере появления новых элементов управления ручная регрессия стала тормозить релизы. Автоматизированные UI-сценарии теперь воспроизводят переходы по разделам, изменение конфигураций, фильтрацию записей и сохранение настроек. Серверные тесты на Pytest проверяют API-запросы и связь сервисов. Команда раньше получает обратную связь, когда изменение нарушает существующий сценарий администрирования. ~3~Особенности реализации ~p~Работа велась сразу по трем направлениям: административный интерфейс, серверный сервис прав доступа и автоматизированные проверки UI/API. ~p~Новые модули и библиотека компонентов вводились постепенно, поскольку система продолжала управлять устройствами и корпоративными политиками во время разработки.
~2~Результат ~p~Продуктовая команда заказчика получила дополнительные инженерные ресурсы для экранов администрирования, сервисов прав доступа и тестирования. Платформа продолжила развиваться при поэтапной модернизации старых компонентов. Автоматические UI- и API-тесты сократили повторную регрессионную работу и помогли выявлять дефекты до релиза. Проект показывает длительную продуктовую разработку внутри команды заказчика.