Евгений Домнин — эксперт в области тестирования программного обеспечения, занимается развитием автоматизации и обеспечением качества ПО в международной компании. Автор нагрузочных тестов с помощью инструмента K6, благодаря которым увеличилась пропускная способность сайта с 500 до 8000 запросов в секунду.
- Евгений, добрый день! Как опытный тестировщик, расскажите о себе, где учились, работали, и с чего начинался ваш профессиональный путь в бизнесе?
Здравствуйте! Мой путь был достаточно стандартным: я учился в обычной школе г. Кирова, окончил 11 классов, а затем переехал в Москву и поступил в Московскую Государственную Академию Водного Транспорта. На самом деле, я должен был выучиться, получить диплом и связать свою карьеру с морем, но жизнь распорядилась иначе. Я ушел из Академии и начал самостоятельно изучать веб-программирование и тестирование.
Эти два направления всегда шли рука об руку в моей жизни. Даже когда я работал в банке, был HR-специалистом, я продолжал увлекаться разработкой и тестированием программного обеспечения. Однако больше всего меня привлекал поиск уязвимости, я любил «взламывать» стандартные системы.
Поэтому я сконцентрировался на тестировании и поиске ошибок в приложениях. Каждый день после работы я самостоятельно учился тестированию, а когда появилось чуть больше опыта – тестировал проекты своих знакомых. С появлением практического опыта меня пригласили на работу в крупную финансовую компанию. Там я полностью погрузился в тестирование и стал ключевым тестировщиком, от которого зависело самое главное — качество продукта.
- Как объяснить родным и друзьям, чем занимается тестировщик?
Тестировщик является основным «фильтром» на ключевом этапе создания продукта, который находится между разработкой и реальными юзерами. Именно тестировщик проверяет соответствует ли продукт установленным требованиям, а также определяет, готов ли он к запуску на аудиторию или нет.
Важно понимать, что для многих тестировщик видится, как человек, который просто нажимает на кнопки, но это совершенно не так. Это понятие гораздо шире. Хороший тестировщик не только определяет, что все работает корректно, но и оценивает удобство использования и доступность самого продукта.
- В сегодняшний век цифровизации бизнеса и приходом ИИ во все отрасли, как Вы считаете можно ли переложить все процессы тестирования полностью на машины?
Как и всегда, крайности губительны. Переложить все процессы тестирования на машины просто невозможно – мы не получим достаточного уровня тестирования. Причина этому довольно простая – тестирование невероятно творческий процесс. Нередко вы можете связать особенности приложения, которые находятся абсолютно в разных местах и найти ошибку, которая наносит критический удар по репутации, стабильности продукта и просто пользовательскому опыту.
В сегодняшних реалиях, искусственный интеллект испытывает трудности с этим. Это очень хороший инструмент для ускорения тестирования, для проверки кода на уязвимости и логические ошибки, но только в связке с реальным тестировщиком.
- Сейчас Вы работаете на позиции QA Automation Engineer. В чем заключается Ваша критическая роль в компании?
Ни для кого не секрет, что наиболее быстрый карьерный рост происходит, если ты переходишь из компании в компанию. Кого-то в этом привлекает быстрый рост зарплаты, кого-то кругозор технологий и проектов, а меня новые и сложные задачи. Автоматизация тестирования – одна из них.
Обычно, когда тестировщик только начинает свой профессиональный путь, он проводит много проверок вручную – нажимает определенные кнопки для выполнения конкретной задачи, вводит данные и выполняет множество других действий. Нередко этот процесс требуется повторять не один раз перед запуском продукта, чтобы убедиться, что все работает, как часы. Это называется регрессионным тестированием.
Однако, если некоторые процессы повторяются, то их можно автоматизировать. На этом этапе в работу вступает QA Automation Engineer — тестировщик, который владеет навыками программирования и может автоматизировать все рутинные действия, выполняемые вручную. Он уже прошел этап ручного тестирования, понимает, как это работает и может автоматизировать процесс.
Моя ключевая роль в компании в качестве QA Automation Engineer заключается в автоматизации процессов тестирования и улучшении качества продуктов. В составе нашего подразделения, включающего в себя двух тестировщиков, я отвечаю за обеспечение корректной работы визуальных компонентов приложения, тщательно проверяя их функциональность и соответствие установленным стандартам
Каждый элемент, разрабатываемый нашей командой, проходит через меня прежде, чем мы представим его пользователям. Автоматизация тестирования позволяет значительно сократить время на проверки и избежать появления багов на продакшене. Это также экономит ресурсы компании и ускоряет выход продукта на рынок, что, в свою очередь, способствует увеличению прибыли.
- Вы руководили командой тестирования. Расскажите, какие были сложности и особенности управления командой?
В моей карьере мне довелось работать как с интересными проектами, так и с талантливыми людьми. У меня была замечательная команда, которая помогла мне стать отличным руководителем. В компании действовала матричная структура, и я возглавлял отдельную команду тестирования, в состав которой входили три специалиста.
Основная сложность лично для меня заключалась в грамотном распределении нагрузки между сотрудниками моего отдела. Очень важно избегать перегрузки команды, так как тестирование часто включает сложные и изматывающие проверки. Когда объем работы превышает возможности сотрудника, это может привести к выгоранию.
На мой взгляд, в тестировании особенно важно бережно относиться к проблеме выгорания. Сотруднику нужно сохранять силы и интерес для генерации новых тестовых сценариев и подходов, что, в свою очередь, позволит находить новые решения.
Каждый сотрудник обладает своими особенностями. Кто-то может быстро протестировать функциональность, позволив уложиться в сроки, а другой очень глубоко сделает проверку в сложном разделе. Стоит использовать это, чтобы закрывать задачи эффективно.
- Какая должна быть команда (отдел) тестирования у компании управляющей проектом в 500,000 пользователей или более?
На самом деле, все зависит от сложности продукта. По моему опыту, порой встречаются проекты с простой функциональностью и большим количеством пользователей. Например, сервисы по созданию инвойсов – основная их задача создавать корректный инвойс. В таких проектах изменения, как правило, касаются в основном внешнего вида сайта. Естественно, в таком случае будет достаточно двух тестировщиков.
В случае более сложного продукта с множеством новых функциональностей и плотной интеграцией с другими сервисами, я бы рекомендовал рассмотреть возможность расширения команды тестирования. Это может быть и более 60 человек, которые распределены между командами различных подразделений.
Однако, оптимальным решением станет наличие команды из 10 человек, состоящей из различных специалистов. Я вижу следующий состав: один лидер команды, три автоматизатора для повышения эффективности тестирования, четыре ручных тестировщика, один инженер по нагрузочному тестированию, а также один специалист по тестированию безопасности. Это обеспечит всесторонний подход к тестированию и позволит эффективно управлять качеством продукта.
- Вы состоите в такой крупной профессиональной ассоциации, как Hackathon Raptors. Расскажите, чем полезна ассоциация для тестировщиков? Сложно ли в нее попасть?
Российские тестировщики не очень стремятся участвовать в профессиональных ассоциациях. Но эта область становится все более популярной, число специалистов постоянно растет, так что ситуация постепенно меняется.
В этом году я стал Почетным членом ассоциации Hackathon Raptors уровня Fellow. Это самый престижный уровень членства в ассоциации, присваиваемый только тем лицам, которые продемонстрировали значительные достижения в области инженерии, тестировании технологий и поддерживали высокий уровень достижений на протяжении как минимум пяти лет.
Ассоциация занимается развитием IT-индустрии, в частности тестирования и активно занимается проведением хакатонов. Участие в ассоциациях полезно тем, что позволяет найти новые профессиональные контакты, помогает быть в курсе технологических изменений и актуальных методик, которых нет в свободном доступе. Кроме того, членство в ассоциации зачастую предполагает бесплатное участие в конференциях и других мероприятиях.
И, конечно, оно помогает обрести статус самому тестировщику. Члены ассоциаций могут влиять на индустрию в целом. Это большое преимущество на рынке вакансий, к такому кандидату больше доверия. Кроме того, я публикую статьи для начинающих тестировщиков на многих профильных платформах, чтобы они могли взять что-то полезное для себя, исходя из моего профессионального опыта.
- А сложно ли попасть в подобные профессиональные ассоциации?
Скорее да, сложно. Есть определенные критерии и процедуры отбора. Нужно уже иметь некоторый опыт, достижения и реализованные проекты в своем портфолио.
Я прошел ревью в несколько этапов, которые включают: формирование пула избирателей, создание комитета на основе экспертизы, случайный отбор избирателей, оценку кандидатов и голосование. Кандидат должен набрать не менее 4 из 5 голосов, чтобы быть избранным.
- Какие будут полезные советы от профессионала для новичков?
Не идите в тестирование, если ваша цель просто попасть в IT-индустрию. Если вы хотите стать тестировщиком в надежде, что это легко, и лишь потом стать разработчиком – не надо так. Идите сразу на ту позицию, что вам интересна. Это будет быстрее и продуктивнее. Не верьте мифу, что тестирование проще.
Не бойтесь спрашивать. Тестировщик не должен бояться инициировать, задавать вопросы. Вы должны быть уверены в том, что проверяете, и задавать вопросы – лучший способ этого достичь.
Учитесь. Не останавливайтесь на прохождении одного курса. Пройдите несколько, расширьте свои знания. Тестирование включает в себя огромное количество ответвлений – это может быть тестирование безопасности, нагрузки, нефункциональное тестирование, тестирование локализации и многое другое. Возможно, вы найдете для себя что-то более интересное внутри тестирования, но это сложно сделать без обучения.
Всегда учитывайте, что ошибки есть. Я рекомендую иметь виду, что ошибка может быть, даже если мы ее пока не обнаружили. Чаще всего так оно и оказывается. Могут приходить новые идеи, как проверить функциональность, новые техники, данные. Баги есть всегда. Лишь от вас зависит, сможете ли вы их найти.
28.10.2024 г.
—
Интервью подготовил: Николай Городецкий — журналист в области новых технологий и цифрового маркетинга.
Новые комментарии: