Обновление DoQA 4.3 (Titanium)
Релиз для автоматизаторов: раздел «Автотесты», запуск в GitLab, Jenkins и TeamCity, Quality Gate и глобальный поиск

Cross
Дата публикации: undefined.undefined.
Обновление DoQA 4.3 (Titanium): полноценный раздел «Автотесты», Quality Gate и карантин нестабильных тестов
РелизПолезное

DoQA 4.3 (Titanium) целиком посвящён автоматизированному тестированию. В продукте появился полноценный раздел «Автотесты» с собственным каталогом, запуск пайплайнов в трёх CI-системах, критерии приёмки прогона Quality Gate, работа с нестабильными тестами и автоматический разбор причин падений. Ручные и автоматизированные проверки по-прежнему живут в одном прогоне — теперь у автотеста в нём видна вся история попыток.

Не обошли и ручное тестирование: в продукте появился глобальный поиск по всей документации, автораспределение исполнителей, прогноз времени прохождения прогона и выгрузка отчётов в Excel и CSV.

Релиз 4.3 получил название Titanium (Титан, Ti).
Titanium — металл, на котором строят то, что должно выдержать нагрузку: авиацию, морские конструкции, медицинские импланты. Его берут не для украшения, а туда, где на первом месте прочность и надёжность каркаса под давлением.

Релиз 4.3 — новый каркас DoQA для автоматизированного тестирования. Три CI-системы, адаптеры для четырёх фреймворков, полноценный каталог автотестов, Quality Gate, карантин нестабильных тестов и дашборды аналитики — это не отдельные фичи, а несущая конструкция, на которой теперь держится вся работа с автотестами в DoQA. Titanium выдерживает нагрузку. Релиз 4.3 научил DoQA выдерживать нагрузку своего собственного тестового парка — без ложных срабатываний, без падений от разовой нестабильности, без пайплайна, который стоит и ждёт ручного разбора.

Раздел «Автотесты»

Все автотесты пространства теперь собраны в одном каталоге с деревом структуры и фильтрами по ветке, тегам, источнику и карантину.

У каждого автотеста есть состояние: здоровый, нестабильный, сломанный, в карантине, отключённый, восстановленный. Боковая панель автотеста показывает историю прохождений, стабильность, связанные тест-кейсы, требования и дефекты — всё в одном месте, без переключения между разделами.

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

Отдельная возможность — создание ручного тест-кейса на основе автотеста, у которого ещё нет связей. Это можно сделать вручную из карточки автотеста, автоматически по настройке пространства или по метке прямо в коде теста. Метаданные такого кейса дальше поддерживаются в актуальном состоянии по результатам прогонов — не нужно вручную синхронизировать описание с тем, что реально делает автотест.

Запуск автотестов в CI/CD

DoQA теперь подключается к трём CI-системам: GitLab, Jenkins и TeamCity.

CI-подключения заводятся на уровне пространства, и можно держать несколько подключений одного типа
одновременно — например, два разных сервера GitLab. Подключения тенанта наследуются пространствами с пометкой об источнике, так что не нужно настраивать всё заново для каждого нового пространства.

Перед сохранением подключение можно проверить кнопкой «Проверить подключение» — неверный токен или недоступный хост больше не сохранятся как рабочие незамеченными.

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

Один прогон теперь может держать несколько пайплайнов сразу: разнородный набор автотестов разбивается на группы по интеграции, проекту и ветке, а прогон закрывается только когда завершился последний из них. Формы запуска предзаполняются последней использованной связкой «CI-система, проект, ветка» — для повторяющихся запусков это экономит пару кликов на каждом.

Расписание запусков

Автотесты теперь можно запускать по расписанию — без изменений в конфигурации CI.

Для каждого расписания задаётся название будущих прогонов, часовой пояс, окружение и поведение на случай, если предыдущий прогон по этому же расписанию ещё не завершился.

Quality Gate — критерии приёмки прогона

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

Quality Gate защищает от «позеленения» прогона за счёт повторов — можно запретить засчитывать успех только благодаря авто-повторам, а также включить ранний останов, чтобы не тратить время CI на прогон, который уже не пройдёт критерии.

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

Вердикт Quality Gate виден прямо в прогоне, а команда doqactl gate возвращает его в пайплайн кодом
выхода — CI-система может блокировать деплой на основе результата, не разбирая логи вручную.

Нестабильные тесты, карантин и авто-повтор

DoQA сама находит нестабильные автотесты по истории прогонов: доля падений в окне, разный исход на одном коммите, «прошёл со второй попытки».

Нестабильный тест можно отправить в карантин: он продолжает выполняться, но не роняет Quality Gate и пайплайн. Карантин снимается автоматически, когда тест успокоился.

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

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

Кластеры ошибок и известные проблемы

Падения с одинаковой причиной автоматически собираются в один кластер по сигнатуре ошибки — вместо десятков однотипных упавших тестов в отчёте видна одна причина.

Падения раскладываются по классам «Продукт», «Автотест» и «Окружение» — собственными правилами, шаблон которых проверяется прямо в форме настройки.

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

Дашборд «Автотесты» и аналитика

Новая вкладка «Автотесты» в дашбордах пространства показывает: долю автоматизации, здоровье парка тестов, долю успешных прохождений, нестабильность, длительность, топ падающих тестов, разбивку по веткам и окружениям, экономию времени CI и топ кластеров ошибок.

Карта покрытия и лента прогонов во времени показывают, что шло параллельно и чем закончилось. Дашборд можно фильтровать по ветке, тегу и периоду.

Адаптеры, CLI и плагины IDE

Адаптеры для JUnit 5, JUnit 4, TestNG и PyTest отправляют результаты в DoQA прямо из прогона тестов, без файлового отчёта.

За тестом можно закрепить постоянный идентификатор аннотацией @DoqaId, а меткой @DoqaCreateManualCase попросить DoQA завести для теста ручной кейс автоматически.

Утилита командной строки теперь называется doqactl — прежнее имя doqa-cli продолжает работать. Утилита умеет больше, чем раньше.

Появились плагины для IntelliJ IDEA и VS Code: рядом с каждым тестом видно, привязан ли он к кейсу, кейс можно найти и привязать, проставить идентификатор для теста или всего файла и посмотреть каталог автотестов пространства, не выходя из редактора.

Глобальный поиск

Строка поиска в шапке приложения теперь ищет по тест-кейсам, чек-листам и общим шагам всего продукта.

Подсказки появляются по мере ввода, опечатки прощаются. Результаты открываются на отдельной странице с фильтрами и подсветкой совпадений в найденном тексте.

Прогоны и ручное тестирование

Автораспределение исполнителей распределяет тесты между выбранными участниками равномерно — по среднему, медианному или плановому времени прохождения.

Появился прогноз времени прохождения прогона по накопленной статистике — до начала прогона понятно, сколько он примерно займёт.

Умное копирование прогона позволяет скопировать, например, только упавшие тесты — не весь прогон целиком.

Отчёт о прогоне теперь можно выгрузить в Excel и CSV.

Добавление в прогон стало единым диалогом: кейсы, чек-листы и автотесты выбираются в одном окне с общим поиском, деревом папок и фильтрами по тегам.

Ссылка на прогон запоминает открытую вкладку — можно переслать коллеге ссылку ровно на то, что он должен увидеть, без дополнительных объяснений «открой вкладку такую-то».

Кейсы, чек-листы и требования

Состав выгрузки тест-кейсов и чек-листов теперь настраивается, как и формат файла.

Требование можно связать напрямую с автотестом — без тест-кейса-посредника. Автотест участвует в расчёте покрытия требования, а в карточке требования появилась панель связанных автотестов.

У тест-кейса появился статус автоматизации и признак происхождения — видно, что кейс создан из автотеста, а не написан вручную.

Синхронизация требований из Confluence теперь может забирать пространство целиком, а не только поддерево от выбранной страницы. Повторная синхронизация большого пространства больше не обрывается на середине.

Обновление уже доступно. Обращайтесь к каналу поддержки в Telegram или на support@doqa.app, если возникнут вопросы.

Вам может быть интересно

Подпишитесь на рассылку DoQA

Будем отправлять подборки статей о тестировании, анонсы митапов и новости системы. Никакого спама — только полезные материалы.

Согласие на обработку персональных данных является обязательным
Согласие на получение рассылки является обязательным

Дорожная карта

Открыто показываем, куда движется продукт. Выпущенные фичи, активные задачи и планы развития DoQA —всё в одном месте.

Перейти к дорожной картеArrowsRightTail

Начните работу в облачной версии DoQA прямо сейчас

14 дней бесплатно без ограничений по функциональности в облачной версии системы

ПопробоватьArrowsRightTail