Разделы

Разработчик Allure рассказал о новом подходе к тестированию ПО

Автоматизация тестирования занимает все более прочные позиции в цикле разработки российских IT-компаний — согласно последним отчетам Agile и DevOps применяются у 70% команд. Обеспечение согласованности и выпуск нескольких релизов в день невозможны без масштабируемых процессов автоматического тестирования регрессии и нагрузки. Команды разработчиков Allure Report и Allure TestOps рассказали о том, как правильно выбранные инструменты помогают обеспечить быстрые и безопасные релизы.

Исследования инженеров из Qameta Software среди крупных банков и IT-компаний, внедряющих автоматизацию тестирования, выявили несколько ключевых сложностей:

  1. Сложности в организации эффективной и прозрачной инфраструктуры для выполнения тестов и синхронизации между разработкой, автоматизаторами и ручным тестированием.
  2. Интеграция автоматизированного тестирования с существующими инструментами и процессами ручного тестирования, как правило, выстроенными вокруг TMS (Test Management System).
  3. Эффективная автоматизация требует настройки сквозных процессов, выходящих за пределы QA-команды: запуск и анализ тестов совместно с разработкой и эксплуатацией, подготовка прогнозов и аналитики для менеджеров и многое другое.

Решение этих проблем легло в основу платформы Allure TestOps, ключевая задача которой — предоставить набор инструментов, чтобы инженеры занимались разработкой тестов, не отвлекаясь на процессы, инфраструктуру и интеграции.

Автоматизация тестирования из коробки

Первая проблема, с которой в 2021-2022 годах сталкиваются команды, внедряющие автоматизацию — обеспечение доступности и доверия к автоматизированным тестам. Сложности начинаются, когда “основные” шаги сделаны: выбрана технология, язык программирования, написаны первые тесты, — возникает необходимость обеспечивать инфраструктуру запуска и перезапуска тестов, искать способы контроля результатов и стабильности, сокращать время на разбор многочисленных падений.

  • Запуск тестов. Allure предоставляет набор нативных интеграций не только с 11 языками программирования, но и с любой CI-системой. Интеграция устроена так, что все отчеты по результатам тестирования оказываются доступны в реальном времени без необходимости в разработке адаптеров. Пользователь сразу же может увидеть какие тесты упали и почему.

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

  • Разбор результатов. Преимущество и одновременно проблема автотестов, в сравнении с ручными, заключается в том, что при правильной организации они всегда воспроизводятся. Их много, запускаются они часто. Даже если падает всего пять тестов из ста — при десяти запусках эта цифра составит уже 50 падений в день. Под пять минут на падение — это четыре часа чистого времени работы тестировщика.

TestOps решает эту проблему через привязывание дефектов к падениям. Чтобы не разбирать одинаковые падения, дефекты фиксируют их и привязывают к трекеру. Таким образом, разработчики и QA занимаются только новыми ошибками, игнорируя уже задокументированные проблемы.

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

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

Совместимость с TMS

В крупных компаниях автоматизация внедряется поверх зрелых QA-отделов, где команда уже пользуется инструментами для управления и работы с тестами. Чаще всего такие отделы построены вокруг TMS.

TMS — отличное решение для управления ручным тестированием, но встраивание любого «ручного» инструмента в DevOps-пайплайны затрудняется требованиями к скорости и масштабированию.

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

Интеграции с Xray Test Management и TestRail уже работают. Эти системы являются стандартом де-факто в области ручного тестирования. Широкая функциональность по работе с ручным тестированием позволяет строить управляемые и понятные процессы в QA-подразделении. Однако внедрение автоматизированного тестирования с этими инструментами требует дополнительной разработки: необходимо интегрировать CI-системы и все фреймворки с предоставленным API для автотестов.

Помимо разработки интеграций с указанными выше TMS, команда Qameta Software помогает автоматизировать миграцию любых данных, параметров и настроек из любой TMS, если такая необходимость возникает.

Сообщество и экспертиза

Qameta Software возникла вокруг Allure Report, open-source проекта, которым пользуются сотни тысяч пользователей по всему миру. За 10 лет существования проект собрал огромное сообщество, позволившее Qameta Software сфокусироваться на реализации идей и решений от множества пользователей и контрибьюторов.

Как обеспечить управление ИКТ-активами в масштабе фестиваля
Телеком

Такой эволюционный путь развития привел команду разработчиков к Allure TestOps — универсального инструмента, позволяющего и инновационным стартапам, и крупным бизнесам (банкам, телеком-компаниям, IT-корпорациям) внедрять эффективные процессы автоматизациии находить точки роста в процессах на стыке QA, Ops и разработки.

«Выбор технологии и покрытие продукта автотестами — это вершина айсберга внедрения автоматизации тестирования. Для того, чтобы система работала и действительно могла отвечать за качество, требуется правильные процессы и инструменты — такое видение легло в основу Allure TestOps, универсального инструмента управления автоматизацией в гибких окружениях», — отмечает Артем Ерошенко, Директор по продукту в Qameta Software.