Нагрузочное тестирование (load testing) — это процесс оценки производительности системы под разными уровнями предполагаемой рабочей нагрузки. Профессия нагрузочного тестировщика, несмотря на свою относительную «молодость», становится весьма востребованной в крупных ИТ-компаниях. Если вы выбираете для себя направление специализации в QA — то будут интересны основные плюсы и минусы этой профессии на основе нашей оценки этой сферы и рынка труда. А ваши комментарии помогут дополнить этот список плюсов и минусов.
О профессии нагрузочного тестировщика
Цель работы спеца-тестировщика состоит в том, чтобы оценить производительность и поведение системы при различных уровнях нагрузки и определить, сможет ли она работать стабильно и эффективно в реальных условиях пиковых нагрузок. Такие нагрузки характерны для сферы e-commerce, в телекоме, гейм-индустрии и т.д.
Как приходят в эту профессию? Переход из ручного или автоматизированного тестирования в нагрузочное тестирование — один из вариантов развития карьеры и расширения профессиональных навыков. Естественно, придется освоить новые инструменты и потратить время на получение навыков и знаний, специфичных для сферы нагрузочного тестирования.
Хотя это выглядит и очевидным, начало пути в профессии — это погружение в понимание самой концепции нагрузочного тестирования как части технологического процесса производства ПО для высоконагруженных систем.
Вслед за теоретической частью предполагается знакомство с определением и сущностью разных видов нагрузочного тестирования: стресс-тестирование, объемное тестирование, тестирование на стабильность. Обо всем этом сказано немало на интернет-ресурсах, повторяться не будем.
За теорией следует практика и это освоение инструментария нагрузочного тестирования. Почти всегда речь идет о первоочередном освоении JMeter как, наверное, самого популярного инструмента нагрузочного тестирования. Однако, приходя в крупную компанию, нагрузочный тестировщик столкнется с местной best-practics (культурой тестирования) и тут могут применяться другие, тоже довольно популярные инструменты.
Так, вторым номером в рейтинге популярности с высокой вероятностью следует LoadRunner, мощный коммерческий инструмент от OpenText для проведения нагрузочного тестирования. Вполне вероятно, в компании могут использоваться также Gatling, Apache Benchmark или Blazemeter.Тулы тулами, но профессия нагрузочного тестировщика предполагает и знание языков программирования на уровне не хуже джуна. Довольно часто в вакансиях требуется знание Java (бывает нужна для написания так называемых «заглушек»). Еще есть Groovy, Python или JavaScript, которые также будут полезны для написания тестов.
Далее, за языками программирование следует углубление знаний в области ИТ-инфраструктуры. Это изучение основ работы с сетевыми протоколами (TCP/IP, UDP), навыки анализа сетевого трафика с использованием инструментов, таких как Wireshark. Пригодится хотя бы минимальный опыт мониторинга и анализа производительности серверов, знание основ виртуализации и работы с облачными платформами.
Лайфхак джунам-разработчикам на Java, Python или JavaScript. Бывает проще получить первую работу в сфере QA со знанием языков, чем быть одним из сотни-другой кандидатов на каждую открытую вакансию программиста.
Но, сделав этот выбор, вы можете потом и не вернуться в «чистое программирование», так как рекрутеры будут вас рассматривать исключительно на позиции тестировщика.
Рынок вакансий по нагрузочному тестированию
Обзор вакансий тестировщиков на hh.ru показал, что на конец июня 2024 года по всей РФ предлагалось около 400 вакансий для всех видов QA. Из этого числа порядка 10% составляли вакансии, которые или назывались «Нагрузочный тестировщик», или в описании вакансии прямо говорилось, что специалист будет заниматься именно этим типом тестирования.
Плюсы-минусы профессии нагрузочного тестировщика
А теперь пройдемся по плюсам и минусам профессии. Про часть минусов — это будет скорее оборот речи, их можно надо назвать и особенностями профессии.
Начнем с плюсов:
1. Это интересная профессия: нагрузочное тестирование «по гамбургскому счету» сложнее и потому не столь популярно, как ручное или автоматизированное тестирование. Это делает профессию менее распространенной, но более привлекательной для тех, кто хочет заниматься чем-то неординарным.
2. Крупные работодатели: спецы по нагрузочному тестированию чаще всего требуются в крупных компаниях, где есть необходимость в тестировании «мастодонтных» и/или высоконагруженных систем.
3. Ниже конкуренция на рынке труда: нагрузочное тестирование требует большего объема навыков и разнообразия знаний, чем в других областях тестирования, что снижает уровень конкуренции. Это может быть важно для кандидатов, которые могут легче найти первую работу или стажировку и закрепиться в компании. Компании порой готовы брать людей с начальными знаниями в нагрузочном тестировании и обучать их, что позволяет быстрее начать карьеру в этой области.
4. Высокая заработная плата и хороший соцпакет: профессия нагрузочного тестировщика неплохо оплачивается как в России и СНГ, так и в дальнем забугорье. На ресурсе hh.ru есть вакансии с обозначенной зарплатой, по которым можно оценить общий уровень зарплат по этой профессии на рынке. А работа в крупной компании заодно подразумевает всякого рода корпоративные радости в виде ДМС, печенек, ноутов и гаджетов, бонусов и подарков по итогам года и четкого соблюдения ТК РФ.
5. Возможность удаленной работы: нагрузочные тестировщики на примерно трети вакансий могут работать удаленно, что особенно актуально для кандидатов из регионов.
Минусы профессии нагрузочного тестировщика:
1. Узок круг этих людей и далеки они от народа: нагрузочный тестировщик — это «человек-оркестр». Ему и админить, и кодить, и тестить. Работа нагрузочного тестировщика требует знаний в различных областях, включая базы данных, веб-технологии, программирование и сетевые технологии. Это делает профессию очень требовательной к уровню знаний и навыков.
2. Вы – Павел Корчагин и «смены не будет»: На проекте даже в крупной компании вы можете оказаться в одиночестве или в лучшем случае с 1-2 коллегами. Если проект «горит», то с отпуском могут быть проблемы, как и непредвиденные переработки.
3. Вас не возьмут в стартап или малый бизнес: там нагрузочные тестировщики не востребованы, так как у таких компаний обычно нет необходимости в проведении нагрузочного тестирования. Крупные клиенты не поручают им разработку высоконагруженных и критически важных систем.
Ну как, пойдем в тестировщики?
Как ни банально звучит, профессия нагрузочного тестировщика имеет свои плюсы и минусы, как и любая другая профессия. Она подходит для тех «гениев QA», кто готов углубленно изучать различные технологии и хочет работать в интересной и хорошо оплачиваемой сфере с перспективами для карьерного роста. С другой стороны, профессия требует серьезной подготовки и будет сложной для новичков из-за требований широкого спектра знаний и навыков.
Завершим эту актуальную тему ссылкой на нас самих: компания SSP SOFT приглашает на позиции нагрузочного тестировщика, инженеров QA и DevOps, системного аналитика, разработчиков на Java, JS, React и Python, 1С. Будем рады вашему резюме в Telegram или на почту job@ssp-soft.com.
И, конечно, ваши комментарии помогут дополнить список плюсов и минусов профессии нагрузочного тестировщика ??.