Как сделать контроль качества прозрачным: Allure TestOps для помощи в обеспечении качества
21 февраля 2023 г.Мы уже представили наши методы контроля качества И насколько мы заботимся о прозрачности всех процессов. Но как обеспечить эту прозрачность на всех уровнях разработки?
Сегодня у нас есть новая информация от Михаил Сидельников, ведущий специалист по контролю качества в PropellerAds, входящей в AdTech Holding. Михаил поделился лучшими практиками работы с инструментом Allure TestOps.
Почему команда выбрала его, какие инструменты она использовала раньше и когда Allure TestOps становится лучшим решением для рабочих процессов качественной помощи?
Почему прозрачность так важна?
Как бизнес, основанный на первоклассных технологиях, PropellerAds использует подход CI/CD. Он подразумевает постоянные релизы несколько раз в день, поэтому просто нельзя прерывать процесс из-за каких-то недоразумений или ошибок.
Как это работает?
- Разработчик создает запрос на вытягивание
- Команда контроля качества немедленно приступает к тестированию.
- Результаты тестирования мгновенно появляются в Github, Slack и Allure TestOps.
Это непрерывный процесс — все автоматизировано, ручной работы почти нет. Результатом этого процесса должен быть качественный продукт, поэтому каждый шаг должен быть прозрачным.
Но как это обеспечить?
Михаил:
— «Проверка — основа качества. Но одиночества не любит — тест не интроверт! Он нуждается в семье и друзьях в своем роде, чтобы принести реальную ценность. И, как и всем в реальной жизни, тесту и его семье нужно комфортное жилье с удобной инфраструктурой и пространством для развития».
Так как же группа контроля качества PropellerAds решила «квартирный вопрос» для своих тестов?
Первые практики контроля качества в PropellerAD
Поначалу в PropellerAds даже не было полноценного отдела контроля качества: он был организован только в 2015 году. Потребовалось время, чтобы автоматизировать рабочие процессы и создать эффективную, вдохновленную команду.
По мере роста команды росли и ее требования! Количество тестов и микросервисов быстро росло, и важно было организовать их все. В противном случае с ними стало бы невозможно работать, интегрировать с различными CI/CD — и сохранять прозрачность в конце концов.
Реализация TestRail
Основатели команды контроля качества PropellerAds имеют многолетний опыт работы с TestRail. Таким образом, это стало самым очевидным решением. Кроме того, казалось, что он отвечает всем потребностям команды следующим образом:
* Необходимые функции: ведение кейса, историчность, тестовый запуск * Довольно приемлемая интеграция с Jira * Опыт команды по интеграции TestRail с CI/CD * Общий опыт работы команды с TestRail
Итак, решение принято.
Проблемы с TestRail
Поначалу все шло довольно гладко. И все же спустя некоторое время команда почувствовала, что TestRail — не лучший инструмент, отвечающий всем ее потребностям. В чем была проблема? Главное, что команда по-прежнему росла, и все процессы стали намного требовательнее.
Другими словами, все быстро масштабировалось:
* Команда; * Количество ручных дел * Количество ручных тестовых прогонов * Количество релизов
Михаил:
— Стало крайне сложно и неудобно сначала создавать кейсы в TestRail, а потом делать это в коде. Мы хотели видеть полностью прозрачное изображение в нашей системе управления тестированием.
Наконец, команда начала нуждаться в каком-то альтернативном рабочем процессе и инструментах. Список проблем становился все больше и больше, а самые болезненные моменты включали следующее:
* Новые проекты были плохо интегрированы * Не было поддержки новых кейсов или шагов: если вы что-то исправляли в коде, нужно было делать то же самое вручную в TestRail * Прозрачность и релевантность стали стремиться к нулю
В целом возникла угроза того, что качество продукта начнет страдать.
Новые требования
Наконец стало очевидно, что команде нужно новое решение. Но сначала нужно было прояснить: чего не хватает команде и что ей нужно на данном этапе? После обсуждения группа контроля качества составила простой список требований.
n Вот оно:
- Автоматическая загрузка результатов теста. Команда хотела видеть тесты в TMS сразу после их запуска, без использования API
- Интеграция с Jira. Это снова было о прозрачности: наличие тестового статуса прямо в диспетчере задач — лучший способ сделать рабочие процессы максимально прозрачными.
- Простая интеграция с тестовыми кодами: любые изменения должны отображаться в TMS без необходимости что-либо менять вручную
- Тестовый запуск в CI/CD. Было бы полезно сделать это намного быстрее — и, в идеальном случае, запустить их прямо из TMS. В TestRail есть функция настройки пользовательского интерфейса, но это решение требовало постоянной поддержки.
Как Allure TestOps изменил процесс
Требования стали более чем очевидными, но они не помогли найти правильное решение. И вот команде PropellerAds QA посчастливилось встретить известного разработчика - Артема Ерошенко, который неожиданно дал простой и понятный совет:
<цитата>Зачем использовать TestRail, если есть Allure TestOps?
Первая мысль была: а что такое Allure TestOps? п
Allure TestOps – это платформа для тестирования, позволяющая хранить тестовые наборы и управлять ими. Он основан на отчетах Allure Reports, хорошо знакомых большинству членов команды.
Михаил: n — Вот мы и подумали: свежий и модный инструмент — почему бы не попробовать?
И спойлер: получилось отлично. Процесс стал меняться в лучшую сторону — и в кратчайшие сроки. п
Какие же самые полезные функции Allure TestOps так сильно ускорили рабочий процесс?
Результаты тестирования
Если вы когда-нибудь пробовали TestRail, то знаете, что скачивать результаты тестов там сложно: много возни с API.
Allure TestOPS решает ту же проблему очень элегантно и просто. п
Если результаты ваших тестов подразумевают создание отчета Allure, ваши тесты уже есть в TestOps. Команда использует Allure довольно давно — а это значит, что платформа TestOps сохранила их тесты. п
Краткий гайд: чтобы добавить любую интеграцию, вам достаточно зайти в настройки TestOps, выбрать любой нужный вам продукт, а затем - настроить его в несколько кликов! Быстро и безболезненно, как здесь: n
Михаил:
– Никаких скрытых камней: три поля, и интеграция завершена. С остальными инструментами работает так же: минимальные настройки. И наш любимый темный режим тоже здесь!
Если вам нужно интегрировать Teamcity или другие подобные инструменты, вы можете сделать это с помощью специальных плагинов. Требуется два щелчка мыши, чтобы настроить загрузку результатов в TestOps. Что еще более полезно, это происходит во время выполнения. Вот как это выглядит: снова элегантно и просто:
п
После того, как вы закончите настройку, вы можете запускать задания в своем CI/CD. И сразу после этого процесс становится в разы прозрачнее. Allure TestOps позволяет вам проверить существующее тестовое покрытие, понять, как часто вы запускаете те или иные тесты, понять, какие проекты стабильны, а какие нет, и даже просмотреть определенные тесты.
Общий процесс тестирования в Allure TestOps выглядит следующим образом:
- Вы задаете конфигурацию сборки TeamCity один раз: указываете идентификатор проекта Allure и путь к результатам Allure в функции сборки
- Вы запускаете конфигурацию Team City Build
- Вы ждете результатов в Allure и все! п
Итак, после того, как вы закончите со всеми настройками, вам нужно сделать всего два простых шага — никаких JS, веб-серверов и API. Все настраивается через пользовательский интерфейс используемых вами инструментов.
Качество и статус
Оказалось, что у Allure TestOps есть плагин Jira, который позволяет посмотреть все тесты для конкретной задачи. Плагин включает пагинацию, поисковые фильтры и последние результаты этих тестов. п
Настройки такие же быстрые и простые, как и интерфейс:
Михаил:
Все результаты обновляются автоматически, и вы можете увидеть все обращения, созданные для этой конкретной задачи. Это было именно то, что нам было нужно, чтобы понять, что и как мы проверяем. Мы значительно повышаем нашу старую добрую прозрачность — и обеспечиваем лучшее понимание качества выпускаемых нами функций.
Код автотестов
У команды контроля качества PropellerAds есть множество автотестов: благодаря им она может гарантировать высочайшее качество продукта. Allure TestOps значительно упрощает этот важный момент. Он позволяет создавать необходимые аннотации, и каждая аннотация устанавливает метку для теста. В итоге метка появится в TestOps.
Существует большой список уже существующих аннотаций — и не только в Java. Вот пример:
Если вам не хватает готовых аннотаций, вы можете легко добавить свою: @LabelAnnotation(name = «любое имя»). Почти все данные TestOps работают через метки, и эти метки можно настраивать. Благодаря ему вы можете видеть различные древовидные карты и слои в списке всех существующих тестов, фильтровать и группировать свои кейсы.
Другие функции
Таким образом, все вопросы были решены благодаря TestOps. Помимо этих решенных проблем, мы также получили доступ к большему количеству новых функций. Вот они:
- Allure позволяет просматривать историю тестовых запусков. Михаил говорит, что это была отличная функция: вы можете быстро проверить, когда и где был запущен тест и когда он начал давать сбои.
- Планы тестирования. Теперь команда могла не только создавать, но и запускать эти тест-планы прямо из TestOps.
- Удобные информационные панели со статистическими данными. Вы можете создать их самостоятельно или использовать готовые информационные панели.
- Различные настройки для проектов. Они включают в себя удаление старых результатов тестирования, которые вам больше не нужны, настройку разных полей тестирования для ручных и автоматических случаев, а также запуск тестов прямо из Allure TestOps с различными параметрами.
- И многие другие.
Михаил:
— Это лишь малая часть всего, что вы получаете с Allure TestOps. Хотите что-то новое или нашли ошибку? Создайте тикет об ошибке или спросите у разработчиков напрямую в Telegram-канале. Это действительно удобно! Или у них служба поддержки - эти ребята стараются ответить как можно быстрее - Хороший сервис.
Подводя итог: Allure TestOps против TestRail
Итак, была ли решена «квартирная проблема» наших тестов? Да, безусловно. Постоянно развивающийся, интуитивно понятный, с мгновенным доступом ко всем необходимым инструментам — Allure TestOps оказался самым правильным решением.
Но так ли уж плох TestRail?
n Михаил:
TestRail — хороший инструмент, но он лучше подходит для других нужд, чем у нас. n
Когда лучше использовать TestRail, а когда вам поможет Allure TestOps?
| ТестРейл | Allure TestOps | |----|----| | Вы не сильно зависите от процесса выпуска | У вас много релизов, и ваша работа основана на CI/CD | | Интеграция с другими инструментами не является вашим приоритетом | Вы стремитесь к прозрачности тестирования всех ваших инструментов | | У вас много ручных дел | Вы работаете в основном с автоматическими тестами |
В целом Allure TestOps оказался намного более эффективным для обеспечения прозрачности QA — на каждом этапе и уровне. И это то, что нам нужно в PropellerAds.
Основное изображение для этой статьи было создано с помощью генератора AI-изображений через подсказку "инженер смотрит на двигатель".
Оригинал