AWS опубликовала третью часть серии о QA Studio, референсном решении на базе Amazon Nova Act. В статье в блоге AWS Machine Learning авторы добавляют две возможности для организаций, где одной тестовой средой пользуются сразу несколько команд: приложения и командное управление пользователями.
Что было в прошлых частях
В первой статье представили QA Studio: тесты пишутся на естественном языке, а выполняются через визуальную навигацию на основе ИИ. Во второй добавились наборы тестов и утилита командной строки для пакетных регрессионных прогонов в CI/CD. Третья часть о том, что происходит, когда сотни тестов принадлежат разным продуктам и командам.
Приложения и метрики здоровья
Приложение описывает тестируемую систему, например сайт или фронтенд веб-приложения. Его создают с названием, базовым URL и необязательными окружениями: разработка, staging, production. Сценарии и наборы тестов находятся внутри приложения и наследуют его владельца.
Каждый прогон записывается в Amazon CloudWatch как пользовательские метрики с разбивкой по приложению и окружению. На странице приложения видны доля успешных прогонов, число запусков и текущие падения, а также оценка здоровья от 0 до 100. Оценка стартует с доли успешных прогонов и теряет баллы за нестабильные тесты, поэтому набор, который то проходит, то падает, не выглядит идеальным.
Графики трендов строятся за 7 дней с шагом в час или за 30 дней с шагом в сутки, их можно отфильтровать по одному окружению. Отдельный экран ранжирует сценарии по тому, как часто они меняли результат за последние семь дней. Список недавних падений ведёт к логам траекторий Nova Act и записям сессий.
Команды и роли
Приложение принадлежит ровно одной команде, а те, кто в неё не входит, его не видят. Ролей пять, и права в них накапливаются:
- Admin: доступ ко всей студии.
- Team Lead: управляет участниками и создаёт приложения.
- Editor: изменяет сценарии и наборы тестов.
- Executor: запускает их, но не редактирует.
- Viewer: только просмотр.
Права задаются на уровне приложения и распространяются на тесты внутри него. Команда-владелец может открыть приложение другой команде на уровне просмотра, запуска или полного доступа. Итоговое право человека - меньшее из его роли и выданного доступа, поэтому Viewer с полным доступом остаётся в режиме чтения.
Как это устроено
Каждой команде соответствуют группы Amazon Cognito, по одной на роль, а авторизатор на AWS Lambda при каждом запросе превращает членство в группе в области доступа API. Команды, участники, владение и выданные доступы хранятся в DynamoDB. Бэкенд проверяет и область доступа вызывающего, и то, владеет ли его команда приложением или получила к нему доступ. CI-конвейер может проходить аутентификацию как машинная учётная запись только с нужными ему областями.
Доступность
Новые функции входят в референсное решение QA Studio, которое разворачивается через AWS Cloud Development Kit в вашем аккаунте. По словам авторов, тестовые данные, результаты и метрики остаются в этом аккаунте. Шаги развёртывания описаны в репозитории QA Studio на GitHub. Цен в статье нет.