Перейти к содержанию
Публикация AiManual

QA Studio на Amazon Nova Act: как масштабировать агентную автоматизацию тестов на несколько команд

Третья часть QA Studio на Amazon Nova Act добавила приложения и командное управление доступом. Разбираем, как приложение даёт тестам владельца и метрики, как ра

Коротко

Что будет в материале

  1. 01

    Что меняется в QA Studio при переходе от одной команды к нескольким

  2. 02

    Приложения: контейнер, который даёт тестам дом и владельца

  3. 03

    Командное управление доступом: пять ролей и «правило потолка»

  4. 04

    Здоровье приложения: pass rate, запуски, падения и health score

Что меняется в QA Studio при переходе от одной команды к нескольким

QA Studio описана в блоге AWS как референсное решение на Amazon Nova Act: тесты формулируются на естественном языке, а выполняет их AI-агент через визуальную навигацию по интерфейсу. Публикация AWS о третьей части серии вышла 28 октября 2026 года.

Серия двигалась по шагам. В первой части появились use cases, отдельные тесты. Во второй добавились тест-сьюты, регрессионные коллекции, и CLI для пакетного прогона в CI/CD-пайплайнах. Третья часть закрывает организационную задачу: что делать, когда тестов много, а команд несколько.

Новых возможностей две. Первая — сущность applications (приложения): контейнер, который группирует use cases и тест-сьюты, даёт им владельца и показывает здоровье тестов. Вторая — team-based user management, командное управление доступом: кто что видит и кто что меняет.

Проблема роста сформулирована прямо: по мере распространения QA-автоматизации сотни тест-кейсов принадлежат разным продуктам и командам, и все видят тесты друг друга. Без явного владельца проблемы здоровья приложения не находят адресата, потому что непонятно, чей это красный pass rate.

Дальше по порядку: что даёт приложение и как выбрать его границы, как устроены пять ролей и правило потолка, какие цифры показывает страница приложения, как данные попадают в Amazon CloudWatch, где искать причину падения и в каких местах подход упирается в ограничения.

Приложения: контейнер, который даёт тестам дом и владельца

Приложение в QA Studio описывает тестируемую систему: сайт, веб-приложение или фронтенд сервиса. Это контейнер, который даёт набору тестов дом и владельца. Формулировка из блога AWS.

Use cases из первой части и тест-сьюты из второй принадлежат приложению и наследуют его владение. Это ключевая деталь: вы назначаете владельца один раз на приложении, а не проставляете ответственного на каждый тест.

При создании указывают имя, базовый URL и опциональный набор окружений, например development, staging и production. Со страницы приложения команда создаёт новые use cases прямо в контексте, добавляет существующие и группирует их в тест-сьюты. Отдельного экрана, где тест сначала живёт сам по себе, а потом прикрепляется к приложению, в описании нет.

Приложение работает как единица владения и единица отчётности одновременно. Поэтому границы стоит проводить по продуктовым границам, а не по командам. Если сделать приложение под каждый сквод, то при переезде двух инженеров в другой сквод придётся переразбивать тесты и терять историю метрик.

Разумное разбиение для одного продукта: клиентское веб-приложение, админка и публичный API-фронтенд как три отдельных приложения, даже если их делает одна команда. У каждого свой базовый URL, свой набор окружений и своя динамика падений.

Как выбрать границы приложений и не пожалеть через полгода

Три критерия работают как проверка. Общий базовый URL и общий набор окружений. Отдельный владелец, который отвечает за здоровье. Отдельная история метрик, которую не нужно мысленно вычитать из общей.

Не дробите приложение на части ради формальной точности: несколько микросервисов за одним доменом и одним деплоем дадут три приложения с одинаковыми падениями. Не склеивайте несвязанные продукты ради меньшего числа сущностей: метрики смешаются, а владелец станет коллективной безответственностью.

Смена владельца приложения — операция организационного уровня. Владение наследуют все use cases и тест-сьюты, поэтому перевод приложения из команды A в команду B меняет зону ответственности на всём наборе тестов сразу.

Ограничение по полям: в источнике перечислены только имя, базовый URL и окружения. Тегов, SLA, привязки к репозиторию или владельца как отдельного атрибута с историей там не описано. Не закладывайте такие поля в план миграции, пока не проверите свою сборку.

Командное управление доступом: пять ролей и «правило потолка»

Ролей пять: Admin, Team Lead, Editor, Executor, Viewer. Они накопительные: роль выше включает возможности всех нижних, а не добавляет отдельный набор с нуля. Viewer смотрит тесты и результаты, Executor их запускает, Editor редактирует тесты и сьюты, Team Lead управляет своей командой и шарингом, Admin распоряжается настройками целиком.

Доступ собран на трёх компонентах: членство в ролях хранится в группах Amazon Cognito, привязки и права лежат в DynamoDB, проверку при запросе выполняет Lambda-авторизатор. Такая схема привычна для serverless-инструментов: группы в Cognito дают идентичность, таблица DynamoDB — гранулярные связи «пользователь — приложение», авторизатор сводит их в решение «пропустить или нет».

Кросс-командный шаринг приложений ограничен «правилом потолка»: эффективные права пользователя на чужое приложение не выше его собственной роли. Editor из команды A, получивший доступ к приложению команды B, остаётся Editor и не может сделать в чужом приложении больше, чем позволяет его роль.

Правило потолка защищает от эскалации при шаринге. Выдавать права выше собственной роли нельзя даже тому, кто считает себя админом чужой команды, поэтому случайно расширить доступ «на время релиза» не получится.

Детали ролей, авторизатора и правила потолка в опубликованном фрагменте статьи AWS не раскрыты: текст обрывается на описании health score. Их стоит проверять по своей сборке QA Studio, прежде чем закреплять политику доступа в регламенте.

Как «правило потолка» работает на практике

Сценарий первый. Пользователь с ролью Executor получает шаринг приложения от другой команды. Он может запускать тесты и смотреть результаты, но не редактировать их, потому что Executor ниже Editor. Чужие регрессионные сьюты остаются нетронутыми.

Сценарий второй. Team Lead получает тот же шаринг и сохраняет права Team Lead: управляет своей командой в рамках приложения, но не получает административных прав на инстанс.

Логика сводится к простой формуле: эффективные права равны минимуму из роли пользователя и того, что выдано при шаринге. Практический вывод для проектирования: сначала договоритесь о лестнице ролей, потом раздавайте доступ. Если роли назначаются хаотично, правило потолка начнёт резать работу: инженеру не хватит прав на чужое приложение, и он пойдёт просить повышение роли вместо точечного шаринга.

Здоровье приложения: pass rate, запуски, падения и health score

Верх страницы приложения отвечает на главный вопрос тремя фигурами: pass rate за выбранное окно, общее число запусков и текущий счётчик падений. Этого достаточно, чтобы за пару секунд понять, стало хуже или лучше.

Дальше идёт health score от 0 до 100. Он стартует от pass rate и вычитает штраф за flaky-тесты. Об этом и о записи метрик в CloudWatch сказано в источнике.

Практический смысл двойного счёта виден на примере. Два приложения показывают pass rate 92%. У первого падения стабильные и повторяются предсказуемо, у второго половина падений приходит от нестабильных тестов, которые то проходят, то нет. Health score у второго будет заметно ниже, и это честнее, чем одинаковые 92% в отчёте.

Точную формулу штрафа источник не приводит, поэтому не превращайте health score в единственный KPI и не сравнивайте им приложения с разным объёмом тестов как абсолютной оценкой качества. Рабочий режим — смотреть на динамику и на разрыв между pass rate и health score: рост разрыва означает, что нестабильность съедает сигнал.

Метрики в Amazon CloudWatch: разрезы, окна и тренды

Результат каждого запуска QA Studio записывает как кастомные метрики Amazon CloudWatch с разрезами по приложению и по окружению. Разрез по окружению позволяет видеть development, staging и production раздельно, разрез по приложению отделяет один продукт от другого.

Без этих разрезов метрики смешиваются между командами: общий pass rate по инстансу ничего не говорит о конкретном продукте, а падения в staging незаметно разбавляют картину production. Разрезы превращают набор чисел в наблюдаемость внутреннего AI-инструмента.

Тренды строятся в двух режимах: 7 дней с часовой детализацией и 30 дней с дневной. Часовое окно нужно для разбора инцидента и проверки релиза, дневное — для отслеживания медленной деградации и планирования работ. Часовой график на месяце выглядит как шум, а дневной при разборе релиза скрывает всплеск длиной в сорок минут.

Деталей про алерты и готовые дашборды CloudWatch в источнике нет: описана запись метрик и их разрезы. Если нужны пороговые уведомления, их придётся настраивать отдельно и проверять на своём потоке запусков.

Разбор падений: flaky tests, recent failures и trajectory logs

В QA Studio есть отдельные представления flaky tests и recent failures. Из них ведут ссылки на trajectory logs и записи сессий Nova Act, то есть можно посмотреть, что именно делал агент во время визуальной навигации.

Для агентных тестов обычного стектрейса мало. Сбой часто происходит не в коде приложения, а в навигации: агент не нашёл элемент, попал на другую страницу, отреагировал на изменившийся лейбл или подсказку. Запись сессии показывает последовательность действий агента и становится основным инструментом диагностики.

Разбор flaky-тестов связан с оценкой здоровья напрямую: штраф за нестабильность вычитается из pass rate, поэтому нестабильные тесты снижают health score приложения. Чистка flaky-набора перестаёт быть косметикой и меняет цифру, по которой команда отчитывается.

Формат trajectory logs, сроки хранения записей и способ доступа к ним в источнике не описаны. Эти параметры зависят от вашей сборки и настроек аккаунта, их нужно уточнять отдельно.

Ограничения и подводные камни подхода

  • Формула штрафа за flaky-тесты не опубликована. Health score годится как сигнал для приоритизации, но не как единственная метрика качества.
  • Правило потолка ограничивает гибкость шаринга. Командам придётся заранее договориться о ролях, иначе точечный доступ будет упираться в лестницу прав.
  • QA Studio — референсное решение, а не готовый продукт. Код и инфраструктуру нужно адаптировать под свои аккаунты, группы и процессы.
  • Визуальная навигация агента чувствительна к изменениям интерфейса. Переименованная кнопка или новый баннер ломают прогон, и это же порождает flaky-тесты. Стабильность UI и версионирование тестовых данных влияют на результат не меньше, чем промпт.
  • Стоимость кастомных метрик CloudWatch и лимиты в материале не раскрыты. Считайте их под свой объём запусков и число комбинаций «приложение плюс окружение».
  • Описание опирается на публикацию AWS, независимых подтверждений в открытых источниках на момент разбора нет.

Отдельная тема, которая всплывает при любом агентном QA: проверка результата дороже генерации. Разбор про то, почему разработка с ИИ-агентами не ускорилась, хорошо показывает, откуда берётся эта асимметрия и зачем нужны спецификации и evaluations.

Кому подходит и с чего начинать

Разбор полезен командам, которые встраивают AI-агентов в QA-процессы, и тем, кто проектирует ролевую модель и наблюдаемость для внутренних AI-инструментов. Если у вас один продукт, одна команда и десяток тестов, третья часть подождёт: приложения и роли добавят работы без отдачи.

Переходить пора по трём признакам. Тестов стало много, и они принадлежат разным продуктам. Появилась вторая команда и понадобился шаринг без выдачи полных прав. Падения перестали находить адресата: непонятно, чья очередь чинить.

  1. Заведите приложения по продуктовым границам: базовый URL, набор окружений, владелец.
  2. Перенесите существующие use cases и тест-сьюты, проверив, что каждый попал в правильный контейнер.
  3. Зафиксируйте лестницу ролей и назначьте владельцев до того, как начнёте раздавать шаринг.
  4. Включите запись метрик в CloudWatch с разрезами по приложению и окружению.
  5. Поставьте регулярный разбор flaky tests и recent failures, с просмотром записей сессий Nova Act по каждому подозрительному падению.
  6. Договоритесь, как оформляется шаринг между командами, чтобы правило потолка не превращалось в узкое место.

Решение даёт структуру для масштабирования, но требует организационной дисциплины. Без назначенных владельцев приложения останутся пустыми контейнерами, а health score будет красивой цифрой без адресата. Как агент справляется с большим парком тестов на практике, показывает кейс разбора 2600 автотестов перед миграцией: там приоритизацию строили на fail rate и P85, а не на общей оценке здоровья.

Подписаться на канал