Рабочая справка
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. Получите учётную запись
Обратитесь к администратору платформы. Он создаст пользователя и назначит роли для нужных сервисов.
Шаг 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-ключи, удаление, управление чужими данными. |
4. Пошаговые сценарии работы
PerfInsight AI - нагрузочное тестирование
- Зайдите в раздел Запуск.
- Выберите скрипт (например, smoke.js), укажите VUs и duration.
- Нажмите Запустить - логи идут в реальном времени.
-
После завершения результат появится в разделе Тесты:
- Оцените 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
}'
TestInsight AI - автотесты Playwright
- В разделе Библиотека клонируйте шаблон (например, smoke) в свой набор (suite).
- Отредактируйте *.spec.ts во встроенном редакторе - укажите baseURL и шаги.
- Нажмите AI Review - сервис подсветит слабые места (селекторы, await, секреты).
- Запустите прогон. Результат (passed/failed) выставляет исключительно Playwright, AI только консультирует.
SecInsight AI - безопасность
- Импортируйте отчёт (ZAP/Burp - JSON/XML) или запустите ZapScanner по разрешённому URL.
- На дашборде изучите найденные уязвимости.
- Используйте Compare, чтобы сравнить два скана (до/после фикса).
- AI ранжирует находки по приоритету P0-P3 - это помогает быстро определить критические проблемы.
LinkManager - закладки
- Экспортируйте закладки из браузера в файл bookmarks.html (Netscape-формат).
- В LinkManager откройте Сервис → Импорт закладок и загрузите файл.
- Распределите ссылки по категориям, добавьте теги (например, swagger, monitoring).
- Периодически запускайте Проверку ссылок, чтобы удалить битые URL.
Горячие клавиши (всегда работают):
| Клавиша | Действие |
|---|---|
| / | Фокус на поиск |
| N | Новая ссылка |
| Del | Удалить выбранные |
| ? | Открыть справку |
| Esc | Закрыть модалку |
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. Как получить помощь
- Внутри каждого сервиса есть раздел Помощь (контекстная справка).
- По техническим вопросам - обратитесь к администратору платформы.
- Для предложений и идей - автор проекта всегда открыт к обратной связи через внутренние каналы команды.