Рабочая справка

AutoQALab: Руководство

Версия 2.0

О руководстве

AutoQALab - self-hosted экосистема для практики качества. Четыре сервиса под единым входом (SSO) на портале autoqalab.ru. Всё построено вокруг идеи глубины анализа: нагрузка, автотесты, безопасность и управление знаниями - в одном контуре.

Проект некоммерческий, развивается силами команды энтузиастов.

1. Сервисы - кратко

Сервис URL Назначение
PerfInsight AI piai.autoqalab.ru Нагрузочные тесты (k6): дашборд, сравнение прогонов, AI-отчёты с SLA.
TestInsight AI ti.autoqalab.ru Браузерные автотесты (TypeScript + Playwright): редактор, AI-ревью, прогон в изолированном worker.
SecInsight AI si.autoqalab.ru Безопасность: импорт отчётов (ZAP/Burp), собственный сканер, AI-приоритеты P0-P3, сравнение.
LinkManager lm.autoqalab.ru Командные закладки: категории, теги, проверка ссылок, импорт/экспорт HTML, десктоп-клиент.

2. Быстрый старт за 5 минут

Шаг 1. Получите учётную запись

Обратитесь к администратору платформы. Он создаст пользователя и назначит роли для нужных сервисов.

Важно: без соответствующей роли поддомен выдаст access-denied.

Шаг 2. Войдите в систему

Перейдите на autoqalab.ru → «Войти» или откройте любой сервис напрямую - авторизация происходит централизованно (SSO).

Шаг 3. Создайте проект (если работаете в команде)

В разделе Админ → Проекты создайте общую «папку». Она свяжет все четыре сервиса в едином контексте стенда и упростит управление доступом.

Шаг 4. Настройте базовые параметры (только для админов)

Перед первым запуском администратор должен задать:

  • PerfInsight → LLM-провайдер и SLA-пороги (p95, ошибки, RPS).
  • TestInsight → белый список URL (allowlist) и AI-модель для ревью.
  • SecInsight → LLM, разрешённые хосты для ZapScanner и настройки очереди (опционально).
  • LinkManager → параметры AI в разделе «Сервис» (по желанию).

3. Роли и права

Роль Доступ
guest Только просмотр (дашборды, отчёты, закладки).
user Создание и запуск тестов, редактирование закладок, работа с AI-аналитикой.
admin Все права: настройки, API-ключи, удаление, управление чужими данными.
Роли назначаются для каждого сервиса отдельно, например perfinsight:user или testinsight:admin. Для запусков и записи нужна роль user или выше.

4. Пошаговые сценарии работы

PerfInsight AI - нагрузочное тестирование

  1. Зайдите в раздел Запуск.
  2. Выберите скрипт (например, smoke.js), укажите VUs и duration.
  3. Нажмите Запустить - логи идут в реальном времени.
  4. После завершения результат появится в разделе Тесты:
    • Оцените SLA и AI-отчёт.
    • Скачайте HTML-отчёт для передачи коллегам.

Интеграция с CI (GitHub Actions, GitLab CI и т.д.)
Администратор выдаёт API-ключ (scope full). В пайплайне выполните k6 локально и отправьте summary.json:

curl -X POST "https://piai.autoqalab.ru/api/tests/import" \
  -H "Authorization: Bearer pi_..." \
  -H "Content-Type: application/json" \
  -d '{
    "summary": {...},
    "script_name": "staging-api-smoke.js",
    "tags": ["ci"],
    "run_ai_analysis": true
  }'

Открыть PerfInsight AI →

TestInsight AI - автотесты Playwright

  1. В разделе Библиотека клонируйте шаблон (например, smoke) в свой набор (suite).
  2. Отредактируйте *.spec.ts во встроенном редакторе - укажите baseURL и шаги.
Важно: поддерживается только TypeScript, JS не работает.
  1. Нажмите AI Review - сервис подсветит слабые места (селекторы, await, секреты).
  2. Запустите прогон. Результат (passed/failed) выставляет исключительно Playwright, AI только консультирует.

Открыть TestInsight AI →

SecInsight AI - безопасность

  1. Импортируйте отчёт (ZAP/Burp - JSON/XML) или запустите ZapScanner по разрешённому URL.
  2. На дашборде изучите найденные уязвимости.
  3. Используйте Compare, чтобы сравнить два скана (до/после фикса).
  4. AI ранжирует находки по приоритету P0-P3 - это помогает быстро определить критические проблемы.

Открыть SecInsight AI →

LinkManager - закладки

  1. Экспортируйте закладки из браузера в файл bookmarks.html (Netscape-формат).
  2. В LinkManager откройте Сервис → Импорт закладок и загрузите файл.
  3. Распределите ссылки по категориям, добавьте теги (например, swagger, monitoring).
  4. Периодически запускайте Проверку ссылок, чтобы удалить битые URL.

Горячие клавиши (всегда работают):

Клавиша Действие
/ Фокус на поиск
N Новая ссылка
Del Удалить выбранные
? Открыть справку
Esc Закрыть модалку

Открыть LinkManager →

5. Сквозные сценарии (E2E)

Сценарий Сервисы Ключевые шаги
Первый smoke-тест PerfInsight Настроить LLM/SLA → запустить smoke.js → прочитать AI-отчёт → выгрузить HTML.
Сравнение перед релизом PerfInsight / SecInsight Выбрать baseline и current → посмотреть дельты метрик → принять решение по AI-вердикту.
Автотест с нуля TestInsight Клонировать шаблон → поправить TS → AI Review → запустить → проверить лог worker.
Импорт скана безопасности SecInsight Загрузить отчёт → AI присвоит P0-P3 → сравнить с прошлым сканом → экспортировать PDF.
Онбординг новичка LinkManager Импорт браузерных закладок → распределение по проектам → проверка ссылок.
CI-интеграция PerfInsight Запуск k6 в GitHub Actions → отправка summary.json через API.

6. Частые вопросы и их решение

Проблема Решение
Не открывается поддомен Проверьте, назначена ли вам роль для этого сервиса (обратитесь к админу).
TestInsight не запускает прогон Убедитесь, что URL стенда добавлен в allowlist администратором, и что файл имеет расширение .spec.ts.
PerfInsight не видит прогон после импорта Проверьте формат summary.json и правильность API-ключа (префикс pi_).
AI-анализ слишком долгий Проверьте настройки LLM-провайдера (администратор может сменить модель или увеличить таймауты).
В LinkManager не работают горячие клавиши Убедитесь, что фокус находится на странице, а не в поле ввода.
Нужно дать доступ только на чтение Назначьте роль guest для нужного сервиса - все действия записи будут заблокированы.

7. Технические ограничения (важно!)

  • TestInsight принимает только TypeScript (JS и другие языки не поддерживаются).
  • PerfInsight работает с отчётами k6 в формате summary.json - другие инструменты нагрузки не интегрированы.
  • SecInsight импортирует только ZAP, Burp, Nuclei, SARIF, Sonar, Semgrep, QAstell - остальные форматы не распознаются.
  • Все сервисы используют единую SSO-сессию - выход из одного поддомена завершает сессию на всех.

8. Как получить помощь

  • Внутри каждого сервиса есть раздел Помощь (контекстная справка).
  • По техническим вопросам - обратитесь к администратору платформы.
  • Для предложений и идей - автор проекта всегда открыт к обратной связи через внутренние каналы команды.