2021/08/30 11:47:08

Как ВТБ Лизинг удалось радикально снизить количество дефектов в программном обеспечении

Нередко компании, даже из числа тех, что встали на путь активной цифровизации, уделяют недостаточно внимания тестированию программных продуктов. Тестировщики оказываются в тени коллег-разработчиков, с которыми заказчики связывают прорывные технологические решения и очевидные преимущества для бизнеса. Между тем, тестирование - не менее важный для компании участок, а для тех, кто занимается этой работой, - один из этапов карьерного роста. Понять это TAdviser помог Максим Бутаков, руководитель отдела контроля качества и тестирования ВТБ Лизинг.

Содержание

Идея очередного ИТ-сервиса, какой бы привлекательной для бизнеса ни была она сама по себе, подразумевает необходимость достичь в процессе практической реализации определенных параметров качества и устойчивости работы. Требуется также помнить о таком важнейшем параметре, как time-to-market. В простейшем случае мероприятия по сокращению сроков выхода программных продуктов сводятся к нехитрому правилу, скажем, «запустить сервис в промышленную эксплуатацию через три дня после завершения разработки». Но такие результаты достигаются, к сожалению, за счет снижения качества нового релиза, рассказывает Максим Бутаков. Примерно так обстояло дело в ВТБ Лизинг еще несколько лет назад.

Сложившаяся практика не всегда эффективна

До 2018 года в ВТБ Лизинг не было отдельного направления, отвечающего за тестирование, - этими задачами занимались несколько непрофильных сотрудников ИТ-департамента. Внимание этому участку работ уделялось по остаточному принципу. Действительно, проблем со сроками выпуска продуктовых релизов ведь не было? Однако был важный нюанс: при точном соблюдении сроков релизы содержали ошибки, которые приходилось потом «чинить» еще пару недель.

«
Но это считалось нормой, так сказать, спецификой данного вида деятельности, - замечает Максим Бутаков.
»

Впрочем, во многих компаниях до сих пор сохраняется подобная ситуация.

В таких условиях существенная часть головной боли по доведению качества сервиса до нужного уровня падает на техподдержку, а также на конечных пользователей – они невольно становятся тестировщиками новой услуги, выявляя проблемы на реальных рабочих бизнес-процессах. Не удивительно, что такой «остаточный» подход к организации тестирования зачастую порождает на рынке устойчивое представление о работе внутреннего тестировщика как деятельности начального уровня в сфере ИТ. Многие специалисты рассматривают такую позицию лишь как старт для дальнейшего карьерного развития, после которого уже можно переходить либо в разработчики, либо в менеджеры или аналитики.

В какой-то момент в ВТБ Лизинге осознали, что тестирование стало «узким горлышком», и отсутствие полноценного процесса существенно снижает потенциальный эффект от внедрения новых ИТ-услуг. Поэтому в компании появился отдел тестирования, который возглавил Максим Бутаков.

Реорганизация направления тестирования: в фокусе - прозрачность

Вложения в создание нового ИТ-отдела быстро дали реальные плоды. Причем некоторые из них изначально не были очевидны бизнес-подразделениям.

Так, ключевой проблемой сложившегося ранее порядка вещей было отсутствие прозрачности в тестировании продукта. Не секрет, что порой успешность релиза определяется по данным обратной связи от бизнеса. Однако фраза «все нормально» из уст сотрудника бизнес-подразделения вовсе не гарантирует отсутствия проблем.

«
Нормально – это как? Нужно уметь давать качественные и количественные оценки состоянию функционала разработанного продукта, - подчеркивает Максим Бутаков.
»

Для этого, по его мнению, должна быть обеспечена операционная прозрачность, чтобы все стороны процесса – тестировщики, бизнес-заказчики, техподдержка – могли оценить по определенным критериям состояние выпускаемого релиза.

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

Удачной метрикой стало соотношение количества дефектов, которые находят тестировщики, и ошибок, которые выявляют пользователи.

«
Мы смотрим на корреляцию этих двух графиков, - рассказывает Максим Бутаков. - Если группа тестирования работает хорошо, то тестировщики находят много дефектов, а бизнес, наоборот, мало. Если же мы видим другую ситуацию, это уже сигнал к более пристальному анализу, разбору ситуации. В целом это отражает пульс команды.

»

Техподдержка и разработка: у всех - курс на повышение эффективности

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

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

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

«
На основе автоматических метрик команда тестирования в реальном времени сможет отслеживать собственную эффективность и оперативно, на короткой дистанции, корректировать план работ, не теряя фокуса на целях.
»

Это состояние в полном объеме еще не достигнуто, но практически сразу после внедрения новых подходов (метрики эффективности, прозрачность) коллеги из техподдержки почувствовали позитивные сдвиги:

«
Стало заметно меньше обращений от бизнес-пользователей, а команды продуктовой разработки перестали, наконец, постоянно отвлекаться на «тушение пожаров» и в полную силу занимаются развитием продукта.

»

Усиление автоматизации в процессах тестирования

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

«
Эти тесты, подобно своеобразным щупам, проверяют наиболее критичные участки. На основе полученных результатов можно судить о состоянии системы на текущий момент, - уточняет Максим Бутаков.
»

К настоящему моменту, по его словам, реализованы все тесты, первоначально запланированные для автоматизации, и даже несколько больше. А результаты модернизации удивили не только бизнес-пользователей, которые заметили улучшение качества новых программных продуктов, но даже ИТ-профессионалов компании: по итогам 2020 года зафиксировано снижение количества дефектов в продуктивной стадии на 48% (!). По оценкам компании, дальнейшая автоматизация тестирования позволит снизить объем возникающих дефектов еще на 20-30%.

В качестве инструмента для автоматизации тестов ИТ-специалисты ВТБ Лизинг используют фреймворк «Хамелеон» компании IBS AppLine. Как пояснил Максим Бутаков, это коробочное решение выбрали по ряду причин. Во-первых, оно написано на Java, относительно легком для понимания популярном языке программирования, обладающим гибкостью для целей доработки. Во-вторых, хорошо ложится на стек технологий ВТБ Лизинг. И в-третьих, включает поддержку псевдоязыка Gherkin, на котором тестировщик или любой другой специалист без специальных знаний может конструировать тесты из отдельных элементов с помощью простого визуального интерфейса.

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

Стандартный функционал тестирования, который является обязательным для любой проверки любого ПО, - так называемый регресс – переводится в автоматизированный режим проверки.

«
Сегодня это более 150 тестов, которые позволяют проверять самый разный функционал нашей системы. Все автоматизированные тесты прогоняются ночью, - рассказывает Максим Бутаков.
»

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

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

В целом сегодня около 50% покрытия функционала тестами системы проверяется в автоматическом режиме. До конца года планируется увеличить эту долю до 60%.

Сейчас специалисты отдела тестирования совместно с разработчиками выстраивают механизм автоматической передачи релизов между средами. Эта работа выполняется в русле DevOps направления CI/CD (Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка), которое подразумевает автоматизацию не только процессов тестирования, но и доставки новых модулей разрабатываемого продукта разным заинтересованным сторонам.

«
Конечная цель – это автоматическая сборка релизов и их передача между тестовыми стендами с последующей выкладкой в production без участия или с минимальным участием человека, - уточняет Максим Бутаков.
»

Собственные разработки в сфере тестирования: не обременение, а «фишка»

Сегодня сотрудники отдела тестирования ИТ-департамента ВТБ Лизинг ведут ряд собственных программных разработок. В частности, разработан собственный фреймворк для написания UI-автотестов на языке Java, а также создано ПО автоматического мониторинга доступности функционала сопровождаемых программных систем.

«
Теперь мы можем наблюдать за «здоровьем» систем в продуктивной среде, - замечает Максим Бутаков.
»

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

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

«
Пользователи в любой момент времени видят актуальное состояние прода, понимают, что наблюдаются какие-то сложности, знают, что мы видим аналогичную картину, и могут дать нам некоторое время на исправление проблемы без обращения в поддержку, - комментирует Максим Бутаков.

»

Следует отметить, что для ВТБ Лизинг собственная разработка – это принципиальная позиция компании. Конечно, совсем отказаться от сотрудничества с вендорами и интеграторами невозможно. Поэтому около половины штата ИТ-отдела являются внешними сотрудниками.

«
У нас достаточно гибкая корпоративная среда – и штатные, и внештатные сотрудники работают вместе и имеют практически одинаковый доступ ко всем системам, - рассказывает Максим Бутаков.
»

При этом стратегически компания настроена на создание таких бизнес-процессов, при которых компетенции остаются внутри несмотря на появление новых сотрудников и уход старых.

Такая позиция связана с тем, что сегодня бизнес ВТБ Лизинг развивается очень динамично, и для поддержки всего объема собственной программной разработки требуются существенные ресурсы. В этой ситуации экономически обоснованным решением является содержание собственных технологических ресурсов – специалистов, которые решают широкий спектр задач: от сложных интеграционных доработок и специфических методов обогащения данных до серьезных бизнес-разработок уровня CRM или скоринговых систем.

«
Это не те самописные системы, о которых на рынке отзываются уничижительно - «сделанные на коленке». Это серьезные профессиональные программные разработки, - уточняет Максим Бутаков.
»

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

Тестировщик – это звучит гордо

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

Пилотирование гибких Agile-методологий разработки, формирование кросс-функциональных команд, создание и совершенствование метрик прозрачности, мониторинга систем, первые шаги к DevOps – все эти изменения наполнили новым содержанием роль тестирования. Кроме того, значительно возрос объем работ отдела. Это связано как с увеличением количества разрабатываемых программных продуктов, так и с появлением новых задач, в первую очередь, автоматизацией. В результате к настоящему моменту штат тестировщиков в компании вырос приблизительно на 60%.

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

«В области тестирования открываются широкие возможности профессионального роста, - отмечает Максим Бутаков. - По большому счету тестирование – это кузница кадров, поскольку это направление деятельности дает глубокие знания об особенностях функционирования программного обеспечения. Но можно не уходить из профессии, стать крутым уважаемым специалистом – на рынке такие профи востребованы. Причем по уровню заработной платы высококлассные тестировщики не уступают ИТ-специалистам других профилей». В ВТБ Лизинг возможности расширения профессионального кругозора тестировщиков далеко не исчерпаны, так как еще не все информационные системы покрыты единой системой тестирования – это еще предстоит сделать. И, кстати, смену профессиональной специализации можно осуществить, не покидая компанию. Например, продвинутый функциональный тестировщик вполне может перейти в аналитику – такие случаи бывали.

«
Самое главное в любой успешной организации – это люди. И ВТБ Лизинг стремится к тому, чтобы люди, профессионалы оставались в рядах сотрудников нашей компании, - подчеркивает Максим Бутаков.
»

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

«
Главное, чтобы человек был инициативный и увлеченный тем делом, которым он занимается, - подчеркивает Бутаков.
»

Это важно, потому что в ВТБ Лизинг каждый тестировщик – это отдельная боевая единица, которая получает задачу и выполняет весь комплекс работ тестирования.

Роль тестировщика во внутренней разработке ИТ-продуктов в будущем будет только усиливаться, ведь сегодня в разных компаниях и секторах экономики происходит мощный сдвиг - переход к работе в продуктовой парадигме. Эта роль требует от тестировщиков работы на гораздо более высоком профессиональном уровне, владения принципиально новыми навыками и инструментами, чем это было необходимо несколько лет назад. От их умений и эффективности работы напрямую зависит качество программных продуктов и скорость их внедрения в практическую жизнь бизнес-департаментов.