Оба специалиста работают в сфере IT и создают программное обеспечение. И чтобы понять, чем тестировщик отличается от программиста, нужно понимать их круг задач.
Разработчик, или программист. Пишет код, чтобы создать новый или улучшить существующий программный продукт. Специфика работы разработчика зависит от следующих критериев:
● язык программирования, который используется на проекте;
● продукт: веб-сервис, мобильное приложение, ПО для компьютеров, алгоритмы машинного обучения.
Неважно, идет ли речь о дизайне и вëрстке интерфейса сайта, создании программы, чтобы автоматизировать станки на заводе, или разработке модели машинного обучения — всё это круг ответственности программиста. Так что это разноплановая профессия, хотя спектр задач в целом общий:
● получать требования от заказчиков — обычно это руководители разработки;
● создавать код, соответствующий этим требованиям;
● при необходимости продумывать логику и структуру будущих модулей или частей приложения;
● исправлять найденные в коде ошибки.
Тестировщик. Его задача — проверять уже созданный код на ошибки. Тестировщик взаимодействует с продуктом и проверяет корректность работы в соответствии с заявленной функциональностью и выявляет отклонения или ошибки при стандартных или нестандартных действиях.
Тестировщики тоже бывают разными:
● ручные (или мануальные) проверяют всё самостоятельно, буквально нажимая на кнопки и вводя данные в формы, как простые пользователи;
● автоматические пишут специальный код (мини-программы, которые проверяют функциональность приложения автоматически). Им самим приходится программировать — но писать не готовый продукт, а инструменты для его тестирования.
Отдельно выделяют профессию QA-инженера. От начинающих обычно требуют не больше, чем от простых тестировщиков, но с опытом такие специалисты начинают отвечать за качество продукта в целом: составляют требования к ПО, планируют и организуют процесс тестирования, составляют отчёты о результатах.
Получается, что и программисты, и тестировщики работают над программами — просто на разных этапах их существования.
При этом дальнейшее развитие тестировщика требует не меньше времени, чем обучение программированию. Например, курс «Инженер по тестированию +» занимает уже 9 месяцев. А чтобы освоить автотесты, придется потратить несколько месяцев на изучение программирования — причем специфичного, именно для тестировщиков.
Средняя зарплата тестировщиков в России, по данным калькулятора «Хабр Карьеры», достигает 147 тыс. рублей в месяц
На HeadHunter вакансий по запросу «программист» почти в два раза больше, чем по запросу «тестировщик». Это происходит по трем причинам:
● Часто в команде на несколько разработчиков хватает одного инженера по тестированию.
● Одной вакансией «тестировщик» закрывают сразу несколько мест, в то время как программисты компании часто нужны разные.
● Команды кросс-функциональны, и процесс тестирования делегирован каждому участнику. То есть каждый пишет как код, так и проверяющие его тесты.
В целом вакансий тестировщика и правда меньше, а конкуренция чуть выше, так как порог вхождения в профессию ниже. Но зато и людей, которые думают, что «тестирование — это просто», тоже много, и конкурировать с ними при серьезном подходе достаточно легко. В программировании же требования даже к джунам в последнее время довольно высокие, и иногда получить работу с совсем нулевым уровнем бывает сложно.
Поэтому нельзя сказать, что кому-то однозначно легче найти работу. В выигрыше в любом случае будет соискатель, который отнесется к обязанностям серьёзно и сможет продемонстрировать базовые навыки и желание учиться и развиваться.
С ростом грейда ситуация немного меняется. Многие начинающие тестировщики после переходят в программисты, и опытных инженеров по тестированию, особенно автоматизированному, часто не хватает. Так что если остаться и развиваться в профессии, в будущем искать работу будет, вероятно, проще.
Читать также: