Разделы

ПО Бизнес Цифровизация

Как снизить трудоемкость разработки и повысить ее качество за счет генерации автотестов в экосистеме Digital Q

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

Digital Q: возможности для автоматизации тестирования

За счет синергии компонентов экосистемы цифровой трансформации Digital Q задача автоматизации создания автотестов при разработке микросервисных приложений существенно упрощается. В экосистеме имеются все необходимые средства для их генерации: зарегистрированные в платформе-архитекторе Digital Q.Archer контракты API и событий, бизнес-процессы, проектируемые на платформе Digital Q.BPM. В состав производственной платформы Digital Q.DevOps был включен специализированный набор инструментов, позволяющих автоматизировать создание автотестов, причем не только для функциональных сервисов, но и для бизнес-процессов.

Использование автотестов окупается за счет повторяемости их запуска и минимизации человеческого фактора,

Автоматизация тестирования API и событийного взаимодействия

Например, получив данные по API, их параметрам и типам, можно сгенерировать автотест, который будет запускать API и получать необходимые ответы, позитивные и негативные. Использование механизма CRUD API (тесты на добавление, поиск, изменение и удаление) дает возможность не оставлять следов после проведения автотестирования в базах данных: после выполнения теста все данные на стенде приводятся в исходное состояние.

Архитектура инструментария автоматизированного тестирования

Похожий подход применяется в автоматизации создания автотестов на асинхронное (событийное) взаимодействие, которое чаще используется для больших систем. Здесь так же имеются контракты и аналог CRUD в событиях. Для распознавания ответных событий во входящем потоке отслеживается их контекст.

Управление тестами

Сгенерированные тесты можно при необходимости дополнять и исправлять вручную. Тесты сохраняются в платформе управления исходным кодом Digital Q.VCS, в той же ветке разработки, что и исходный код. Это гарантирует соответствие функциональности создаваемого программного обеспечения проверяющим ее автотестам. При выпуске новой версии кода автоматически запустятся не только вновь созданные тесты, но и ранее сохраненные. Если какие-то старые тесты не завершатся успешно, решение о выпуске кода не последует. Таким образом, конвейер автоматически обеспечивает обратную совместимость.

Тестирование бизнес-процессов

Генерация шаблонов автотестов для бизнес-процессов происходит с использованием их описания в платформе Digital Q.BPM. Такие тесты позволяют покрыть все шаги бизнес-процесса. Тем не менее, участие человека в разработке таких тестов необходимо. Нужно указать подходящие входные объекты для бизнес-процесса: от их выбора зависит сценарий его исполнения.

Дальнейшее развитие инструментария

Доработка инструментария ведется в двух направлениях. Первое направление — функциональность создания автотестов для высокоуровневых бизнес-процессов. Такие сквозные бизнес-процессы не подразумевают полностью автоматического исполнения. Подобные процессы иллюстрируют предназначение системы с точки зрения бизнеса. Их тестирование тоже пока не ведется в автоматическом режиме, но инструментарий поможет провести его с должным качеством.

Реестр тест-кейсов
Редактирование шага тестирования

Второе направление — использование искусственного интеллекта (ИИ) для увеличения качества покрытия генерируемых низкоуровневых автотестов на API и события. Для этого в инструментарий будет внедрен механизм оценки качества покрытия. ИИ поможет повысить эту оценку на примере конкретного тестового стенда.

Перспективы

«Мы решаем задачу получения автоматизации в квадрате: чтобы инструментарий автотестов для программного обеспечения и бизнес-процессов в микросервисной архитектуре автоматически обеспечивал максимальное качество покрытия и повышение эффективности процессов тестирования», сказал Александр Захаров, директор департамента по инструментам и технологиям выпуска версий и тестированию компании «Диасофт».

Инструментарий автоматизированного тестирования компании «Диасофт» позволяет эффективно заменить такие зарубежные решения, как Postman/Newman при минимальном переобучении.

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

Автоматизация создания автотестов в экосистеме Digital Q значительно ускоряет процесс тестирования, повышает его качество и обеспечивает надежность работы программного обеспечения, сокращая при этом затраты на ручное тестирование.

Рекламаerid:2W5zFJ7KA56Рекламодатель: ООО «Диасофт Экосистема»ИНН/ОГРН: 9715403607/1217700330540Сайт: https://www.diasoft.ru/