Что это за профессия — software tester, и где учатся на тестировщиков ПО? Обязательно ли знать программирование, и где начинать карьеру?
Чтобы программный продукт (сайт, приложение, система управления авто или самолетом) работал без ошибок, требуется провести тщательную проверку. Это делает тестировщик ПО – сравнительно новый для России специалист.
Разберемся, кто такой тестировщик и чем именно он занимается. Расскажем, как стать software tester (qa engineer), и какие карьерные перспективы открывает эта профессия.
Кто такой тестировщик ПО?
Кто же такой тестировщик? Это специалист по проверке качества программного продукта. Расшифровка аббревиатуры QA означает «quality assurance». Перевод на русский – «контроль качества».
Что же подразумевает контроль качества qc? Проверку качественных показателей ПО согласно требованиям, которые были установлены.
Чем занимается профессиональный тестировщик?
Test automation engineer проверяет программное обеспечение на предмет удобства для пользователей. Если какие-то из составляющих системы не слишком удобны, ищет ошибки в ПО – в дизайне или коде, в логике
QA специалисты занимаются ручным или автоматическим тестированием. В первом случае инженер выполняет тестирование путем работы с программой, стараясь нарушить ее функционирование.
Что делает при автоматическом тестировании тестировщик программного обеспечения? Он сам создает код для поиска ошибок: ПО проверяется автоматически.
Тестирование программного кода помогает решать важные задачи – создавать максимально удобные, надежные и стабильные программные продукты (сайты, приложения, программы).
В зависимости от того, что делает тестер, и с какими продуктами работает, это может быть тестировщик игр или тестировщик мобильных приложений, других программ.
Как стать специалистом по тестированию программного обеспечения?
Чтобы получить должность junior qa (начинающего тестировщика) потребуется продемонстрировать потенциальному работодателю
- понимание того, что такое тестирование ПО;
- знать основные методики разработки программного кода для проверки продуктов — AGILE, SCRUM и другие;
- уметь грамотно писать дефект, составлять тест-кейс и чек-лист, а также когда применять то и другое.
Теоретические знания такого специалиста общие для всех областей. Но вот навыки технические для тестировщика определяются конкретной сферой будущей работы. Например, testing веб-приложений предполагает, что тестировщик приложений хорошо разбирается в составляющих веб-страницы и том, как функционирует браузер. Для тестирования компьютерных бортовых систем авиалайнеров нужны другие навыки. Начинающий специалист по тестированию смартфонов должен знать, как строятся мобильные приложения, как они «живут» и чем отличаются от десктопных, разбираться в конструкции устройств на Android и iOS, и так далее.
А поскольку в любой компьютерной программе используются базы данных, начинающему специалисту-тестеру это просто необходимо знать – как писать элементарные SQL-запросы.
Что касается личностных качеств, то представители компаний-работодателей уверены, что бета тестер должен быть хорошим коммуникатором, уметь доносить сложные вопросы простыми словами. QA менеджеру важно быть перфекционистом, потому что это помогает прикладывать максимум сил для достижения наилучшего результата. Понадобятся также усидчивость и внимание к мельчайшим деталям, обостренное чувство ответственности и сильный характер.
Многие руководители qa отделов утверждают, что это даже важнее, чем техническое образование. И далеко не каждый программист справится с обязанностями qa engineer, поскольку это требует не только знания программирования и программ.
Нужно ли знать программирование?
Спор о том, требует ли эта профессия навыков программиста, продолжается не первый год. Однако все участники обсуждения соглашаются, что для тестировщика уметь программировать не лишнее.
Если вспомнить, что конкретно делает тестировщик, станет очевидным: понимать происходящее в тестируемом продукте полезно. Особенно, когда он работает по автоматизированному тестированию. Впрочем, и в ручном qa менеджеру не помешают эти знания.
В автоматическом же это одно из обязательных условий, что нужно знать начинающему qa engineer junior. Поэтому при желании стать software testing engineer в этой области понадобится освоить язык программирования – тот, на котором написаны программы работодателя. Если же вы только планируете заняться qa тестированием с самого нуля, стоит выучить один из популярных программных языков.
А для этого необходимо учить английский язык: это то, что должен знать тестировщик ПО без опыта для работы в автоматическом test analyst. Тогда тестировщик перевод сможет делать самостоятельно. Можно работать тестировщику и без перевода программ на английском, однако знание языка значительно упрощает задачу.
Где учиться?
Профессия тестировщика в России пока только приживается. Немногие знают, кто это такой — it тестировщик. В отечественных вузах еще нет специальности тестировщика или qa инженера. Поэтому получать знания и осваивать навыки для работы приходится на курсах тестировщиков компьютерных программ и по книгам по проведению тестирования программного обеспечения.
Получить знания будущий специалист по тестированию в области информационных технологий может на курсах
- Яндекса;
- «Нетологии»;
- «Школы Портнова»;
- «Тинькофф Финтех-Школы»;
- «технопарка» — совместного проекта МГТУ им. Н. Э. Баумана и Mail.ru Croup;
- образовательных платформ Stepik, Coursera, Udemy и других.
Во всемирной сети масса информации, в том числе тексты и видео известных блоггеров, которые объясняют, что это такое — специалист qa, рассказывают, что ему нужно уметь. Много бесплатных курсов и программ от крупных IT-компаний. Начинающему qa специалисту все это, безусловно, поможет понять, чем занимается тестер ПО, что нужно делать и что не требуется.
Можно отправиться на платный курс: преимущество такого варианта в том, что здесь есть преподаватели, которые готовы отвечать на вопросы, что именно должен знать junior qa, и помогать разбираться в тонкостях профессии. По окончанию обучения необходимо сдать тест на знание основ it тестирования, чтобы получить сертификат.
При выборе платных курсов эксперты рекомендуют выбирать школы крупных IT-компаний – потенциальных работодателей. Они приглашают наиболее способных выпускников на работу: ваша карьера тестировщика будет обеспечена.
В числе полезных книг для обучения тестировщика с нуля эксперты называют
- «Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах» (ручное тестирование);
- «Как тестируют в Google»;
- «Практическое руководство по тест-дизайну» Ли Коуплэнд;
- «Искусство тестирования программ» Гленфорд Майерс, Том Баджетт, Кори Сэндлер;
- «Agile-тестирование. Обучающий курс для всей команды» Лиза Криспин, Джанет Грегори;
- «Автоматизация тестирования программного обеспечения» Марк
- Фьюстер, Дороти Грэм;
- «Тестирование программного обеспечения» Сэма Канера и другие книги по тестированию.
Начало карьеры
Пройдя обучение и сдав тест на знание основ тестирования ПО, стоит сначала закрепить полученные навыки. Для этого подойдет стажировка. Однако попасть на должность даже стажера qa automation engineer в крупной компании непросто.
HR-менеджеры рекомендуют начать с небольшой студии, которая занимается разработкой ПО. Через полгода, накопив достаточно опыта, можно подавать резюме на вакансию iq junior инженера: это повысит шансы получения работы у крупного разработчика.
Хотя, по словам руководителей отделов тестирования известных айти-компаний, они предпочитают брать аналитика не ниже уровня Middle с хорошим опытом – не менее двух-трех лет. Впрочем, попытать счастья ничто не мешает: иногда работодатели выбирают начинающих qa testing, если понимают, что это талантливый и перспективный специалист.
Для этого придется пройти серьезное собеседование на тестировщика программного обеспечения: тем, кто это сумеет, откроется заманчивый путь дальнейшего карьерного роста.
На что смотрит работодатель?
Представители крупных фирм, возглавляющие отдел тестирования, говорят, что обращают внимание на навыки соискателя в
- написании утилит для проведения тестирования ПО;
- техническую эрудированность;
- умение анализировать и выделять главное;
- проводят тест на знание анализа кода.
Тестировщику или же программисту в 2GIS среднего уровня (Middle qa engineer) понадобятся умения оценивать риски, готовить фичи, прорабатывать документацию, писать код, понимать стек технологий.
От претендентов на вакансии Senior тестировщика qa требуется намного больше: что это? Навыки проведения экспертизы в определенном направлении, опыт организации процесса.
Сколько зарабатывает тестировщик ПО?
Зарплата тестировщика начального и среднего уровней в Москве – от 60 000 рублей в месяц (по данным сайта hh.ru). Специалист уровня Senior может зарабатывать 150-200 тысяч рублей и больше.
Уровень зарплаты тестировщика ПО в США – в среднем $4000-6000 долларов.
Карьерный рост
Тестер ПО – профессия, с которой можно начать карьеру в сфере IT, даже если у вас нет технического образования, и вы не учились на программиста. Многие эксперты в этой области утверждают, что это самый простой путь.
На первом этапе в обязанности тестировщика входит выполнение ручных тестов, анализ результатов автоматического тестирования, изучение программного продукта. Затем круг задач qa специалиста усложняется: для тех, кто это хочет. Зарплата у программиста-тестировщика растет по мере повышения его профессионального уровня.
Следующей ступенькой может стать работа разработчика ПО. Можно начать управлять проектами, занять место менеджера продукта или аналитика.
Сегодня, когда все больше людей узнают, кто такой тестировщик программного обеспечения, появилась возможность развиваться и в этом направлении, не уходя в смежные области. Например, стать руководителем отдела или группы тестирования.
По словам экспертов, высококвалифицированный тестировщик ПО сегодня ценится на рынке труда не меньше, чем разработчик программного обеспечения или менеджер проектов. В IT сфере менеджмент качества активно развивается, и специалисты по qa automation engineer – те, кто это может реализовать на высоком уровне, скоро будут на вес золота. Ведь от них в большой степени зависит развитие самого программного продукта, начиная с разработки и заканчивая пользовательским софтом.