En

JazzTeam Software Development Company

Agile Java Development

Внедрение процесса тестирования для крупной ERP-системы с нуля

Бизнес-вызовы

Продуктовая IT-компания занимается разработкой динамично развивающейся ERP-системы для учёта и планирования расходов крупных производственных предприятий в сфере машиностроения. В функциональность IT-решения постоянно вносятся изменения, при этом у компании не хватает ресурсов на тестирование. Процесс обеспечения качества не выстроен, на проекте нет необходимых специалистов. Исправление ошибок происходит только на поздней стадии жизненного цикла продукта в рамках приёмочного тестирования, обходится заказчику слишком дорого и может негативно сказываться на его репутации. Команда не в силах самостоятельно обеспечить высокое качество системы к поставке конечному клиенту.

Ситуация на проекте

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

На проекте не было выделенной команды тестирования: проверкой качества продукта занимался бизнес-аналитик. Его компетенций и времени не хватало для того, чтобы поддерживать высокий уровень качества системы и проводить тестирование в срок. При этом решение уже давно было выведено в продакшн и активно поставлялось конечным пользователям.

Также у владельцев продукта были большие планы по развитию системы и наращиванию функциональности. Поэтому вопрос обеспечения качества в компании стоял очень остро.

Формат проведения консалтинга

Консультанты JazzTeam (менеджер и QA-специалист) присоединились к проекту заказчика для постановки, формализации и отладки процессов тестирования, внедрения культуры тестирования, а также передачи лучших практик автоматизации. Нашей командой был предложен следующий план оказания услуги:

  1. Аудит проекта: анализ системы и текущих процессов тестирования.
  2. Разработка стратегии тестирования, создание тест-кейсов и тест-планов.
  3. Мануальное тестирование системы.
  4. Выявление узких мест продукта, разработка плана по внедрению автотестирования.
  5. Внедрение непрерывной интеграции. Настройка и запуск инструментов автотестирования (TestLink).
  6. Передача знаний: обучение команды тестирования заказчика и создание необходимой документации.

Особенности проекта

Внедрение процесса тестирования для крупной ERP-системы

Внедрение процесса тестирования для крупной ERP-системы

Подходы и решения

1 этап: аудит проекта

Для проведения детального анализа команда JazzTeam запросила всю необходимую информацию о том, как проводилось тестирование на проекте. В том числе были получены доступы к документации (user stories, постановка задач), используемой заказчиком системе багтрекинга, codebase продукта. Также процесс аудита включал общение специалистов JazzTeam с владельцами продукта, техническим лидером компании, бизнес-аналитиком.

В ходе анализа наша команда получила полное представление о том, как был организован процесс тестирования на проекте, какие сложности присутствовали, в чём заключалась основная боль заказчика. Также мы узнали, каким образом и в какие сроки проводится обнаружение, регистрация и обработка дефектов на проекте. Важнейшим фактором в этом процессе был высокий уровень доверия фаундеров и команды к специалистам JazzTeam. Заказчик был уверен в нашей экспертизе, мы получили содействие, поддержку и видели желание команды изменить ситуацию на проекте.

После проведения тщательного анализа на проекте были выявлены следующие пробелы в процессе тестирования:

2 этап: разработка стратегии тестирования

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

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

3 этап: мануальное тестирование

Функциональность UI-части ERP системы предусматривала выполнение большого количества мелких операций (например, создать, редактировать карточку объекта, удалить, продублировать). Из-за высокой сложности UI было решено покрывать тест-кейсами весь функционал приложения, включая незначительные особенности страниц. Нашей командой был создан базовый и полный набор тестов для проведения smoke и регрессионного тестирования в количестве 60 и 158 тестов соответственно.

Также на данном этапе менеджер JazzTeam провёл ряд консультаций для команды заказчика по процессу включения тестирования в разработку. Важной задачей для нас была передача культуры тестирования. Необходимо было донести команде, что обеспечение качества — обязательная часть каждого спринта и процесса разработки в целом. Инженеры и тестировщики должны ежедневно взаимодействовать по исправлению ошибок, а не только перед поставкой клиенту, когда времени на тестирование недостаточно. Внимание к процессу тестирования и своевременное его проведение позволяют постоянно поддерживать высокое качество продукта и своевременно исправлять дефекты в ПО.

4 этап: разработка и внедрение автотестирования

На следующем этапе наша команда создала план по внедрению автотестирования. Он был согласован и утверждён заказчиком. Далее команда консультирования JazzTeam разработала и внедрила поток задач по автотестированию новой функциональности, а также повторному тестированию исправленных дефектов (регрессионному тестированию). В рамках автоматизированного тестирования были реализованы следующие активности:

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

5 этап: улучшение процесса управления релизами

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

Специалисты JazzTeam способствовали улучшению процесса релиз-менеджмента на проекте:

Подготовили инструкцию по выпуску релиза.

6 этап: передача знаний команде заказчика

В финальной фазе работы по консультированию наша команда задокументировала процессы тестирования на разных уровнях: от конкретных инструкций для членов команды и до описания алгоритмов работы job для сборки продукта на Jenkins.

В помощь команде заказчика наши специалисты создали ряд документов:

Впоследствии в команде заказчика появился QA-специалист, которому эксперты JazzTeam передали знания и наработки по тестированию на проекте. В том числе мы провели обучение по выстроенным процессам мануального и автотестирования, проведению регрессионного тестирования, грамотной обработке и анализу результатов тестирования. Научили команду верно оформлять дефекты в Redmain, чтобы исправлять и принимать их согласно Definition of Done.

Достижения компании на проекте

Всего за 3,5 месяца работы на проекте нам удалось достичь следующих значимых результатов:

ЗАИНТЕРЕСОВАНЫ В СОТРУДНИЧЕСТВЕ?

СВЯЖИТЕСЬ С НАМИ