Автоматизация тестирования веб-приложения по подбору вариантов банковских депозитов
Краткое описание проекта
Проект представляет собой автоматизацию тестирования продукта, который даёт пользователю возможность подбирать наиболее подходящие для него банковские депозиты по заданным критериям, а также оформлять договор с банком на открытие депозитов.
UI часть состоит из следующих разделов:
- Депозитный калькулятор.
Раздел, в котором пользователь может настроить параметры (сумма депозита, срок размещения и др.) и получить готовый расчёт с указанием видов депозитов, которые он может открыть в банке, и с информацией о доходе, который в результате получит. - Раздел с выбором депозитов.
В этом разделе представлен список всех предлагаемых депозитов с возможностью узнать детальную информацию по каждому из них. Пользователь может самостоятельно выбрать интересующий его депозит и перейти к его оформлению. - Раздел оформления выбранного депозита.
В этом разделе пользователь может проверить полную информацию о депозите, если требуется — внести корректировки, выбрать счета для внесения депозита, пополнения средств и выплаты процентов. Тут же пользователю предлагается ознакомиться с условиями и отправить заявку в банк на рассмотрение. - Раздел с информацией об имеющихся у пользователя депозитах.
В этом разделе расположен список всех депозитов пользователя и их текущий статус.
Backend-часть — это сервис, который общается с внешними банковскими сервисами и получает от них необходимую информацию о клиенте и депозитах. Общение происходит по синхронным (REST API) и асинхронным каналам. Вся необходимая информация хранится в БД. Общение с фронтенд-частью осуществляется по синхронным каналам связи (REST API).
Обязанности команды ДжазТим
На проекте команда ДжазТим занималась обеспечением непрерывной проверки качества как пользовательского интерфейса, так и интеграционных сервисов в условиях постоянного развития и совершенствования продукта. Работа на проекте велась по трём основным направлениям:
- Разработка тестового фреймворка для тестирования бэкенд-части в интеграционном окружении. В данном окружении развёрнуты и работают все сервисы, которые взаимодействуют с тестируемой системой. Таким образом, тестирование в интеграционном окружении позволяет проверить работоспособность всех необходимых интеграций с другими сервисами.
- Организация процесса тестирования бэкенд-части в изолированном окружении на базе разработанного фреймворка. В изолированном окружении отсутствуют реальные интеграции — все интеграции симулируются заглушками. Таким образом, для выполнения тестирования мы не зависим от смежных сервисов, но можем проверить основную бизнес-логику.
- Разработка бэкенд автотестов. Были написаны автотесты на базе созданного фреймворка.
- Разработка фронтенд автотестов. Конечной целью работы команды ДжазТим было обеспечение покрытия автотестами не менее 60% тест-кейсов для проведения регрессионного тестирования.
Используемые технологии
Stack: Java 11, JSON, Regular expressions, Spring, Apache Maven.
Infrastructure: Git, IntelliJ IDEA, Teamcity, Bitbucket, TestIT, Jira, Confluence, Postman, Citrix Workspace.
Frameworks: Apache Kafka, Docker.
Test Automation libraries: TestNG, Allure, Rest Assured, Selenide.
Other libraries: Slf4j, Lombok.
Особенности проекта
- Работа велась в условиях жёстких правил относительно доступов. В процессе планирования работ необходимо было продумывать наперёд, какие доступы нужны для работы, и проходить несколько этапов согласований этих доступов.
- В обязанности автотестировщиков входили задачи по написанию вспомогательных утилит для нужд бизнес-аналитиков и системных аналитиков.
- В самом начале проекта заказчик предусматривал работу одного автоматизатора в 2-х командах разработки (команда бэкенда и команда фронтенда).
- На проекте существовала практика поддержки менее опытных автоматизаторов из команд, которые разрабатывали другие сервисы.
Результаты проекта
- Разработаны, настроены и запущены в работу тестовые фреймворки для автотестирования бэкенда и фронтенда.
- Обеспечен запланированный заказчиком процент покрытия автотестами.
- Внедрили процесс автоматизации тестирования на проекте:
- выполнили анализ требований заказчика;
- разработали тестовый фреймворк;
- написали автотесты.
Достижения компании на проекте
- Определили каналы и интенсивность коммуникации между командами QA Automation, разработчиками, девопсами, стейкхолдерами. По сути частично перестроили бизнес-процессы компании-заказчика для эффективного применения результатов QA Automation.
- Для билд-сервера отсутствовали доступы ко всем сторонним сервисам. Это требовало решения дополнительной задачи для тестирования реальной интеграции — силами команды ДжазТим провели исследование и разработку решения по настройке прав доступа интеграционных тестов в условиях высоких требований к безопасности системы заказчика.
Свяжитесь с нами, чтобы обсудить Ваш IT-проект