Тема
Требования
Требования не создаются в DoQA. Они загружаются из внешнего трекера и хранятся в пространстве как локальные копии: ключ, заголовок, статус в трекере и ссылка на исходный тикет. Раздел отвечает на два вопроса: какие требования покрыты тестами, а какие нет, и где тесты устарели после того, как требование изменили.
Источником требований может быть Jira Server, YouTrack, Yandex Tracker, Kaiten или Confluence Data Center. Пока администратор не настроил коннектор требований, раздел пуст.
Проверка = тест-кейс или чек-лист
В этом разделе «проверка» — это тест-кейс или чек-лист. Они равноправны: оба можно привязать к требованию, оба считаются в покрытии и оба попадают в матрицу покрытия.
Как открыть
Откройте пространство и выберите «Требования» в боковом меню. Кнопка «Матрица покрытия» в шапке ведёт на отдельную страницу — матрицу покрытия.
Что показывает список
| Колонка | Что в ней |
|---|---|
| «Ключ» | Ключ тикета в трекере. Рядом — значок трекера; клик по ключу открывает тикет в трекере. |
| «Заголовок» | Заголовок требования, как он записан в трекере. |
| «Статус в трекере» | Статус тикета. DoQA его не меняет, только показывает. |
| «Покрытие» | Одно из пяти состояний, см. ниже. |
| «Проверки» | Число связанных проверок и полоса с разбивкой по последним результатам. Наведите курсор — увидите, сколько из них кейсов и сколько чек-листов. |
| «Актуализация» | Сколько связей уже актуализировано из скольких. Колонка появляется, только когда в списке есть требования с пометкой «Требуется актуализация». |
Внизу списка — счётчик «Показано N из M». Следующая страница подгружается по мере прокрутки.
Раскрытие строки
Клик по строке раскрывает панель связанных проверок. Для каждой проверки видно её ID, тип (кейс или чек-лист), дату привязки, последний результат прогона и кнопку отвязки. Клик по проверке открывает её в DoQA, клик средней кнопкой мыши — в новой вкладке браузера.
Здесь же кнопки «Добавить кейс» и «Добавить чек-лист». У архивных требований этих кнопок нет.
Если связей ещё нет, панель показывает «Нет связанных проверок. Привяжите кейс или чек-лист, чтобы появилось покрытие.»
Состояния покрытия
| Состояние | Когда возникает |
|---|---|
| «Нет тестов» | С требованием не связана ни одна проверка. |
| «Не прогонялись» | Связи есть, но ни у одной проверки нет засчитанного результата прогона. |
| «Все прошли» | У всех связанных проверок последний результат — «Пройден». |
| «Не все прошли» | Есть проверки с результатом «Провален», «Сломан», «Заблокирован» или «Пропущен», либо часть проверок вообще не прогонялась. |
| «Требуется актуализация» | Хотя бы одна связь помечена как требующая актуализации. |
Три правила, которые объясняют неожиданные значения в колонке:
- «Требуется актуализация» перебивает всё остальное. Пока пометка висит хотя бы на одной связи, требование показывает именно это состояние, даже если все тесты пройдены.
- Последним результатом считается последний прогон, в котором статус проверки был реально выставлен. Если проверку добавили в новый прогон, но ещё не прошли (статус не проставлен), DoQA берёт результат из предыдущего прогона, а не считает, что прогона не было.
- Прогоны, сделанные до подтверждения актуализации, не засчитываются. После того как вы нажали «Актуализировано», старый результат перестаёт учитываться, и требование возвращается в «Не прогонялись», пока проверку не прогонят заново.
Метрики: Покрытие и Успешность
В шапке списка — два показателя.
- «Покрытие» — доля требований, у которых есть хотя бы одна связанная проверка: (все требования − требования в состоянии «Нет тестов») ÷ все требования. Подпись в интерфейсе: «Процент требований, к которым привязаны тест-кейсы или чек-листы. Показывает полноту тестового покрытия.»
- «Успешность» — доля покрытых требований в состоянии «Все прошли», от числа покрытых. Знаменатель здесь — покрытые требования, а не все.
Из-за разных знаменателей цифры расходятся: если из 100 требований покрыто 20 и все 20 в состоянии «Все прошли», «Покрытие» покажет 20%, а «Успешность» — 100%. Это не ошибка.
Обе метрики и счётчики на чипах состояний считаются по всем активным требованиям пространства. Поиск, фильтр «Связь» и выбранный чип на них не влияют, архивные записи в них не входят. Если требований нет (или нет покрытых), вместо процента стоит прочерк.
Срезы и фильтры
Список делится на три вкладки.
- «Все требования» — активные требования, загруженные из трекера.
- «Архивные записи» — требования, которых больше нет в выгрузке трекера: удалённые или ушедшие из-под фильтра коннектора. DoQA их не удаляет, а архивирует, чтобы не потерять связи и историю; в списке они отображаются зачёркнутым заголовком. Фильтров у этой вкладки нет. Пустое состояние — «Архивных записей нет».
- «Несвязанные проверки» — обратный срез: не требования, а проверки без единой связи. Подпись в интерфейсе: «Ручные проверки (кейсы и чек-листы) без единого связанного требования — кандидаты на привязку». Для каждой строки доступны «Открыть» (в новой вкладке) и «Привязать требование». Есть свой поиск (по названию или ID проверки) и фильтр «Тип» — «Все», «Кейсы», «Чек-листы».
Фильтры вкладки «Все требования»:
- строка поиска — ищет по ключу и заголовку требования;
- фильтр «Связь» — «Все», «Связанные», «Несвязанные»;
- чипы состояний покрытия со счётчиками. Клик по чипу оставляет в списке только требования в этом состоянии, повторный клик снимает фильтр.
Когда фильтры активны, рядом появляется «Сбросить фильтры». Выбранный срез и фильтры остаются в адресе страницы. Ссылку можно отправить коллеге.
Связывание требований с проверками
Связь двусторонняя. При её создании DoQA дописывает ID проверки в поле тикета в трекере. Какое именно поле, задаёт администратор в настройке «Поле для ID кейсов» коннектора. Связь M:N: одну проверку можно привязать к нескольким требованиям и наоборот.
Привязать можно из четырёх мест.
- Из списка требований. Раскройте строку и нажмите «Добавить кейс» или «Добавить чек-лист». Откроется тот же диалог выбора, что и при добавлении в прогон. Можно выбрать сразу набор. Результат: «Привязано проверок: N». Если всё выбранное уже было привязано, появится сообщение «Новых привязок нет — выбранные проверки уже были привязаны».
- Из карточки тест-кейса или чек-листа. Секция «Требования» → «Привязать требование» → поиск по ключу или заголовку, можно отметить несколько требований сразу.
- Из среза «Несвязанные проверки». Кнопка «Привязать требование» в строке проверки.
- Отвязка. Кнопка с разорванной связью в панели связанных проверок или в секции «Требования» карточки. DoQA спросит подтверждение и предупредит, что проверка перестанет учитываться в покрытии требования.
Удаление проверки и связь
Помещение тест-кейса или чек-листа в корзину связь не разрывает. Она переживает восстановление. Связь рвётся только при окончательном удалении; тогда же DoQA переписывает список ID в поле тикета.
Актуализация: что делать, когда требование изменилось
Это основной сценарий раздела. Он работает так.
- Аналитик в трекере переводит требование в статус, сопоставленный состоянию «Требуется актуализация». Это единственное состояние, которое DoQA читает из трекера, а не пишет в него.
- DoQA получает вебхук (или узнаёт об изменении при обновлении из трекера), помечает все связанные проверки, и требование переходит в «Требуется актуализация». Ответственные за связанные тест-кейсы и чек-листы получают уведомление.
- Пока пометка висит, DoQA не пишет вычисленный статус покрытия в трекер. В «Ленте операций» такие записи помечены как «Заморожено до актуализации».
- Тестировщик правит проверку и подтверждает актуализацию — кнопкой «Актуализировано» в карточке кейса или чек-листа, либо «Актуализировать» / «Актуализировать все» в панели связанных проверок.
- После подтверждения проставляется дата актуализации. Прогоны, сделанные до неё, перестают учитываться: требование покажет «Не прогонялись», пока проверку не прогонят заново.
Пометку снимает только человек. Правка тест-кейса сама по себе её не снимает.
Прогресс виден в колонке «Актуализация» списка (сколько актуализировано из скольких) и в шапке раскрытой панели: «N из M тестов требуют актуализации», а после подтверждения всех — «Все тесты актуализированы».
Генерация тестов с помощью ИИ
DoQA может забрать текст требования из трекера и создать по нему тестовую документацию.
Кнопка «Сгенерировать тесты с помощью ИИ» находится в панели связанных проверок и показывается, только пока у требования нет ни одной связи.
В диалоге «Генерация тестов с помощью ИИ» выберите:
- «Вид тестовой документации» — «Тест-кейс», «Чек-лист» или «Набор тест-кейсов».
- «Папка для сохранения» — существующая папка или новая, её можно создать прямо в диалоге кнопкой «Создать папку».
Нажмите «Сгенерировать». Генерация асинхронная: в строке требования крутится индикатор, панель показывает «ИИ создаёт тестовую документацию…» и предупреждает, что это может занять несколько минут. Со страницы можно уйти. По завершении появится «Тестовая документация сгенерирована», а созданные проверки будут автоматически привязаны к требованию.
Кнопки не будет, если:
- требование архивное;
- коннектор выключен или требование загружено не той интеграцией, которая указана в коннекторе сейчас;
- у вас нет доступа к AI-функциям.
Генерация расходует AI-коины, как и остальные AI-функции; при ошибке списание возвращается. Подробнее — в настройках ИИ.
Создать прогон из требования
Нажмите «…» в строке требования и выберите «Создать прогон». В прогон попадут все связанные с требованием проверки — и тест-кейсы, и чек-листы одним смешанным набором. Откроется обычная форма создания прогона; после создания DoQA сразу перейдёт на страницу нового прогона.
Пункт неактивен, если с требованием не связана ни одна проверка.
Обновление из трекера
Кнопка «Обновить из трекера» в шапке списка запускает синхронизацию: DoQA перечитывает требования по фильтру коннектора, обновляет заголовки и статусы, добавляет новые и архивирует те, которых в выгрузке больше нет. По завершении — «Требования обновлены из трекера».
Пока коннектор не настроен, кнопка заблокирована.
Вебхуки доставляют изменения сами. Ручное обновление нужно, когда вебхук не настроен или события были пропущены.
Если требований нет
- «Требований пока нет» и «Настройте коннектор трекера, чтобы загрузить требования» — коннектор ещё не настроен. Кнопка «Настроить коннектор» ведёт в настройки пространства; она видна тем, у кого есть доступ к настройкам.
- «Требований пока нет» и подсказка про проверку фильтра (JQL или проект) в настройках коннектора — коннектор настроен, но выгрузка пуста. Скорее всего, фильтр коннектора не выбирает ни одного тикета.
- «Не удалось загрузить требования» и «Трекер недоступен или вернул ошибку» — проблема на стороне трекера или подключения. Состояние подключения видно на вкладке «Коннектор требований», подробности — в «Ленте операций».