Обеспечение качества платформы для управления отношениями с сотрудниками
ОПИСАНИЕ ПРОЕКТА
Продукт заказчика — платформа для управления отношениями с сотрудниками, которую HR-менеджеры используют с целью повышения вовлеченности персонала и улучшения бизнес-показателей. Она позволяет решать множество задач — от оценки эффективности сотрудников до публикации новостей компании.
Однако на проекте отсутствовали процессы QA, что негативно сказывалось на качестве программного обеспечения.
ОБЗОР ПРОЕКТА
В рамках пилотного проекта двое инженеров a1qa работали над улучшением QA-практик и устранением критических дефектов. Следующей задачей было расширить охват тестирования и автоматизировать процесс управления тенантами.
Пилотный проект
После релиза программного обеспечения каждый конечный пользователь работал с кастомизированной версией платформы.
Отсутствие выделенной QA-команды и частые обновления увеличивали риски для продукта. Чтобы устранить эти проблемы, a1qa начала с нуля создавать процессы обеспечения качества, сосредоточившись на улучшении стабильности.
Сначала специалист a1qa определил оптимальный набор инструментов для организации QA-процессов. Для отслеживания дефектов была выбрана JIRA, а для управления тестами — Zephyr, что обеспечило бесшовную интеграцию и масштабируемость.
Затем специалист a1qa разделил функциональность продукта по приоритету для дальнейшего тестирования. Из-за регулярных обновлений инженер вместе с заказчиком выбрали самые важные и стабильные функции для проверки в первую очередь.
Инженер создал полноценные функциональные тест-кейсы, которые проверяли позитивные и негативные сценарии, связи между элементами веб-приложения. Также было выполнено тестирование совместимости на мобильных платформах.
Быстрое увеличение функций привело к необходимости внедрения автоматизации тестирования для снижения трудозатрат и ускорения тестовых циклов. Инженер разработал тестовые сценарии, вручную протестировал их и выбрал 10 самых важных тест-кейсов для автоматизации. После этого он настроил Pipeline для запуска тестов. Изначально все проверки создавались для одного тенанта. Были использованы следующие инструменты:
- C# как язык программирования
- Microsoft Azure DevOps для CI и выполнения тестов
- Selenium WebDriver для взаимодействия с веб-интерфейсом
ДАЛЬНЕЙШЕЕ СОТРУДНИЧЕСТВО
После настройки QA-процессов фокус сместился на расширение тестового покрытия.
Во время функционального тестирования специалисты a1qa проверили менее критичные функции, затем переключились на тестирование новых функций и выполнили регрессионные тесты. Также они провели валидацию дефектов и сгенерировали подробные отчеты с результатами тестирования. Совместная работа с руководителем отдела поддержки со стороны заказчика помогла отследить дефекты, обнаруженные пользователями и проанализировать их основные причины.
Команда a1qa сосредоточилась на запуске существующих автоматизированных тестов, постепенно увеличивая охват тестирования наиболее важных функций.
Конечной целью была полная автоматизация тестов процесса управления тенантами, включая их создание, деактивацию, удаление и запуск тестов как для новых, так и для уже существующих модулей.
ПРЕДОСТАВЛЕННЫЕ СЕРВИСЫ
- Функциональное тестирование
- Автоматизация тестирования
ТЕХНОЛОГИИ И ИНСТРУМЕНТЫ
- SpecFlow
- Microsoft Azure
- Selenium WebDriver
- Postman
- Zephyr
- JIRA
Чтобы сделать процесс проще и эффективнее, QA-инженер разработал сценарии, учитывающие различия между тенантами, и объединил общие элементы в единую логику. Затем он реализовал эту логику в многоразовых универсальных скриптах, а уникальные особенности каждого тенанта вынес в отдельные (кастомные) реализации.
Для эффективного тестирования нескольких тенантов, QA-специалист разработал фреймворк автоматизации тестирования и предпринял следующие шаги:
- Реализовал шаблон проектирования «Фабрика объектов» (factory pattern), чтобы при каждом запуске теста автоматически выбирать нужное окружение и необходимые объекты.
- Настроил систему дополнительных конфигураций, которая позволяет выбирать и передавать настройки в зависимости от параметров конкретного прогона теста-кейса.
- Создал модель Page Object, где общие моменты для разных клиентов выделены отдельно, а для каждого конкретного клиента есть свои наследуемые Page Object-классы со всеми индивидуальными нюансами. Так тестовая логика остается независимой от особенностей разных тенантов.
- Внедрил модуль взаимодействий и интеграций для передачи данных через компоненты системы (например, бэкенд или запросы к базе данных), а также модуль утилит для конвертации форматов данных и моделей.
a1qa протестировала модули тенантов, в которых уже были необходимые данные, и «пустых» тенантов. При работе с последними возникала сложность: после их создания требовалось внести в них большие объёмы данных перед началом тестирования.
QA-специалист разработал отдельные автоматизированные тесты для внесения данных, которые одновременно проверяли их корректность и целостность. Также были задействованы тесты для проверки функциональности, отвечающей за управление тенантами и генерацию данных.
РЕЗУЛЬТАТЫ
-
Повышена операционная эффективность благодаря более точным и упорядоченным процессам тестирования, которые помогли быстро выявить дефекты и снизить вероятность доработок.
-
Расширено тестовое покрытие за счет автоматизации, что позволило улучшить глубину и широту процессов контроля качества.
-
Обеспечена стабильность работы продукта за счет единых QA-практик на всех этапах проекта.
-
Снижены риски при регрессионных тестах, что позволило часто и тщательно перепроверять ПО после внесения изменений.
-
Увеличена масштабируемость QA-процессов благодаря гибкому и эффективному фреймворку тестирования.
В ЦИФРАХ
-
1,5года длительность проекта
-
2QA-инженера задействовано
-
3модуля тенантов протестировано
-
87автоматизированных тест-кейсов
-
36дефектов уровня “blocker” обнаружено
-
100%соблюдение сроков