Обеспечение качества продукта на основе искусственного интеллекта
В 2022 году объем рынка технологий искусственного интеллекта вырос на 75% по сравнению с 2021-м, достигнув оборот в $40 млрд. По данным исследования Bloomberg, к 2030 году этот показатель превысит $1,8 трлн. Аналитики считают, что в ближайшие годы ИИ-решения будут становиться все более важной статьей расходов в сфере обеспечения информационной безопасности и IT-инфраструктуры в целом.
Обеспечили контроль качества платформы видеоаналитики для транспортной инфраструктуры на всех этапах жизненного цикла разработки. Работали над валидацией ML-моделей, автоматизацией тестирования backend-сервисов и оптимизацией процессов релиза в условиях высоких нагрузок.
Задача
Клиент обратился к нам за обеспечением качества системы видеонаблюдения — множества сервисов для контроля бизнес-процессов и обеспечения безопасности, разработанных на основе технологий искусственного интеллекта.
Задачи со стороны команды тестирования и обеспечения качества
-
Гарантировать высокую точность детекции событий (распознавание транспорта, нарушений, пешеходов) и стабильность системы при обработке видеопотоков в реальном времени. Минимизировать ложные срабатывания, чтобы не перегружать операторов и службы реагирования.
-
Тестировать требования и результаты разработки микросервисной архитектуры и алгоритмов компьютерного зрения. Задача — убедиться, что новые детекторы работают корректно, а система выдерживает увеличение нагрузки и количество установленных камер.
Решение
Мы выполнили следующие задачи на проекте заказчика:
-
разработка и написание автотестов для существующего, а в дальнейшем и нового функционала продукта (это позволило уменьшить объем ручного тестирования и облегчить переход в автоматизацию, в том числе для проверки API микросервисов и интеграции ML-моделей);
-
покрытие тест-кейсами, тестирование нового и существующего функционала (особое внимание уделяли сценариям работы с видеопотоком: корректность распознавания объектов, обработка ошибок при потере сигнала);
-
написание скриптов для нагрузочного тестирования (эмулировали множественные видеопотоки, чтобы проверить стабильность системы при подключении новых камер);
-
тестирование проектной документации (валидировали требования к метрикам качества AI-моделей (точность, полнота, F1-мера).
Результат
Мы выполнили поставленные задачи по обеспечению качества системы в установленные сроки, а также внесли ряд предложений по развитию автотестирования.
-
Отсутствуют дефекты повышенной критичности на продакшене (падения сервисов, потеря потоков).
-
Сократились дефекты, возникающие из-за конфликта функциональности и распределенной разработки микросервисов.
-
Сократились расхождения фактического и ожидаемого результата (точность моделей) за счет оптимизации работы с требованиями и валидации датасетов.
-
Тестирование не задерживает реализацию новых функций, а наоборот, помогает (ускоряет реализацию за счет автоматизации).
-
Вместе с расширением проекта уточнены и оптимизированы процессы работы — как разработки, так и тестирования (CI/CD).
-
Хорошее взаимодействие как внутри команды QA, так и между командами разработки и Data Science.
Трудности
Быстрорастущий проект по схеме развития стартапа через MVP-итерации (последовательное внедрение детекторов: сначала транспорт, потом пешеходы, затем нарушения). Разработка ведется в высоком темпе, в связи с чем важна скорость прироста функциональности.
- Высокая нагрузка на отдел тестирования из-за частых релизов и большого объема регрессионного тестирования.
-
Специфика тестирования ИИ: недетерминированные результаты, зависимость от погодных условий и освещения.
-
Необходимость эмуляции высоких нагрузок на видеопотоки для проверки производительности.
Необходимость следить за соблюдением процессов, чтобы поддерживать межкомандное взаимодействие между разработчиками, Data Science и QA.
Технологии
-
Python
-
Requests
-
Selenium
-
Locust
-
GitLab
-
Allure
-
TestOps