Тема
Автотесты
Автотест появляется в DoQA только тогда, когда в систему приходят результаты его выполнения, — добавить его вручную нельзя. Базовые понятия — на этой странице, практические руководства — в карте раздела.
Что такое автотест
Автотест в DoQA живёт в двух местах:
- Каталог автотестов — реестр всех автотестов пространства: раздел «Автотесты» в меню пространства, вкладки «Каталог» и «Кластеры ошибок». Здесь у автотеста есть карточка с историей, показателями стабильности и привязками — см. Каталог автотестов.
- Прогоны — результаты каждого выполнения. Они попадают в обычные прогоны рядом с ручными тест-кейсами; разбор результата — Результаты и разбор падений.
Запись в каталоге создаётся автоматически при первом результате и дальше накапливает историю: сколько раз тест прошёл и упал, насколько он стабилен, откуда запускался.
Внешний ID
Основной идентификатор автотеста — внешний ID (externalId). Он уникален в пределах пространства и задаётся в коде теста:
- в Java-адаптере — аннотацией
@DoqaId; - в Allure-отчёте — меткой
doqa_id; - в JUnit XML — свойством
<property name="doqa_id" value="..."/>.
Если явного ID нет, Java-адаптер выводит его сам — по строгому приоритету:
- маркер в имени теста:
[DOQA-123]или@DOQA:123в display name; - совместимый ID из Allure-разметки, если она есть в проекте, — Переезд с Allure;
- хэш сигнатуры метода — стабилен, пока не меняются класс и сигнатура теста.
Если внешний ID не передан вовсе, DoQA опознаёт автотест по полному имени. Это работает, но хрупко: при переименовании тестового метода для DoQA это будет новый автотест без накопленной истории. С внешним ID переименование безопасно — история, стабильность и привязки остаются у той же записи каталога.
Задавайте внешний ID явно
Явный внешний ID — единственный способ сохранить историю автотеста при переименовании и переносе между классами. Для новых проектов задавайте его с первого дня.
Переход на внешний ID
Если автотест раньше отчитывался без внешнего ID, а затем стал присылать его, вторая запись в каталоге не создаётся. DoQA находит существующий автотест по имени и записывает ему присланный внешний ID — накопленная история «усыновляется» новым ключом. Если у найденного по имени автотеста уже записан другой внешний ID, ключ не перезаписывается: результаты продолжают попадать в существующую запись со старым ключом.
Как результаты попадают в DoQA
| Способ | Когда подходит | Подробнее |
|---|---|---|
| Загрузка отчёта в интерфейсе | разовая выгрузка готового отчёта JUnit XML или Allure — DoQA создаёт прогон с результатами | Отправка результатов автотестов |
| doqa-cli | отправка из CI или локально: watch шлёт результаты по мере выполнения тестов, report — готовый отчёт | там же |
POST /api/autotests/report | тот же приём отчёта по HTTP, без утилиты | там же |
| Адаптер тестового фреймворка | библиотека в тестовом проекте: результаты в реальном времени, с шагами, вложениями и метками, без файлов отчётов | Адаптеры для тестовых фреймворков |
| Собственный адаптер | готового адаптера под ваш язык или фреймворк нет — прямое API /api/autotests/* | Autotest API |
| Запуск из DoQA | DoQA сама запускает пайплайн в подключённой CI-системе; результаты попадают в прогон по ходу или по завершении пайплайна — смотря как пайплайн их отправляет | Запуск автотестов из DoQA |
Способы можно совмещать: например, ежедневные запуски идут из DoQA по расписанию, а разовые локальные прогоны разработчики отправляют через doqa-cli. Результаты в любом случае попадут в один и тот же автотест каталога — идентичность определяет внешний ID, а не способ доставки.
Связь с тест-кейсами
Связь автотеста с ручным тест-кейсом показывает, что кейс покрыт автоматизацией. Один автотест может покрывать несколько тест-кейсов; у тест-кейса — не больше одного автотеста.
Способы привязки:
| Способ | Откуда задаётся | Поведение |
|---|---|---|
| Список кейсов | метка doqa_cases в отчёте или аннотация @DoqaCaseIds в Java-адаптере — ID нескольких кейсов | аддитивно: прежние связи не снимаются |
| По коду кейса | код тест-кейса совпадает с внешним ID автотеста | аддитивно, срабатывает автоматически с обеих сторон: при приёме результата и при создании или изменении кейса; если кейсов с таким кодом несколько — привяжутся все |
| Вручную из каталога | действие «Привязать кейс» в каталоге автотестов — по ID кейса, в том числе массово | аддитивно |
Для проектов с Allure-разметкой работает и привязка по Allure ID (связь один-к-одному) — Переезд с Allure.
Тест-кейсы при привязке не создаются: если кейса с присланным ID в пространстве нет, привязка молча пропускается. Автотест без привязанного кейса помечается в каталоге как «Без кейса» — для таких есть отдельный чип и фильтр.
Статус автоматизации
У тест-кейса три значения «Статуса автоматизации»:
- «Ручной»;
- «Подлежит автоматизации» — пометка о том, что тест-кейс планируется автоматизировать;
- «Автоматизирован» — тест-кейс связан с автотестом.
«Автоматизирован» проставляет система при появлении связи, вручную выбрать это значение нельзя. Чтобы разорвать связь, выберите в редакторе тест-кейса «Ручной» или «Подлежит автоматизации».
Что рвёт связь
Смена «Статуса автоматизации» на любое другое значение рвёт связь тест-кейса с автотестом. Копия тест-кейса связь не наследует: у копии связи с автотестом нет.

Связь с требованиями
Автотест можно привязать к требованию наравне с тест-кейсом и чек-листом — такая связь равноправно участвует в покрытии требования. Привязка делается из панели «Автотесты» в раскрытой строке требования или из меню строки в каталоге автотестов. При удалении автотеста его связи с требованиями снимаются автоматически.
Страницы раздела
- Отправка результатов автотестов — загрузка отчёта в интерфейсе, форматы JUnit XML и Allure, doqa-cli,
POST /api/autotests/report. - Адаптеры для тестовых фреймворков — что даёт адаптер по сравнению с отчётами и какие платформы поддержаны.
- Адаптер JUnit 5 — практический гайд по адаптеру для JVM-проектов: установка, конфигурация, аннотации.
- Переезд с Allure — что подхватывается из Allure-разметки без правок кода и как переехать на разметку DoQA.
- Autotest API — прямое API для собственных адаптеров и интеграций.
- Каталог автотестов — вкладка «Каталог»: триаж-шапка, фильтры, карточка автотеста, массовые действия.
- Подключение CI-систем — CI-подключения на уровне пространства, провайдеры, привязка проектов.
- Запуск автотестов из DoQA — все способы запуска, выбор тестов пайплайном, жизненный цикл запуска.
- Автоматика запусков — расписания, автоматический перезапуск упавших, критерии приёмки прогона.
- Результаты и разбор падений — карточка результата, кластеры ошибок, сравнение прогонов, аналитика.
Смотрите также
- Первый запуск автотестов — сценарий: от пустого пространства до первого прогона с результатами
- Разбор упавших автотестов — сценарий ежедневного триажа падений
- Публичный API — остальные методы API и доступ к Swagger
- Интеграции с CI/CD — подключения CI на уровне тенанта (для администратора)