Новые IT-продукты появляются на рынке каждый день. Их успех зависит не только от пользы или рекламной раскрутки. Не менее важно, насколько эффективно они работают, и удобно ли ими пользоваться. Поэтому, прежде чем выпустить приложение или программу в свет, их нужно проверить. Этим и занимается тестировщик. Он выявляет все ошибки и уязвимые места, смотрит, адаптивно ли приложение под разные устройства. При необходимости QA-инженер отправляет IT-продукт на доработку, чтобы всё функционировало без накладок — так, как было задумано. Для таких тестов нужны специальные знания, и разработчики, как правило, не проверяют приложения самостоятельно. Поэтому тестировщики не сидят без работы.
Где может работать тестировщик
Чаще всего тестировщики трудятся в компаниях, которые занимаются разработкой программного обеспечения, как собственных продуктов, так и на заказ. Но иногда они работают на проектах в качестве фрилансеров.
На портале hh.ru размещено более 8 тыс. вакансий тестировщика. Зарплата, в зависимости от региона, требуемого опыта и обязанностей варьируется от 40 до 200 тыс. рублей.
Чем занимается тестировщик
Сначала тестировщик получает информацию о том, каким задумывалось приложение или программа. Он изучает документы с требованиями и спецификациями, создаёт и проводит тесты, выявляет ошибки, составляет отчёты и проводит повторные тесты, общается с разработчиками. Поэтому однообразная рутина — точно не про эту работу.
Вертикальная карьера тестировщика
В разных компаниях карьерный рост тестировщика может различаться, но в целом выглядит так:
- QA Analyst (или QA-инженер) ― то же самое, что и тестировщик. Это уровень «новичок». Главная задача ― быть на подхвате у старших специалистов и набираться опыта.
- Старший аналитик QA (опыт работы 2-3 года).
- Координатор команды QA (опыт 5-6 лет).
- Менеджер по тестированию (опыт работы 8-11 лет).
- Старший менеджер по тестированию (опыт 14+).
Горизонтальная карьера тестировщика
Помимо вертикального роста, тестировщик может менять направления своей деятельности. Например, он может быть:
Инженером по автоматическому тестированию отвечает за автоматизацию тестовых примеров. Это экономит время по сравнению с проверками вручную. Инструменты, которые он использует: IBM Rational Robot (универсальное средство автоматизации тестирования), Silk Performer (инструмент для тестирования производительности ПО приложений) и QTP (программа для автоматизации тестирования от HP).
Инженером по тестированию производительности отвечает за проверку реакции приложения (время, необходимое для загрузки; максимальная нагрузка для приложения и т. д.). Инструменты, которые он использует: WEBLoad (инструмент для нагрузочного тестирования), LoadRunner (программа для автоматизированного нагрузочного тестирования).
Бизнес-аналитиком. Основное преимущество тестировщиков перед разработчиками в том, что у первых есть бизнес-знания, так как они доводят продукт до финальной версии и адаптируют его для пользователя. Поэтому они вполне могут отвечать за анализ и оценку бизнес-моделей и рабочих процессов компании, а также соединять их с технологиями.
Какими навыками должен обладать тестировщик
У тестировщика должны быть следующие технические знания и навыки:
- Знания базы данных / SQL, чтобы проверять, правильно ли хранятся данные на серверах.
- Базовые знания команд Linux.
- Умение пользоваться инструментами управления тестированием. Например, TestLink можно использовать для отслеживания всех тестовых случаев, написанных командой.
- Опыт работы с любым инструментом отслеживания дефектов. Это может быть QC, Bugzilla, Jira.
- Умение работать с инструментами автоматизации (важен именно практический опыт).
- Знание любого языка сценариев: VBScript, JavaScript, C#. Некоторые компании также используют сценарии Shell, Perl.
- Знание теории тестирования.
- Владение инструментами тестирования производительности.
Кроме технических навыков, желательны ещё такие скилы:
- Аналитическое мышление.
- Продвинутый навык устной и письменной коммуникации. Отчёты и рекомендации по результатам тестирования должны быть понятными тем, кто их читает. Также предстоит много устного общения с разработчиками.
- Дисциплинированность, чёткий тайм-менеджмент.
- Профессиональное саморазвитие. Навыки и знания должны развиваться параллельно с технологиями.
Мифы о профессии
- Тестировщикам платят меньше, чем разработчикам, и они пользуются меньшим уважением. Средний уровень зарплаты тестировщика примерно такой же, как у разработчиков (напомним, в России она варьируется от 40 до 200 тыс. рублей). Для сравнения: разработчики в зависимости от региона и опыта работы получают от 15 до 700 тыс. рублей. При этом на сайте hh.ru вакансий для тестировщика около 8 тыс., а для разработчика ― чуть больше 1,7 тыс. Разработка приложений не может обойтись без тестировщика, так что это уважаемая профессия.
- Тестирование программного обеспечения ― это скучно. На самом деле такая работа – хорошая проверка на стрессоустойчивость. Необходимо разобраться в бизнес-требованиях, на их основе составить проекты тестов, всё проверить и дать обратную связь разработчикам. При этом технологии и бизнес-модели постоянно обновляются. Так что скучать будет некогда ― придётся всё время развиваться, общаться и анализировать.
- Для работы тестировщиком нужно уметь программировать. Для старта в карьере знать язык программирования не обязательно, вам будет достаточно понимания того, что такое разработка ПО. Но если вы хотите вырасти до звания настоящего профессионала и руководящей должности, придётся многому научиться. Мнение о том, что для работы QA-инженером не нужно практически ничего знать, сегодня уже не актуально. IT-сфера всё более популярна, поэтому растёт предложение на рынке труда. А работодатели становятся требовательнее.