Мы используем файлы cookie для вашего удобства пользования сайтом и повышения качества. Нажимая на кнопку «Согласен», вы принимаете пользовательское соглашение.

Сейчас работаем
Summary

Если у вас нет времени читать детально, но нужно понять что же было сделано

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 зафиксированных багов после релиза).

Подписывайтесь на наш канал в Telegram

Канал компании QA Service Lab про жизнь в неидеальном мире, но в стремлении к качественным программным продуктам и сервисам

Подписаться
qr-code
Обратный звонок

    0из 150
    Облако

    Данные отправлены

    Скоро с вами свяжется наш специалист