Преобразование роли тестировщика с помощью ИИ и Digital Q: кейс «Диасофт»
В «Диасофт» с помощью искусственного интеллекта в рамках платформы Digital Q.DevOps удалось полностью автоматизировать генерацию тестов для API и событий. Теперь все программные решения компании, построенные на микросервисной архитектуре в экосистеме Digital Q, в обязательном порядке проходят проверку автоматически созданными тестами. Наличие автоматического тестового покрытия стало непременным требованием для выхода любого продукта в релиз.
Предыдущий подход
Для разработки микросервисов и проектирования взаимодействий между ними (контракты API и событий) в компании применяется low-code платформа Digital Q.Archer, которая генерирует код сервисов. Ранее автоматизация затрагивала лишь создание автотестов для стандартных CRUD API и событий; для сложных API и событий с уникальной бизнес-логикой автоматическая генерация готовых тестов была невозможна. Из-за этого специалистам по тестированию приходилось разрабатывать такие тесты вручную, что требовало значительных трудозатрат.
Внесенные изменения
Теперь при появлении новых или модификации существующих микросервисов задача создания или обновления автотестов для API и событий передается искусственному интеллекту. Если уровень тестового покрытия оказывается ниже установленного порога, дальнейшее продвижение сервиса по pipeline к заказчику приостанавливается.
«Мы внедрили принцип обязательного тестового покрытия. Это обязательное условие. Продукт, не прошедший автотесты, не включается в релиз»,— подчеркивают разработчики «Диасофт».
Принцип работы
Процесс генерации автотестов с использованием ИИ состоит из четырех основных этапов:
Тестировщик формирует системный промт — набор настраиваемых параметров, включая ссылку на Swagger-документацию со описанием всех API и событий продукта, а также адрес тестового стенда.
Специалист по тестированию описывает сценарий проверки, используя бизнес-терминологию тестируемого сервиса.
Затем тестировщик определяет режим работы искусственного интеллекта: поиск исключительно API-методов, только событий или формирование комплексных проверок с построением сложных последовательностей. Весь диалог с ИИ осуществляется через понятный визуальный интерфейс. Система искусственного интеллекта получает API-контракты из Digital Q.Archer и доступ к тестовому окружению.
На основании контракта формируется черновик теста, после чего выполняется его первичный прогон.
Анализируя контракты, ИИ, подобно квалифицированному инженеру, генерирует код автотеста на заданном языке — в «Диасофте» для этих целей применяется Groovy, схожий с Java. Принципиально важно не то, на каком языке пишет ИИ, а сам результат его работы — технология гибко настраивается под другие языки, такие как Python или Java.
ИИ выполняет автотест в тестовом окружении, изучает полученные результаты, и в случае сбоя выявляет зависимости, дорабатывает тест и запускает его повторно.
Как правило, для достижения стабильного и корректного результата требуется 2-3 цикла таких доработок.
После нескольких итераций самостоятельной отладки ИИ формирует стабильный и надежный автотест. Его главное достоинство — способность адаптироваться к реальным условиям работы, а не просто формальное следование спецификациям контракта.
Ключевой момент: инфраструктура ИИ развернута в изолированном контуре «Диасофт», данные не покидают его пределов и не размещаются в зарубежных центрах обработки данных.
Преобразование роли тестировщика
В новых реалиях тестировщику необходимо сосредоточиться на составлении четкой и качественной инструкции для ИИ (тест-сценария). Чем точнее и детальнее формулировка, тем быстрее и правильнее будет итоговый результат. Остальную часть задач по созданию автотеста берет на себя искусственный интеллект.
Вторая важная обязанность тестировщика — содержательная проверка готового автотеста и ответ на принципиальный вопрос: соответствует ли автоматически созданная логика исходному тест-сценарию, бизнес-процессу и функциональности продукта.
«Для принятия результата тестировщик должен отлично разбираться в своем продукте. Оценить, насколько код релевантен бизнес-логике, может только специалист, глубоко понимающий продукт», — подчеркивают разработчики компании «Диасофт».
Внедрение ИИ приводит к кардинальным изменениям: объем рутинного труда тестировщика сокращается, но его работа становится качественно сложнее. От него теперь требуются экспертные знания, аналитические способности и глубокое понимание предметной области — уровень квалификации должен быть выше.
ИИ освобождает от шаблонных операций, позволяя сфокусироваться на главном — обеспечении качества кода и бизнес-ценности через глубокое понимание продукта.
Таким образом, ИИ не заменяет человека, а становится его мощным помощником. ИИ берет на себя алгоритмическую, рутинную работу по генерации тестового кода, а за тестировщиками остается проверка соответствия логики теста бизнес-сценариям. Такой симбиоз позволяет не только ускорить процессы, но и гарантировать надежность и высокое качество кода.
Платформа Digital Q.DevOps входит в число ведущих решений в рейтинге DevOps-платформ для комплексной автоматизации процессов разработки, составленном CNews Market.
■ Рекламаerid:2W5zFGGap9WРекламодатель: ООО «Диасофт Экосистема»ИНН/ОГРН: 9715403607/1217700330540Сайт: https://www.diasoft.ru/