AQL (Allure Query Language) = встроенный язык запросов платформы ТестОпс, разработанный специально для эффективного управления аналитикой тестирования. С его помощью QA-специалисты создают точные выборки тест-кейсов, результатов тестов и запусков. Так формируется надёжная основа для принятия обоснованных решений в процессах обеспечения качества.
AQL представляет собой декларативный язык запросов, созданный для работы с данными тестирования в ТестОпс. Каждый запрос состоит из двух ключевых компонентов: названия поля и требуемого значения для этого поля. Такая структура делает его интуитивно понятным даже для пользователей без значительного опыта программирования.
name = "Мой тест"Такая структура делает его интуитивно понятным даже для пользователей без значительного опыта программирования.
Основная идея — дать пользователям возможность создавать гибкие запросы для фильтрации данных тестирования без глубокого изучения SQL или других специализированных языков. Это позволяет инженерам по тестированию сосредоточиться на анализе результатов, избегая сложностей с синтаксисом запросов.
Когда и зачем появился AQL
Традиционные системы управления тестированием (TMS) предлагали только базовую фильтрацию, что было недостаточно для современных требований. AQL был создан как ответ на эти вызовы, предоставляя мощную, но простую в использовании систему запросов.
AQL был разработан как неотъемлемая часть экосистемы ТестОпс для решения критически важной проблемы: необходимости в эффективном анализе больших объемов данных тестирования. По мере роста популярности DevOps и увеличения количества автоматизированных тестов в проектах, возникла острая потребность в инструменте, который бы позволил аналитикам и QA-инженерам быстро находить нужную информацию среди тысяч тест-кейсов и результатов их выполнения.
Где применяется AQL
AQL используется в нескольких ключевых областях ТестОпс, далее рассматриваем каждую из них отдельно.
Дашборды и аналитика
Основное применение AQL — создание пользовательских дашбордов и виджетов. В разделе Дашборды ТестОпс инженеры могут использовать AQL-запросы для настройки виджетов, таких как "Аналитика запусков", "Тренд запусков", "Круговая диаграмма тестов" и других. Например, чтобы показать статистику только по тест-кейсам с тегом "web", можно использовать запрос tag = "web" в настройках виджета.
API-запросы
AQL активно используется в работе с API ТестОпс для программного доступа к данным. Это особенно важно при интеграции с внешними системами и создании автоматизированных отчетов. В TMS ТестОпс можно фильтровать результаты тестов. С версии ТестОпс 5.24 AQL-фильтры для запусков и результатов доступны напрямую в интерфейсе платформы при активации соответствующего фича-флага.
Фильтрация запусков в интерфейсе
В ТестОпс можно фильтровать запуски и результаты тестов с помощью AQL-запросов прямо в интерфейсе. Эта функция доступна через фича-флаг «Поддержка AQL в фильтрах». Она включает подсветку синтаксиса, проверку запросов и возможность переключаться между обычным поиском и AQL.
Основные возможности и синтаксис
Базовые операторы
AQL поддерживает все основные операторы сравнения и логические операции:
- Точное соответствие: name = "Мой тест";
- Частичное соответствие: name ~= "тест";
- Неравенство: name != "Мой тест" или not name = "Мой тест";
- Численные сравнения: id >= 100, createdDate < 1569430502709;
- Логические операторы: and, or, not.
Работа с множественными значениями
Для указания нескольких значений используется оператор в строке:
name in ["Тест 1", "Тест 2", "Тест 3"].
Сложные запросы с группировкой
AQL поддерживает использование скобок для изменения порядка выполнения операций:
(createdBy = "Иван" or createdBy = "Александр") and name ~= "тест".
Доступные поля для запросов
AQL предоставляет обширный набор полей для создания запросов :
Основные поля тест-кейсов:
- id — ID тест-кейса
- name — название тест-кейса
- tag — теги тест-кейса
- issue — связанные задачи из таск-трекера
- automation — флаг автоматизации
- muted — статус карантина
Пользовательские поля:
- role["Owner"] — пользователи в определенной роли
- member — все назначенные пользователи
- cf["Epic"] — кастомные поля
- cfv — все значения кастомных полей
Временные поля:
- createdDate, lastModifiedDate — даты создания и изменения
- mutedDate — дата помещения в карантин
- createdBy, lastModifiedBy — пользователи-создатели и редакторы
Практические преимущества AQL
Гибкая аналитика
AQL позволяет создавать сложные аналитические запросы без необходимости обращения к разработчикам. Инженеры могут формировать собственные отчеты благодаря гибкой системе фильтров и языку запросов.
Повышение эффективности команд
Использование AQL в дашбордах позволяет командам быстро выявлять компоненты с наибольшим количеством сбоев, анализировать тренды качества и принимать обоснованные решения. Это особенно важно для крупных проектов, где объем данных тестирования исчисляется тысячами тест-кейсов.
Интеграция с DevOps-процессами
AQL органично встраивается в DevOps-культуру, поддерживая принципы непрерывной интеграции и доставки. Это позволяет автоматизировать создание отчетов и оперативно реагировать на изменения в качестве продукта.
Интеграция с системой дашбордов
AQL тесно интегрирован с системой дашбордов ТестОпс, позволяя создавать информативные и настраиваемые панели мониторинга. При добавлении виджета на дашборд можно изменить его название, что особенно полезно при использовании AQL-запросов для фильтрации.
Каждый дашборд может содержать множество виджетов с различными AQL-запросами, обеспечивая комплексный взгляд на состояние проекта. Это позволяет командам создавать специализированные метрики для различных ролей: от разработчиков до менеджеров проектов.
Будущее развития AQL
С каждым новым шагом в развитии ТестОпс возможности AQL становятся все шире. В релизе 5.24 поддержка AQL в пользовательских фильтрах — это яркое проявление стремления команды разработчиков сделать продукт как можно удобнее для пользователей.
AQL превращает ТестОпс из экосистемы для управления и визуализации тестирования в полноценную аналитическую платформу для обеспечения качества ПО. Его простота в использовании и мощные возможности делают его незаменимым для современных команд, стремящихся к высоким стандартам и эффективности.