-
Telegram
-
Vkontakte
-
Копировать ссылку
-
Поделиться
Фреймворк для автоматизации критических сценариев использования банковского продукта
- Desktop
- Web
Если у вас нет времени читать детально, но нужно понять что же было сделано
NDA проект из банковской сферы. Разрабатываемая система — ПО для дистанционного обслуживания клиентов банка
Из-за разрастания продукта одного вендора банковского сектора, команда тестирования не могла проверить все систему, что привело к багам в релизах, и понижению репутации компании. QA Service Lab помогла компании и создала кастомный фреймворк для автоматизации и переработала все сценарии для авто-тестов на русский язык. Фреймворк генерировал подробные отчеты и рассылал их на почту всему менеджменту для оперативной реакции и правок следующих релизов.
Фреймворк покрыл 100% критического функционала системы, улучшил график релизов и полностью устранил случаи пропуска багов в продакшн.
Понравилось, но хочется больше деталей?
Читайте далее, там больше подробностейКлиент — компания по разработке специализированного программного обеспечения для банковской сферы.
Разрабатываемое ПО – это система дистанционного обслуживания клиентов, в которой работают как внешние пользователи, так и сотрудники банка. Ожидаемо, что для такой категории программных продуктов требуются гарантии безусловного качества. Программный продукт развиваться и постоянно дорабатывается, функционал системы расширяется и становится сложнее, новые сборки и функционал для пользователей выходит практически ежедневно, а в продакшне система обновляется до трех раз в неделю.
Что мы использовали
Такой стэк технологий уже использовался клиентом и мы решили не “изобретать велосипед”
-
JavaScript
-
Selenium
-
Node-fetch
-
Page Object Model
-
Cucumber
-
Gherkin
-
Protractor
-
Allure
-
Git
-
Confluence
-
Jira
-
Swagger
Проблематика проекта
Ожидаемо, что для такой категории программных продуктов требуются гарантии безусловного качества.
Все изменения, которые вносились в систему проходили полные циклы тестирования, однако все виды тестирования производились исключительно вручную. При высокой сложности продукта и внутренней структуре и взаимосвязи бизнес-процессов, QA команда заказчика в авральном режиме тратила все свое рабочее время на тестирование и уже перестала справляться с требуемым объемом тестов.
Как следствие, в релизах стали появляться баги, которые обнаруживались слишком поздно и периодически доходили до конечных пользователей. Это начало снижать репутацию компании.
Перед нашей командой был поставлен ряд задач для решения текущей ситуации с качеством на проекте
- Автоматизировать процесс прохождения базовых сценариев использования системы, а также внедрить их в цикл тестирования сборок в CI\CD.
- Сценарии для авто-тестов должны быть написаны на понятном для всех языке, чтобы команда тестирования и менеджмент компании могли посмотреть и понять какие именно функции выполняет тот или иной сценарий без изучения языка программирования, а также могли самостоятельно менять сценарии авто-тестов и создавать новые шаблонные сценарии без изменения кода.
- Настроить уведомления по электронной почте команд разработки, тестирования и менеджмента о результате каждого проведенного цикла тестирования для повышения скорости реагирования команды в случае обнаружения ошибок и сбоев.
- Авто-тесты должны быть написаны на языках Java или JavaScript, так как в компании есть соответствующая экспертиза.
После анализа текущей ситуации был разработан фреймворк для автоматизации сценариев использования системы.
Фреймворк написан на языке JavaScript, c использованием библиотеки Selenium для автоматизации взаимодействия с браузерами. Для обеспечения возможности понимания сценариев кода был использован BDD подход (разработка через поведение) и язык Gherkin
По итогу смысловая часть сценария была описана на русском языке и была отделена от реализации на уровне кода. Ручные тестировщики смогли подключиться к формированию базы тестовых сценариев, так как они получили возможность писать сценарии на русском языке, без изменения кода, а уже код авто-теста, обрабатывая написанное, проводил необходимые проверки, генерировал полноценные отчеты по каждому пройденному сценарию, с указанием на ошибки и сохранением снимков экрана, и отправлял этот отчет всем заинтересованным лицам.
За счет автоматизации базовых проверок, необходимый объем ручного тестирования снизился
-
-62%
Снижение объема ручного тестирования
-
100%
Критических сценариев покрыто
-
84%
Покрыто основных сценариев использования
-
0
Багов в релизах после автоматизации
Высвобожденное время QA команда проекта тратила на дополнительные ручные тесты и на написание новых сценариев для автоматизированных проверок.
Было покрыто 100% критического функционала системы и 84% основных сценариев использования системы. Оставшаяся часть из 16% не была автоматизирована из-за сложностей интеграций со сторонними сервисами и осталась вне скоупа данного проекта.
После внедрения системы автоматизированного тестирования наладился график поставки релизов пользователям (100% релизов в срок) и полностью были устранены случаи пропуска багов в продакшн (0 зафиксированных багов после релиза).