Профессия тестировщика программного предполагает наличие знаний, благодаря которым специалист точно будет знать, что нужно сделать, чтобы ПО работало безотказно и эффективно.
Рейтинг профессии
Тестировщик ПО – это специалист, испытывающий программное обеспечение в процессе его создания и проверяющий IT-продукт путем моделирования всевозможных сценариев использования программы с целью выявления соответствия результата выдвигаемым в техническом задании требованиям.
История профессии
Профессия тестировщик появилась недавно – около 10 лет назад, когда создание программного обеспечения перестало быть занятием избранных и превратилось в массовую индустрию.
Первоначально разработчики самостоятельно проверяли выпускаемый продукт или просили родственников и знакомых найти погрешности в тестируемой версии программы. Однако в первом случае инерция мышления человека, совмещающего функцию автора и контролера, мешала выявить все недочеты и ошибки. Кроме того, процесс поверки отнимал много времени. Во втором случае отсутствие навыков у случайных тестировщиков не давало возможности проверить софт со всех сторон.
Так на IT-рынке возникла потребность в специалистах, которые знали, как проводить тест ПО, чтобы процесс обнаружения ошибок стал системным и многоплановым. Вскоре тестировщики стали связующим и контрольным звеном между нуждами потребителя и ИТ-продуктом, транслируя бизнес-цели программистам. В настоящее время в некоторых проектах они даже имеют право блокировать версию софта, если она кажется им «сырой».
Описание профессии
В круг задач тестировщика программного обеспечения входит формирование стратегии проверки, создание тест-кейсов и тест-дизайна, репорт ошибок в случае их выявления, работа с документацией – написание подробного отчета о процессе с указанием причин и обстоятельств возникших проблем. В компаниях с большим штатом сотрудников эти задачи чаще распределены между разными специалистами.
Бета-тестирование как специфический вид проверки, проводящейся на заключительном этапе создания программы, обычно проходит в условиях, максимально приближенных к реальным, и за пределами отдела с привлечением будущих потребителей продукта. Например, бета-тестирование компьютерных игр чаще всего проводят геймеры, которые тоже могут называть себя профессиональными тестировщиками, поскольку их работа тоже оплачивается.
Если тестировщику для проверки и анализа достается практически готовый продукт, вносить кардинальные изменения гораздо сложнее (или вообще невозможно). Поэтому в качественном рабочем процессе тестирование ПО носит регулярный промежуточный характер, когда софт-тестер «идет» сразу следом за разработчиком. Иногда благодаря этому ПО приобретает новые свойства, которые не упоминались в техническом задании, но были внесены в него по рекомендации тестировщика.
Характерной особенностью работ IT-направления является отсутствие четких границ круга полномочий вовлеченных в проект сотрудников. Деятельность тестировщика не исключение. Зачастую работодатели выдвигают требования к соискателю в зависимости от собственных взглядов на содержание профессии. Нередко они ждут от испытателя софта универсальности в надежде как-то «уменьшить число ошибок и улучшить качество продукта». Однако в этом процессе значительная часть оргмероприятий входит уже в зону ответственности QA Director (директора по качеству) и не относится к компетенциям тестировщика.
При приеме на работу софт-тестер может столкнуться с тем, что работодатели потребуют от него использования знакомых им методов и привычного для них инструментария, несмотря на то что квалификация тестировщика позволяет ему применять иные, более эффективные способы обнаружения ошибок и более точные инструменты анализа.
В целом, софт-тестера следует рассматривать как продвинутого пользователя ПК, который должен разбираться в технической документации (значительная ее часть написана на английском языке), владеть методами исследования, инструментами и средствами автоматического тестирования (Rational Robot, Functional Tester, Silk Test), иметь четкое представление о языках программирования, системах управления реляционными базами данных и регистрации ошибок.
На каких специальностях лучше учиться
К специальностям, получив которые впоследствии будет проще освоить работу тестировщика, относятся те, что связаны с программированием и компьютерными системами: «прикладная математика и информатика», «информатика и вычислительная техника», «программная инженерия», «информационные системы и технологии», «автоматизация систем обработки информации и управления».
При поступлении в вузы на эти специальности нужно представить результаты ЕГЭ по математике и информатике, а также в зависимости от направления – ЕГЭ по русскому языку, обществоведению.
Лучшие вузы и ссузы для обучения
Для работы тестировщиком желательно получить высшее техническое образование, например, в таких университетах, как:
- МИРЭА – Российский технологический университет;
- НИУ «Высшая школа экономики»;
- МФТИ;
- РАНХиГС при Президенте РФ;
- МГУ имени М. Ломоносова и многие другие московские вузы.
За пределами столицы хорошее техническое образование дают:
- Государственный электротехнический университет (Санкт-Петербург);
- Дальневосточный федеральный университет (Владивосток);
- Уральский федеральный университет им. Б. Ельцина (Екатеринбург);
- Южно-Уральский государственный университет (Челябинск);
- Казанский федеральный университет;
- Самарский исследовательский университет им. С. Королева;
- филиалы «Высшей школы экономики» в Перми, Нижнем Новгороде и др.
Подготовку, достаточную для начала работы софт-тестером, дает ряд ссузов как в столице, так и в регионах России:
- Московский приборостроительный техникум Российского экономического университета имени Г. Плеханова;
- Московский техникум космического приборостроения (МГТУ им. Баумана);
- Санкт-Петербургский колледж телекоммуникаций (университета телекоммуникаций им. М. Бонч-Бруевича);
- Высший колледж информатики Новосибирского национального исследовательского государственного университета;
- Колледж телекоммуникаций и информатики Сибирского государственного университета телекоммуникаций и информатики (Новосибирск);
- Батайский техникум информационных технологий и радиоэлектроники «Донинтех» (Ростов-на-Дону) и многие другие колледжи.
Однако выпускникам практически всегда приходится адаптировать полученные в учебных заведениях базовые знания под требования компании-работодателя.
Обязанности на работе
В идеале испытатель ПО – это сотрудник, участвующий в разрешении технических проблем, связанных с разработкой софта, а не только обнаруживающий их. Это исследователь и инженер, задействованный во всех этапах жизненного цикла проекта. От него как от человека, который знает, достаточно ли качественно сделано ПО, ждут действий по инициации активности остальных команд. При определении параметров качества ПО тестировщик ориентируется на техническое задание.
В обязанности испытателя софта входит разработка методов тестирования, перепрогон всех возможных сценариев функционирования ПО с разными настройками, покрытие тест-плана, выявление и вынесение ошибок в документацию, инициация работы программистов с целью исправления обнаруженных недостатков, устранение багов через спецификации. Другими словами, тестировщик после обнаружения ошибки не перекладывает всю работу на разработчика, а вместе с ним трудится над поправками. Софт-тестер знает, что именно нужно сделать, разработчик софта – как этого добиться.
Кому подходит
Среди личных качеств, необходимых для этой профессии, сами тестировщики называют гибкий и пытливый ум, внимательность и способность сформулировать и донести до разработчиков и руководства свой взгляд на проблему. К профессиональному минимуму относятся знание английского языка и увлеченность ИТ-технологиями и компьютерными науками.
В некоторых случаях эта работа может подойти домоседам и фрилансерам на удаленке, особенно если речь идет о веб-приложениях и бета-тестировании. Но нельзя воспринимать проверку софта как независимый от проектирования вид деятельности или как состояние «над схваткой». Тестировщик ПО очень тесно взаимодействует и с программистами в рамках жизненного цикла проекта, и с директором по качеству, что делает его полноценным сотрудником компании, постоянно вовлеченным в рабочие процессы.
Сколько получают
По данным ресурсов, отражающих состояние рынка труда, средняя зарплата тестировщика ПО в России составляет 50 тыс. рублей. Бета-тестеры в большинстве случаев зарабатывают немного больше – около 55 тыс. рублей. Санкт-Петербург по уровню зарплат (в среднем 65 тыс. рублей) опережает остальные города России, включая Москву с ее 60 тыс. рублей.
Почти в половине вакансий (45 %) указываются оклады в диапазоне 30–55 тыс. рублей в месяц, 30 % объявлений размещаются с суммами в 55–83 тыс. рублей, а 10 % работодателей предлагают от 83 тысяч и больше.
Как построить карьеру
Карьеру тестировщика ПО можно начинать непосредственно в той компании, в которой соискатель планирует работать и дальше. Иногда для старта не нужен опыт работы – достаточно продемонстрировать базовые знания и навыки. Многие предприятия предпочитают самостоятельно готовить кадры под конкретные нужды, а не переучивать уже сформировавшихся специалистов. Компания в этом случае сама оплачивает обучение стажеров или организовывает курсы на базе отдела.
После прохождения стажировки работник может дорасти до специалиста, ведущего специалиста, руководителя отдела (группы) тестирования и управляющего отдела контроля качества.
Перспективы профессии
На сегодняшний день часть процессов тестирования ПО уже автоматизируется и отдается на аутсорсинг искусственному интеллекту. Однако затраты на автоматизацию окупаются сравнительно медленно и экономически целесообразны далеко не во всех проектах. А поскольку коммерческий успех IT-разработки зависит от умения поддержать баланс между качеством продукта и затратами на его создание, привлечение человека к процессу тестирования еще долгое время будет экономически обоснованным.