Документация / Функциональные характеристики

QA Деск. Функциональные характеристики

Версия 1.2Обновлено: 17.09.2026ООО «Эм Си Арт»

1. Общие сведения

«QA Деск» — система управления тестированием программного обеспечения: учёт дефектов, библиотека тест-кейсов, тест-планы и прогоны, приём отчётов автоматизированных тестов из CI, интеграция с корпоративным порталом Битрикс24 и доступ для ИИ-агентов по протоколу MCP.

Правообладатель и разработчик — ООО «Эм Си Арт». Система предоставляется как облачный сервис (адрес кабинета — app.qadesk.ru) и как экземпляр для развёртывания на инфраструктуре заказчика. Интерфейс и документация — на русском языке.

2. Архитектура и технологии

QA Деск состоит из 5 компонентов: веб-кабинет на TypeScript, сервер приложения на Node.js/NestJS, сервис приёма отчётов на Go, СУБД PostgreSQL 16 и обратный прокси Caddy. Компоненты поставляются контейнерами для Docker Compose.

КомпонентНазначениеТехнологии
Веб-кабинетОдностраничное приложение пользователяTypeScript, Vite
Сервер приложения (API)Бизнес-логика, аутентификация, праваNode.js, NestJS, Prisma
Сервис приёма отчётовРазбор отчётов JUnit XML и AllureGo
СУБДХранение данныхPostgreSQL 16
Обратный проксиTLS, маршрутизация, раздача статикиCaddy

Компоненты поставляются в виде контейнеров и разворачиваются средствами Docker Compose. Готовность экземпляра проверяется служебной точкой /health/ready, которая возвращает состояние подсистем в теле ответа.

3. Учётные записи и рабочие пространства

В QA Деск входят по почте и паролю, через Яндекс ID, сквозным входом с портала Битрикс24, по OpenID Connect и — в экземпляре заказчика — через LDAP / Active Directory. Данные разделены по рабочим пространствам; пользователь состоит в нескольких.

  • Регистрация по адресу электронной почты и паролю с обязательным подтверждением почты по ссылке из письма.
  • Восстановление пароля по одноразовой ссылке из письма.
  • Вход через Яндекс ID (OAuth 2.0) и сквозной вход с портала Битрикс24.
  • Корпоративный вход: OpenID Connect (Keycloak, ADFS) и — в экземпляре на своей инфраструктуре — LDAP / Active Directory с назначением ролей по группам каталога.
  • Рабочие пространства: личное пространство создаётся автоматически; командные пространства — приглашениями по электронной почте. Пользователь состоит в нескольких пространствах и переключается между ними в кабинете.
  • Управление участниками: смена роли, исключение из пространства, самостоятельный выход.

4. Роли и права доступа

Права проверяются на сервере единой матрицей «роль → разрешения». Роли участника пространства:

РольНазначение
Администратор (admin)Полное управление пространством, участниками и данными
Тестировщик (qa)Работа с дефектами, кейсами, планами и прогонами
Разработчик (dev)Работа с назначенными дефектами, комментарии
Менеджер (manager)Управление составом работ, дефекты и планы
Аналитик (analyst)Кейсы, планы, прогоны, заведение дефектов, комментарии
Наблюдатель (viewer)Просмотр без изменения данных

При установке на портал Битрикс24 роли назначаются автоматически по настраиваемым правилам соответствия должностей портала.

Орг-структура портала импортируется вместе с каталогом: в настройках интеграции (вкладка «Битрикс24») отображается дерево подразделений с численностью — своей и с вложенными, — руководителями и датой последнего импорта. Ночная сверка ежедневно сличает зеркало с порталом и показывает расхождения. Правила ролей действуют и по ветке орг-структуры: роль подразделению с вложенными или только его руководителям, с предпросмотром «кто что получит» по данным последнего импорта.

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

На странице «Участники» — поиск по имени и почте, фильтр по роли и по подразделению портала (ветка с вложенными или только сам узел), сортировка по дате вступления, имени или роли. В строке участника — должность, подразделения и метка руководителя из зеркала портала.

5. Проекты

Данные группируются по проектам. У каждого проекта — буквенный ключ (например, QAD); дефекты получают сквозные номера вида QAD-17, по которым доступны прямой поиск и обращение через API.

6. Учёт дефектов

Учёт дефектов QA Деск ведётся карточками с обязательными окружением и платформой, серьёзностью, приоритетом и вложениями. Дефект проходит 5 основных стадий от «Новый» до «Закрыт» с переходами «Не баг», «Отложен» и «Переоткрыт» по правилам воркфлоу.

6.1. Карточка

  • Тип записи: дефект, вопрос, предложение.
  • Обязательные атрибуты «где воспроизведено»: окружение (prod/stage/dev/local) и платформа (web/ios/android/desktop/api). Значения не подставляются по умолчанию — заполняются осознанно.
  • Серьёзность (блокирующий, критичный, значительный, незначительный, тривиальный) и приоритет — необязательные атрибуты. Для блокирующих и критичных дефектов вложение (снимок экрана, лог) обязательно.
  • Комментарии, вложения, полная история изменений по событиям.

6.2. Жизненный цикл

Стадии и допустимые переходы заданы единой матрицей воркфлоу; недопустимый переход отклоняется сервером. Переходы «Не баг», «Отложен» и возвраты требуют указания причины.

СтадияДопустимые переходы
НовыйВ работе · Не баг · Отложен
В работеУстранён · Отложен · Не баг
УстранёнНа повторной проверке · В работе
На повторной проверкеЗакрыт · В работе
ПереоткрытВ работе · Не баг
ЗакрытПереоткрыт
Не багПереоткрыт
ОтложенВ работе · Не баг

Для перехода «Не баг» причина выбирается из типизированного списка: задумано так, не воспроизводится, дубликат, проблема окружения, устарело.

Пометить дефект «Не баг» могут администратор, тестировщик и менеджер. Разработчик может отклонить как «Не баг» дефект, который он уже взял в работу (стадия «В работе»), — с той же обязательной причиной, а для дубликата — со ссылкой на исходный дефект; в карточке дубликата и в его истории исходный дефект показан ссылкой.

6.3. Представления и операции

  • Доска по стадиям с перетаскиванием карточек; счётчики панели и колонок кликабельны и открывают список ровно из этих дефектов.
  • Список с фильтрами и постраничной навигацией; глобальный поиск с подсказками.
  • Связывание дубликатов, связь дефектов с тест-кейсами.
  • Удаление выполняется архивированием: ключи дефектов сохраняются для внешних ссылок (задачи Битрикс24, ссылки на дубликаты).
  • Экспорт списка в CSV.

6.4. Расширение браузера

Расширение для Chrome и Яндекс Браузера заводит дефект из открытой страницы: снимок видимой области, адрес, браузер, размер окна и время попадают в карточку сами, а после «Начать запись» — действия, ошибки консоли и неудачные запросы (в шаги и во вложение-журнал). Значения полей ввода не записываются. Архив и инструкция по установке — qadesk.ru/extension/; подключение — кодом из кабинета: Настройки → Интеграции → Расширение → «Выпустить код подключения». Расширение работает строго в правах пользователя его персональным токеном; отзыв токена во вкладке «MCP» выключает его сразу.

7. Библиотека тест-кейсов

Библиотека тест-кейсов QA Деск хранит кейсы с шагами, ожидаемыми результатами и версиями, в 3 статусах и дереве папок. Импорт и экспорт — CSV, перенос из Test IT — XLSX/CSV.

  • Тест-кейсы с шагами и ожидаемыми результатами; версии кейса сохраняются, прогоны ссылаются на конкретную версию.
  • Статусы кейса: черновик, актуален, архив.
  • Дерево папок для организации библиотеки; дублирование кейсов.
  • Импорт и экспорт CSV с построчным отчётом об ошибках; перенос библиотеки из Test IT (XLSX/CSV).
  • Связь кейсов с дефектами.

8. Тест-планы и прогоны

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

  • Составление плана из кейсов библиотеки.
  • Экран ручного прогона: результат по каждому шагу, заведение дефекта из упавшего шага с автоматическим связыванием.
  • Сводный экран прогона с метриками: пройдено, упало, пропущено.
  • Конфигурации среды (браузер, ОС, стенд): один план стартует по прогону на каждую конфигурацию; прогон хранит снимок конфигурации.
  • Учёт времени исполнения: таймер по строке прогона, сумма по прогону в карточке, списке и динамике.
  • Строки прогона группируются по папкам библиотеки на момент старта.
  • Прогоны двух видов: ручные и автоматические (из CI).

9. Приём отчётов автотестов

QA Деск принимает отчёты JUnit XML и Allure по HTTP с токеном проекта, идемпотентно по запуску CI и номеру попытки, и сопоставляет результаты с кейсами библиотеки по ключам.

  • Форматы: JUnit XML и Allure (результаты в NDJSON).
  • Приём по HTTP: POST /ingest/v1/junit и POST /ingest/v1/allure с токеном проекта.
  • Повторная отправка того же отчёта (тот же запуск CI и номер попытки) не создаёт дублей — приём идемпотентен.
  • Сопоставление результатов с кейсами библиотеки по ключам.
  • Консольная утилита qadesk-cli для отправки отчётов из конвейера CI: находит файлы JUnit XML или Allure в каталоге, склеивает их в один отчёт, берёт ключ идемпотентности из переменных CI (GitHub Actions, GitLab, GitFlic, Jenkins, TeamCity), печатает несматченные тесты поимённо и ссылку на прогон; коды выхода 0 / 1 / 2 (принят / не дошёл / ошибка данных), --strict — 3 при несматченных. Бинарники для Linux, macOS и Windows — qadesk.ru/cli.

10. Интеграция с Битрикс24

Интеграция QA Деск с Битрикс24 — приложение портала: синхронизация сотрудников и орг-структуры, сквозной вход, вкладка «Баги» в карточке задачи и двусторонняя связь «дефект — задача».

  • Установка приложения на портал с мастером выбора рабочих групп.
  • Синхронизация каталога сотрудников портала; сквозной вход (SSO).
  • Вкладка «Баги» в карточке задачи портала: список связанных дефектов и форма заведения нового; исполнитель выбирается из участников задачи.
  • Двусторонняя связь «дефект — задача» и прямые ссылки из портала в кабинет.

11. Доступ для ИИ-агентов (MCP)

QA Деск — сервер Model Context Protocol по адресу POST /mcp (Streamable HTTP, версии протокола 2025-06-18, 2025-03-26, 2024-11-05). Агент ищет, заводит, переводит и комментирует дефекты в правах выданного токена.

  • Сервер Model Context Protocol (Streamable HTTP) по адресу POST /mcp; поддерживаются версии протокола 2025-06-18, 2025-03-26 и 2024-11-05.
  • Инструменты: список проектов, поиск дефектов, карточка дефекта по ключу, заведение дефекта, перевод по стадиям, комментарий.
  • Аутентификация — персональными токенами, выпускаемыми в кабинете; агент действует строго в правах владельца токена.
  • Совместимо с Claude Code, Claude Desktop, Cursor и другими MCP-клиентами.
  • Агент как самостоятельный участник пространства: без почты и пароля, с обязательным владельцем-человеком, любой ролью кроме администратора; не считается редактором тарифа; не удаляется, а выключается с сохранением подписи в истории. Токены MCP и приёма отчётов выпускаются на агента.
  • Учёт мест пространства: редакторы, наблюдатели и агенты отдельно.

12. Интеграция с Sentry

Интеграция с Sentry превращает ошибку уровня error или fatal в один дефект QA Деск со ссылкой на issue, без дублей при повторных срабатываниях. Подключение — Auth Token с правом project:read, облачный Sentry или собственная установка.

  • Подключение проекта Sentry (облачного или собственной установки) к пространству по Auth Token с правом project:read; подключение сохраняется только после проверки токена и проекта живым запросом.
  • Ошибка уровня error/fatal становится дефектом выбранного проекта: через вебхук Sentry по адресу с секретом, с маркером источника, ссылкой на issue, типом исключения и местом возникновения. Одна ошибка — один дефект: повторные срабатывания дефект не дублируют.
  • Поддерживаются плагин WebHooks (правило оповещений) и Internal Integration с проверкой подписи доставки по Client Secret.
  • Привязка существующей ошибки к дефекту из карточки по id или ссылке; блок «Ошибки Sentry» и события в истории дефекта.
  • Токен и Client Secret хранятся в зашифрованном виде и не отображаются.

13. ИИ-помощник на своём LLM

ИИ-помощник QA Деск работает на модели заказчика через любой OpenAI-совместимый API — DeepSeek, OpenAI, vLLM, Ollama, LM Studio — с ключом владельца пространства и без посредничества в расчётах.

  • Подключение к пространству любого сервиса с OpenAI-совместимым API (POST {адрес}/chat/completions): DeepSeek, OpenAI, локальные vLLM, Ollama, LM Studio. Ключ API принадлежит владельцу пространства, расчёты с поставщиком модели — напрямую, без посредничества системы.
  • Подключение сохраняется только после пробного запроса, на который модель ответила; ответ на пробный запрос отображается на карточке.
  • Форма дефекта: предложение вариантов названия по описанию, шагам и результатам; выбранный вариант подставляется в поле, отправку выполняет пользователь.
  • Форма тест-кейса: черновик кейса по тексту требования — название, предусловия и шаги. Результат раскладывается по полям формы и доступен для правки до создания кейса.
  • Ответ модели проверяется по схеме до попадания в форму; несоответствие формату возвращается как ошибка запроса, а не как повреждённые данные.
  • Права на генерацию совпадают с правами на ручное действие: заведение дефекта и запись тест-кейса соответственно.
  • Ключ хранится в зашифрованном виде и не отображается. Тексты запросов и ответов не сохраняются; учитываются вид операции, модель, число токенов и длительность. Пока провайдер не подключён, обращения к внешним сервисам не выполняются.

14. Экспорт и перенос данных

Дефекты и тест-кейсы QA Деск выгружаются в CSV; кейсы загружаются из CSV и переносятся из Test IT в формате XLSX/CSV.

  • Экспорт дефектов и тест-кейсов в CSV.
  • Импорт кейсов из CSV; миграция из Test IT (XLSX/CSV).

15. Требования к среде

Для пользователей облачного сервиса: современный браузер (Chrome, Firefox, Safari, Edge, Яндекс Браузер актуальных версий), доступ в интернет.

Для развёртывания экземпляра: сервер под управлением Linux с Docker Engine и Docker Compose v2; рекомендуется от 2 vCPU и 4 ГБ ОЗУ; СУБД PostgreSQL 16 входит в состав поставки. Подробнее — в Инструкции по установке.