Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. С 2022 года я работаю в банке и одно из моих направлений работы — выбор инструментов тестирования. Не так давно я начал писать цикл статей:
-
Part 0. Инструментарий QA в Альфа Банке, в которой описал концепцию Full-stack QA и показал перечень инструментов, которые мы используем в тестировании.
-
Part 1. Инструменты автоматизации тестирования, в этой статье я рассказывал какие инструменты мы используем для автоматизации тестирования и почему мы сделали такой выбор.

В этой статье я расскажу о системе управления тестированием (Test Management System), которую мы используем в Альфа Банке и почему мы сделали такой выбор. Система управления тестированием — это инструмент, который помогает организовать, планировать, выполнять и отслеживать тестовые сценарии, тестовые наборы и тестовые результаты. С помощью системы управления тестированием мы можем повысить эффективность и качество нашего процесса тестирования, а также снизить риски и издержки. При выборе системы управления тестированием мы учитывали несколько критериев, среди которых:
-
Интеграция с другими инструментами. Мы хотели, чтобы наша система управления тестированием была хорошо интегрирована с другими инструментами, которые мы используем в нашей работе, такими как системы отслеживания ошибок, системы автоматизации тестирования и облачные мобильные фермы. Это позволяет нам обеспечить единый поток работы, избежать дублирования данных и повысить скорость и точность нашего тестирования.
-
Функциональность и гибкость. Мы хотели, чтобы наша система управления тестированием имела все необходимые функции для нашего процесса тестирования, такие как создание и редактирование тестовых сценариев, назначение и запуск тестовых наборов, просмотр и анализ тестовых результатов, генерация и экспорт отчетов и дашбордов. Также мы хотели, чтобы наша система управления тестированием была гибкой и настраиваемой под наши потребности и специфику наших проектов.
-
Цена и поддержка. Мы хотели, чтобы наша система управления тестированием была доступной по цене и имела хорошую поддержку от разработчиков. Мы также хотели, чтобы наша система управления тестированием была обновляемой и совместимой с последними технологиями и трендами в области тестирования.
Мы выбирали из таких систем Allure TestOps, TestIT и Zephyr Squad. Мы сравнивали их по разным критериям, таким как интеграция с другими инструментами, функциональность и гибкость, цена и поддержка. Мы также изучали отзывы и рейтинги пользователей, а также пробовали бесплатные версии этих систем. По результатам нашего анализа мы выбрали Allure TestOps, потому что он лучше всего подходил нашим потребностям и специфике наших проектов.
Allure TestOps — это качественная платформа, которая без проблем интегрируется со всеми вашими фреймворками и сохраняет все данные о тестировании централизованными и прозрачными.
Allure TestOps предлагает множество преимуществ для нашего процесса тестирования, таких как:
-
Интеграция с другими инструментами. Allure TestOps легко интегрируется с большинством популярных инструментов для разработки и тестирования программного обеспечения. Например, мы можем связать наши тестовые сценарии в Allure TestOps с ошибками в Jira, запускать наши автоматизированные тесты в Playwright, Spring, Appium или Browserstack из Allure TestOps, а также получать подробные отчеты о результатах наших тестов в Allure TestOps.
-
Функциональность и гибкость. Allure TestOps имеет все функции, которые нам нужны для нашего процесса тестирования. Мы можем легко создавать и редактировать тестовые сценарии, назначать и запускать тестовые наборы, просматривать и анализировать тестовые результаты, генерировать тестовые сценарии на основе запусков автотестов, генерировать и экспортировать отчеты и дашборды. Также мы можем настраивать Allure TestOps под наши потребности и специфику наших проектов. Мы можем добавлять свои поля, фильтры, шаблоны, рабочие процессы и правила валидации в Allure TestOps.
-
Цена и поддержка. Allure TestOps имеет разумную цену и хорошую поддержку от разработчиков. Мы можем выбрать между облачной или серверной версией Allure TestOps в зависимости от наших предпочтений и бюджета. Мы также можем пользоваться бесплатной пробной версией Allure TestOps на 30 дней, чтобы оценить его возможности. Кроме того, мы можем обращаться к поддержке Allure TestOps по любым вопросам или проблемам, которые у нас возникают при использовании системы. Поддержка Allure TestOps быстрая, дружелюбная и профессиональная.

В этой статье я хочу рассказать не только почему мы выбрали, но и как организовали работу Allure TestOps с нашими системами. Мы используем серверную версию Allure TestOps, которая развернута в нашей платформе облачной разработки Red Hat OpenShift. Red Hat OpenShift — это платформа для разработки, развертывания и управления приложениями в облаке, которая поддерживает различные языки программирования, фреймворки и инструменты. Хранение тест-кейсов происходит в нашей базе данных PostgreSQL. PostgreSQL — это мощная и надежная система управления реляционными базами данных, которая поддерживает SQL стандарт и имеет множество расширений. Все файлы, которые используются в тест-кейсах или формируются при прогоне автотестов, хранятся в объектном хранилище Minio с использованием дисков S3. Minio — это высокопроизводительное и совместимое с S3 хранилище для объектов, которое позволяет нам хранить и обрабатывать большие объемы данных в облаке. S3 — это сервис хранения объектов, который предоставляет высокую доступность, надежность и масштабируемость.
Пример интеграции
После рассказа выбора инструмента управления тестированием, я хочу показать насколько просто можно интегрировать Allure TestOps с другими инструментами, которые используют при автоматизации тестирования веб-приложений. Для этого я разобью пример на четыре этапа:
-
Интеграция с инструментом автоматизации тестирования Playwright
-
Интеграция с системой управления проектами. Мы используем серверную версию Jira
-
Интеграция с CI/CD системой GitHub
-
Отправка нотификации

1. Интеграция с инструментом автоматизации тестирования Playwright
Для того чтобы интегрировать Playwright и Allure TestOps достаточно просто добавить к своему проекту npm-пакет allure-playwright.
Первое, что необходимо сделать это инициализировать npm-пакет следующей строкой:
npm i -D @playwright/test allure-playwright
Затем мы добавляем параметры в файл playwright.config.ts, который является файлом конфигурации для Playwright. В этом файле мы указываем, что мы хотим использовать Allure как репортер для наших тестов.
export default defineConfig({ testDir: './tests', fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, reporter: [ ['html', {open: 'never'}], ['list'], ['allure-playwright', { environmentInfo: { E2E_NODE_VERSION: process.version, E2E_OS: process.platform, }, suiteTitle: false, detail: true, }, ], ]
После этого мы можем добавлять аннотации Allure в наш тест с помощью специальных декораторов. Аннотации Allure позволяют нам добавлять метаданные к нашим тестам, которые помогают нам лучше организовать, анализировать и представлять результаты тестирования. В данном примере я использовал следующие аннотации:
-
allure.owner — эта аннотация указывает, кто является автором теста. Это полезно для определения ответственности за тест и для связи с автором в случае возникновения проблем.
-
allure.suite — эта аннотация указывает, к какому набору (suite) относится тест. Это полезно для группировки тестов по определенным критериям и для удобства просмотра результатов.
-
allure.id — эта аннотация указывает, какой идентификатор (ID) имеет тест. Это полезно для уникальной идентификации теста и для избежания дублирования тестов (ID я рекомендую указывать в названии теста, подробнее описал в этой статье).
import { test, expect } from "@playwright/test"; import { allure } from "allure-playwright"; export const TODO_ITEMS = ["buy some cheese", "feed the cat", "book a doctors appointment"]; test.describe(() => { test.beforeEach(async () => { allure.owner('lunin'); allure.suite('Habr'); allure.layer('UI Tests'); allure.labels( { name: 'jira', value: 'TESTALL-109' } ); }); test("basic test @allure.id=19878", async ({ page }) => { await allure.step("Visit todolist page", async () => { await page.goto("https://demo.playwright.dev/todomvc"); }); await allure.step("Create 1st todo.", async () => { await page.locator(".new-todo").fill(TODO_ITEMS[0]); await page.locator(".new-todo").press("Enter"); }); await expect( page.locator(".view label"), "Make sure the list only has one todo item.", ).toHaveText([TODO_ITEMS[0]]); }); });
2. Интеграция с системой управления проектами. Мы используем серверную версию Jira
У команды разработки Allure TestOps отлично описан процесс интеграции здесь. Интеграция с Jira Server (DC) подразумевает, что вы собираетесь использовать плагин Allure TestOps Jira.
Основные моменты интеграции:
-
Создайте (получить/сгенерировать) секреты (учетные данные) во внешней системе для использования их API.
-
Добавьте необходимую интеграцию на глобальном уровне Allure TestOps (вам нужно быть администратором или иметь администратора поблизости).
-
Добавьте необходимую интеграцию на уровне проекта и предоставьте учетные данные (секреты), которые вы получили на шаге 1.
3. Интеграция с CI/CD системой GitHub
У команды разработки Allure TestOps отлично описан процесс интеграции здесь. Интеграция Allure TestOps с GitHub является двунаправленной, это означает, что вы можете сделать следующее.
-
CI: Загрузка результатов теста из рабочего процесса GitHub (GitHub > Allure TestOps)
-
Рабочий процесс загрузки GitHub использует allurectl для загрузки результатов теста.
-
-
CI: Запуск отправки рабочего процесса GitHub (Allure TestOps > GitHub)
4. Отправка нотификации
Для отправки результатов прогонов тестов мы используем Allure notifications — это библиотека, позволяющая выполнять автоматическое оповещение о результатах прохождения автотестов, которое направляется в нужный вам мессенджер (Telegram, Slack, Skype, Email, Mattermost, Discord, Loop).
Заключение
Как видите, интеграция Allure TestOps с другими инструментами достаточно простая и хорошо описана в документации команды разработчиков либо можно написать в поддержку или в telegram-канал. Это позволит вам легко и быстро настроить свой процесс тестирования с помощью Allure TestOps и получать максимальную пользу от его функциональности.
Мы можем сказать, что Allure TestOps — это отличный выбор для нашей системы управления тестированием. Он помогает нам организовать, планировать, выполнять и отслеживать наше тестирование с высокой эффективностью и качеством. Также интегрируется с другими инструментами, которые мы используем в нашей работе, что позволяет нам создавать единый поток работы. Имеет все функции, которые нам нужны для нашего процесса тестирования, а также гибкий и настраиваемый под наши потребности и специфику наших проектов. Он имеет разумную цену и хорошую поддержку от разработчиков. Мы рекомендуем Allure TestOps всем, кто ищет систему управления тестированием для своих проектов.
ссылка на оригинал статьи https://habr.com/ru/articles/771138/
Добавить комментарий