Как стать автором
Обновить

Регрессионное тестирование: взгляд изнутри от лидера команды

Время на прочтение6 мин
Количество просмотров2.4K

Многие разработчики и начинающие тестировщики считают регрессионное тестирование рутинной и скучной работой. Максим Атлашкин, руководитель отдела регрессионного тестирования РСХБ-Интех, готов развеять этот миф.  

Из интервью вы узнаете, как за 2,5 года пройти путь от джуна до лида регрессионного тестирования. Максим расскажет реальные истории о спасении релизов благодаря тестированию и поделится инсайдами о процессах тестирования в крупном банковском IT-проекте.

Максим, как ты пришёл в сферу тестирования?

Пришел в тестирование в 20-м году из сопровождения первой линии другого банка, где во время процесса перехода на новую систему ДБО (другими словами клиент-банк) мой отдел начал изучать систему раньше пользователей и находил ошибки. Делали мы это исследовательским путем, ошибки записывали по шагам и передавали письмом (багтрекера для сопровождения не было) в отдел разработки. Мне этот процесс понравился, особенно когда была обратная связь и ошибки действительно исправляли, и нужно было сделать ретест. Тогда-то и начал интересоваться тестированием в целом, искал информацию в интернете по типу «Как тестировать», прошел несколько бесплатных курсов и решил, что нужно профессионально идти в тестирование, параллельно продолжая изучать эту сферу.

Что тебя вдохновило на занятие регрессионным тестированием?

Цели идти именно в регрессионное не было. У меня не было опыта, и я не до конца понимал, как это работает на тот момент. Я оказался в РСХБ-Интех и изначально попал в команду регресса ДБО для юридических лиц. Только месяц-два изучил, как и что тут работает, как пришла пора «распиливать» монолит на микросервисы, появились продуктовые команды разработки, и колесо фортуны закинуло меня в одну из них, да еще и с очень критичным продуктом платежей и переводов. Там я на практике познакомился с большим количеством инструментов (Postman, Swagger, BrowserStack, DBeaver, Fiddler и др.). Впервые поработал в гибкой методологии agile, ранее был знаком только с waterfall-ом. Моему счастью не было предела. Шутка =)

Как добился успеха в тестировании и перешёл из уровня джуна в руководители?

Спустя полтора года усердной работы я значительно вырос как специалист и стал обучать других. Естественно вырос и уровень до мидла в технической части. У меня появились инициативы по развитию проекта, процессов тестирования, внедрению новых правил выпуска релизов и в том числе регресса. У меня был другой взгляд на тестирование. Как бывший специалист первой линии я видел то, что не видели другие, и предлагал коллегам новые решения. Одни решения нашли отклик и были успешно внедрены, другие после совместного анализа с лидом тестирования переработали или отменили. Главное не бояться, пробовать, предлагать, но с умом.

Часто задерживался, чтобы проверить, действительно ли новый процесс упростит жизнь команды. Мне был интересен результат. Но вышло так, что это оказалось инвестицией в будущее.  Инновации требуют смелости — иначе это просто рутина.

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

На старте мне доверили одну команду регресса ДБО, в дальнейшем направление выросло до двух полноценных отделов, обслуживающих ключевые банковские системы.

Каковы основные задачи твоего отдела, и как они влияют на общий процесс разработки программного обеспечения?

Основная задача — это финальное тестирование перед релизом и принятие решение о выводе доработки в промышленную эксплуатацию. Весь процесс тестирования на проекте я разделю на три этапа.

Первый — это изучение и тестирование требований, написание тестовой документации и моральная подготовка к работе с новой фичей =)

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

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

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

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

Какие инструменты и технологии вы используете для автоматизации регрессионного тестирования, и как они помогают твоей команде?

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

Немного про стек автоматизации.

В качестве языка программирования взяли Java

Для тестирования Frontend — Selenium, Backend — REST‑assured.

Для хождения в БД используем стандартные библиотеки из Java.

И для разработки самих автотестов взяли Cucumber.

Красивые отчеты в Allure.

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

Этот процесс — заслуга команды автоматизации. Почитать подробнее о нашем процессе можно в этой статье на Хабре.

Мы (команда регресса) в свою очередь используем уже готовые автотесты для запуска и дальнейшего анализа упавших ТК. 

Все прогоны фиксируются в Test-IT, поэтому после прогона мы анализируем и проходим только упавшие и те тест-кейсы, что невозможно автоматизировать (из-за специфики интеграций) вручную. 

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

Как ты определяешь приоритеты для тестов? На что ты обращаешь внимание при выборе сценариев для регрессионного тестирования?

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

 С какими основными вызовами сталкивается твой отдел, и как вы их преодолеваете?

Основной вызов — успеть ВСЕ в срок ). Ну а если серьезно, то это заставить работать все интеграционные сервисы и системы, так как регрессионное тестирование проводим не на заглушках/моках, а на реальной интеграции с другими тестовыми стендами других жизненно необходимых систем для ДБО.

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

Ну и сложности коммуникации с другими «сильно занятыми отделами». С этим ничего не поделать, у всех свои задачи и дедлайны. Все понимаем, но иногда приходится быть капельку настойчивее, конечно, в рамках корпоративной этики. Об этом не забываем.

Как вы работаете с командами разработчиков и менеджеров проектов, чтобы обеспечить качественное тестирование?

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

А вот если уже говорить про позицию лида регрессионного тестирования, тут чаще прихожу не я, а ко мне. Это релиз-менеджер, продакт-оунеры, аналитики, менеджеры задач, и — да, порой приходят разработчики, дизайнеры, архитекторы и кто только ко мне не приходит с вопросами =)

И я на самом деле готов помочь каждому, чем смогу. 

Какие у тебя будут рекомендации для начинающих тестировщиков, желающих специализироваться в регрессионном тестировании?

Регресс вовсе не скучный (по крайней мере у нас) и не однообразный, как может показаться на первый взгляд, это хорошее начало в карьере для закрепления теории тестирования, работы с основными инструментами тестирования и понимания SDLC и STLC.

Тем, кто хочет развивать карьеру, могу рекомендовать проявлять активный интерес, к продукту, который вы создаете, любить его. Не бояться проявлять инициативу и выстраивать дружескую коммуникацию как со своим лидом, так и с коллегами.  Прокачивайте soft skills, если планируете расти из QA в руководители, иначе никак. Тогда у вас все получится, и вознаграждение вас настигнет.

Теги:
Хабы:
+9
Комментарии5

Полезные ссылки

«Волки» и «кабаны»: на чьей стороне правда?

Время на прочтение5 мин
Количество просмотров4.7K
Всего голосов 31: ↑27 и ↓4+24
Комментарии47

Идеальный онбординг

Время на прочтение5 мин
Количество просмотров2.9K
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Как собрать идеальную команду, если кандидаты завышают опыт, используют ChatGPT и просят высокую зарплату

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров24K
Всего голосов 33: ↑26 и ↓7+22
Комментарии101

Информация

Сайт
www.rshbdigital.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия