+7 (980) 064-35-88

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

В этой статье мы рассмотрим работу наших специалистов в системе заказчика.

Система заказчика представляет собой набор сервисов по работе с биржевыми инструментами, проведением сделок и отслеживанием участников.

Главные задачи перед командой автоматизации:

1) Вывести список критических тестов;
2) Написать базовые фреймворк для работы с UI и API;
3) Поддерживать тесты после выхода обновлений.

Первые шаги в проекте

Наша команда совместно с функциональными тестировщиками выделили пул критических тестов, которые гоняются чаще всего.

Дальше мы начали конструировать фреймворк под специфику CI заказчика. Для стабильной работы требовалось:

1) Выполнять подготовку стенда после каждого деплоя;
2) Проверять запущенные сервисы;
3) Подключаться к нескольким БД и проводить скрипты для подготовки данных;
4) Управлять сделками через API и UI смежных систем

Создание фреймворка

Сперва наша команда написала расширяемый фреймворк, и настроила jenkins для регулярных зхапусков. После этих действий все коллеги смогли наблюдать за продвижением автотестов и пользоваться отчетами для сверки своих мерж реквестов.

Для разработки тестов решили использовать следующие инструменты:
1) Java 17;
2) Selenium;
3) Retrofit;
4) Hibernate;
5) TestNg;
6) Allure.

Данные этап не занял много времени и сил.

Независимость проекта

Следующий шаг — получить независимость от DevOps инженеров на этапе подготовки стенда

Стенды у заказчика базируются на Windows Server, для запуска и проверки всех сервисов мы использовали скрипты старта и остановки и специальный UI интерфейс для проверки снепшотов, обновления бд и очистки.

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

Распространение

После всех CI/CD задач необходимо было покрыть как можно больше тестов критического приоритета.

Этот этап занял у нас больше всего времени.
Так как в критических набор входят по 1-3 теста с каждого раздела, то для нас все тесты были как новые и представляли разную логику.

Если учесть что мы работали с биржевым инструментом, то очень много времени уходила на разбор документации, общеения с аналитиками и тестировщиками.

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

Расширения систем

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

Мы старались сразу забирать все проверки себе, и покрывать все автотестами.

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

Поддержка

Сейчас основная часть команды автоматизации занимается поддержкой текущих тестов и проработкой логики на dev стендах разработчика, чтобы при мерже на предпродуктовый полигон все фичи были проверены и оставались только проверки интеграций.

статью прочитали 1744 раза

также читайте в блоге

Коды ОКВЭД:
Коды ОКВЭД:
Вид деятельности в области информационных технологий: Код 1.01 Проектирование, и (или) обследование, и (или) разработка, и (или) адаптация, и (или) модификация (в том числе локализация, кастомизация,...
читать
Автоматизация тестирования на проектах
Автоматизация тестирования на проектах
В этой статье мы рассмотрим работу наших специалистов в системе заказчика. Система заказчика представляет собой набор сервисов по работе с биржевыми инструментами, проведением сделок и отслеживанием...
читать
Модуль оптического позиционирования
Модуль оптического позиционирования
Модуль позволяет позиционировать квадрокоптер, используя оптический датчик, который отслеживает смещение объектов. Это дает возможность удерживать положение и летать в автоматическом режиме без...
читать