Как снизить трудоемкость разработки и повысить ее качество за счет генерации автотестов в экосистеме 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/