#статьи
- 8 фев 2021
-
13
Кто такой тестировщик и как им стать с нуля
Разбираемся, кому подходит профессия и что нужно уметь QA-специалисту.
vlada_maestro / shutterstock
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
Тестировщики, или QA-инженеры, — это люди, которые проверяют, как работает программа или приложение. Они ищут ошибки, смотрят, чтобы программа делала именно то, что задумано, защищают продукт от хакеров, проверяют, как приложение работает на разных устройствах и в разных операционных системах.
Тем, кто не работал тестировщиком, кажется, что это очень просто: понажимал все кнопки подряд, нашёл ошибку, сказал разработчику, и всё. На самом деле тестировщик — это сложная и творческая профессия на стыке IT, UX-дизайна и продуктового менеджмента.
Честно говоря, тестировщикам действительно приходится тыкать на все кнопочки и ссылки, заполнять все формы и стараться совершить все возможные ошибки, которые могут прийти в голову пользователю. Без этого не обойтись.
Неполиткорректные разработчики из-за этого когда-то обидно называли тестировщиков «обезьянками-кликальщиками». Термин был так распространён, что Android назвал свой инструмент для автоматизации тестирования MonkeyRunner — в том смысле, что он как обезьянка, только быстрее.
Но не думайте, что тестировщики лишь хаотично бьют по клавишам в надежде найти баг, — это непродуктивно. У них есть собственные методы для определения слабых мест программы и быстрого поиска ошибок.
QA-инженеры придумывают инструкции для тестирования — тест-кейсы. На элементарном уровне это выглядит так: аналитики пишут требования — какие данные должны быть на входе, как они обрабатываются, что должно получиться в результате; тестировщики пишут пошаговые инструкции для проверки программы на соответствие этим требованиям.
Тестировщик должен скрупулёзно проверить, что будет, если совершить какое-то действие, и соответствует ли результат ожидаемому.
Но ошибки коварны — в лабораторных условиях они могут себя и не проявить, зато пользователь наткнётся на них после релиза. Поэтому QA-инженеры придумывают разные стандартные и нестандартные ситуации, чтобы проверить, как поведёт себя программа. Это творческий процесс, для поиска скрытых багов приходится проявлять смекалку и аналитические способности.
Нужно предусмотреть все возможные и невозможные варианты. Что будет, если пользователь введёт цифры вместо букв? А что, если у него компьютер глючный? А вдруг сразу много пользователей будут работать и перегрузят систему?
Работа тестировщика — это бесконечное приближение к совершенству. Невозможно проверить всё, поэтому тестировщик должен работать так, чтобы совершить минимум действий, но найти максимум ошибок.
Облегчить работу тестировщика помогают программы для автоматического тестирования. Автоматизация сокращает время тестирования и уменьшает рутину в работе. В больших проектах без автоматизации не обойтись: там очень много элементарных повторяющихся действий, никакого времени не хватит, чтобы все их проделать.
Всех тестировщиков делят на мануальщиков и автотестеров. Первые ищут ошибки в коде вручную, вторые пишут программы, которые делают это автоматически. Но это очень условное деление. Вы не найдёте автоматизатора, который не умел бы тестировать программу вручную. А многие мануальные тестировщики не любят рутину, поэтому осваивают языки программирования и пишут автоматические тесты. Опытные специалисты могут выполнять работу и мануальщика, и автотестера.
Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.
На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.
Тестировщики нужны во всех мало-мальски серьёзных IT-проектах. Большие компании предпочитают нанимать их в штат, малые работают с фрилансерами. О том, насколько востребованы QA-специалисты, говорят данные с сайтов по поиску работы:
- в декабре 2020 на HeadHunter было более 4 000 вакансий тестировщиков ПО;
- больше 12 000 — на Trud.com;
- на Indeed — около 1 000, и это только по России.
Мануальщиков, не понимающих кода, работодатели не любят, даже если они прекрасно составляют тесты. Но и автоматизаторы, не знающие основ тестирования, тоже никому не интересны.
Вот, например, скрин с hh.ru, где работодатель перечисляет требования к тестировщику:
Большим спросом пользуются универсалы, владеющие современными методами тестирования, знающие языки программирования, умеющие составлять и автоматизировать тесты, например:
Заработная плата тестировщика в регионах — от 55 до 60 тысяч рублей, а в Москве — 80–150 тысяч.
Новички могут рассчитывать на зарплату от 40 тысяч рублей, специалисты высокого уровня получают 220–300 тысяч.
Путей для карьерного роста много. Некоторые начинают с тестирования, чтобы потом уйти в разработку, но это не единственный вариант — можно развиваться и внутри профессии.
Младший специалист тестирует программы вручную по готовым тест-кейсам. Чтобы из «обезьянки» стать мидлом, нужно развиваться: досконально изучать проект, знать язык кода и основы автоматического тестирования.
Если джуниор хорошо себя зарекомендует, то через 2-3 года получит повышение и станет мидлом. Будет самостоятельно составлять тест-кейсы и заполнять документацию.
Ещё через год-полтора успешный мидл может претендовать на должность старшего специалиста (Senior QA Engineer). Его круг задач расширяется: синьор планирует работы по тестированию, контролирует работу джунов.
Лет через пять можно стать тимлидом — руководителем команды тестировщиков. От тимлида требуются профессиональные компетенции, навыки менеджмента, умение решать сложные задачи.
Так происходит карьерный рост специалиста по вертикали. Но на практике тестировщики часто выбирают развитие внутри профессии — например, специализации по тестированию:
- Security-тестировщики — проверяют безопасность программы;
- Performance-тестировщики — тестируют, как она ведёт себя при возрастающей нагрузке.
- Usability-тестировщики — проверяют, насколько с ней удобно работать.
Кроме того, в тестировании очень важны личные качества специалиста. Вот список основных, без которых точно не обойтись:
- Усидчивость и настойчивость — чтобы терпеливо искать дефекты. Хороший тестировщик уверен, что программ без ошибок не бывает, бывают лишь плохо диагностированные.
- Критическое мышление, умение анализировать информацию.
- Внимание к мелочам, максимальная дотошность, чтобы постоянно интересоваться: «А что будет, если нажать сюда? А если ввести другой символ?»
- Коммуникабельность и умение работать в команде: тестировщику приходится постоянно взаимодействовать с разработчиками, дизайнерами, бизнес-аналитиками, представителями заказчика.
- Терпение и самообладание, потому что разработчики не слишком любят исправлять ошибки. Иногда тестировщику приходится не раз и не два напоминать о найденном баге. Он должен быть настойчивым, но при этом уметь сохранять хорошие отношения в команде.
- Ответственность и здоровый перфекционизм, чтобы постоянно стремиться улучшить качество разрабатываемого продукта.
- Умение чётко формулировать свои мысли, чтобы грамотно составлять планы и тест-кейсы. Если тестировщик нашёл ошибку, он должен подробно и понятно описать, при каких условиях она возникает, чтобы разработчики могли быстро её исправить.
- Стремление развиваться — осваивать новые методики тестирования, чтобы оставаться востребованным. Нужно постоянно читать техническую литературу, участвовать в конференциях и семинарах, смотреть видеокурсы.
От тестировщика требуется:
- знание основ тестирования, его видов и методов;
- умение составлять тест-кейсы, тест-планы;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS и тому подобных.
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
- системы для создания тест-кейсов и отслеживания ошибок.
- файловые менеджеры, текстовые и XML-редакторы.
- генераторы тестовых данных и другие.
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Ну и обязательно потребуется английский язык — для чтения и заполнения технической документации.
Если вас увлекла профессия тестировщика, можно самостоятельно изучить методики тестирования по книгам, мануалам и видео, а затем попытаться устроиться на работу на junior-позицию. Этот вариант рабочий, но займёт много времени.
Листая дальше, вы перейдете на страницу курса
Научитесь: Профессия Инженер по тестированию
Узнать больше
Профессия: тестировщик
Время на прочтение
14 мин
Количество просмотров 145K
Тестировщик: Это баг или фича?
Разработчик: Пока что это фича.
bash.im
Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование и 4 года опыта аналитической работы в телекоме. Из скиллов: горящие глаза, большое желание, среднее знание администрирования UNIX и выученная наизусть модель OSI (без особого понимания, что с ней делать дальше). 87 вопросов на собеседовании (от «что такое chmod 777» и «как работает ssh» до «расскажите о принципах работы TCP и поясните на примерах») — и должность инженера по тестированию у меня в руках. Чуть позже за 2 года было всё: гордость, отчаяние, разочарование, отличная работа, быстрый рост, крутой проект и т.д. Если бы я тогда знал о профессии тестировщика чуть больше, не было бы многих неприятных минут и часов. Ну, пусть тогда их не будет у тех, кто только выбирает свой путь или меняет его направление — эта статья для вас.
Кто это?
Тестировщик (буду называть именно так, чуть позже объясню, в чём причина оговорки), он же QA-инженер (Quality Assurance) — это специалист, который проверяет качество программного обеспечения и уровень его соответствия заранее определённым потребностям и ожидаемым результатам. В своей работе он использует различные инструменты, стратегии тестирования, включается в SCRUM-команды и т.д.
Иногда выделяют два основных «вида» тестировщиков.
- Тестер — начинающий тестировщик, который проводит, в основном, ручное тестирование по заранее описанным тест-планам. Плохое название, на которое ребята часто обижаются.
Вот это тестер, а парни и девчонки всё же тестировщики! (минута айтишного шовинизма)
- Инженер по тестированию — специалист уровня от junior до lead, который осуществляет разнообразные виды тестирования, в том числе автоматизированное, самостоятельно пишет тест-планы, в некоторых случаях даже даёт рекомендации по исправлению багов или исправляет их самостоятельно (в небольших компаниях).
Это очень укрупнённая и не совсем серьёзная классификация. На самом деле тестировщики бывают разные: специалисты автоматизированного тестирования, тестировщики СУБД, аналитики тестирования, разработчики-тестировщики, тестировщики-DevOPs и проч. Всё зависит от того, какие скиллы соединяет в себе каждый конкретный специалист.
В общем и целом работу инженера по тестированию можно свести к такому порядку: получил ПО → определил необходимый набор тестов → сопоставил реальное положение косяков, костылей, велосипедов и багов с ожидаемым результатом работы программы (аппаратно-программного комплекса) → завёл баги → работаешь с ними, пока они не закроются. Всё это, конечно, в цикле.
Скажу сразу: первые несколько месяцев работы в тестировании напоминают день сурка, ты делаешь одно и то же, прогоняешь одни и те же тесты по нескольку раз, ставишь passed или failed, заводишь баги и, кажется, что это работа точно не для тебя, а скорее для школьника или мартышки. И это вот самоощущение чудовищно угнетает и столь же чудовищно неверно. Всё меняется, когда приходит опыт.
Вот какие этапы вы, скорее всего, пройдёте на работе тестировщиком «с нуля».
Первые 2-3 месяца — обучение. Если компания хорошая и продвинутая, вам дадут наставника, который поможет освоить все принятые в компании методологии тестирования, покажет оборудование, расскажет о ПО, задачах этого ПО и обязательно о клиентах. Иногда по итогам такого вот обучения с наставником вам даже придётся сдать небольшой экзамен (мини-собеседование). Это совершенно нормально, т.к. именно QA является важным подразделением на пути к клиенту и его хорошая работа — залог того, что ваш продукт в чьём-то бизнесе начнёт работать, а не лажать. Если компания не особо заботится о развитии сотрудников, вам придётся достигать всего самому, но я не скажу, что это очень плохо: при самостоятельном обучении погружение в ПО происходит гораздо глубже и вы понимаете значительно больше того, что расскажет опытный «ментор» о продукте, который ему отлично знаком.
Новичков в тестировании любят — иногда они находят самые интересные и неожиданные баги, на которые у давно работающих сотрудников «глаз замылился».
История. В одну компанию пришла новенькая девочка, которая никак себя не проявляла, тихо изучала софт и принципы его работы с разным оборудованием. Когда она только-только приступила к тестированию, от большого и злого федерального клиента прилетел critical (самый злой баг, хуже только блокирующий) — ПО отказывалось закрываться. Перелопатили весь код, орали друг на друга, проверили все соединения и т.д. Через три часа метаний девочка пропищала:
— А тут крестик неактивный.
Действительно, просто не работала одна-единственная и весьма очевидная функция. Но профессионалы забурились в дебри, а увлечённый дилетант сразу заметил ненормальное поведение.
Далее — от нескольких месяцев до 2 лет — ручное тестирование. Вы будете выполнять большинство видов тестов в ручном режиме, начнёте составлять свои тест-планы и взаимодействовать с разработчиками. На этом этапе наступает тот самый день сурка, когда кажется, что кони бегают по кругу и дальше — рутина и скука. Это не так. В этот промежуток времени инженер по тестированию наращивает интегральное понимание тестирования, учится работать с программистами, видеть не только сам баг, но и анализировать его возможные причины. Главное, что приходит за это время — осознание того, что ручное тестирование должно остаться в прошлом веке и… настаёт время перехода к автоматизации тестирования, когда вы начинаете осваивать язык программирования (или использовать ранее освоенный) и пишете свои скрипты — те, которые считаете нужными для работы с ПО. Наступает реально крутая часть работы. (Впрочем, многие тестировщики, особенно девушки, предпочитают остановиться на ручном тестировании и стать реальными асами именно в нём — кстати, весьма полезные сотрудники и, как показывает опыт, лучшие наставники для новичков).
От 2 лет и далее — квалифицированный специалист, готовый работать в офисе и на стороне клиента, тестировать крупные проекты, а не только фрагменты и модули, глубоко знающий свою специализацию и не очень глубоко все остальные, способный работать не только с профильным ПО, но и тестировать взаимодействия внутри различных конфигураций оборудования, ПО и интеграций. Такие ребята классно и доходчиво выступают на конференциях и митапах, делятся профессиональными секретами, обучают и… думают о своём дальнейшем карьерном пути. Об этом чуть ниже.
Работа тестировщика программного обеспечения хороша тем, что можно выбрать компанию, связанную с тем, что вам интересно в какой-то перспективе: можно тестировать телефонию, софт, бизнес ПО, игры, мобильные приложения, системы безопасности и т.д. Тестируя тот или иной продукт, вы глубоко в него погружаетесь, узнаёте изнутри и в дальнейшем сможете стать разработчиком или менеджером проекта/продукта с доскональным знанием предмета.
И да, тестирование является одним из оптимальный путей начала карьеры в ИТ-сфере, доступных большинству ребят с головой на плечах. Поэтому, если хочется, но пока не ясно чего и куда, идите в
тестеры
тестировщики, быстро прояснится.
Плюсы и минусы работы тестировщиком
Этого раздела не было в предыдущих постах серии о профессиях, но он будет здесь. Потому что вокруг работы инженеров по тестированию ходит много слухов, споров, кто-то её ненавидит, а кто-то посвящает ей всю свою карьеру. Поэтому давайте пройдёмся по тому, что хорошо, а что плохо.
▍Плюсы
- До определённого момента работа тестировщика проще остальных технических специальностей и доступна многим, кому интересна ИТ-сфера. Переходить ли рубеж к тому интервалу, где работа становится максимально сложной, решение каждого. Если дальше не пойдёте, вас из тестирования не выгонят, вы всё равно будете востребованы.
- Потребность в тестировщиках не исчезнет до тех пор, пока есть информационные технологии, связь, интернет, роботы, автопилоты и т.д.
- Тестирование — не столь изученная область, как программирование. Если у вас есть талант и трудолюбие, вы сможете сказать своё слово миру (написать книгу, создать методологию, преподавать и т.д.).
- Карьера тестировщика довольно свободная: можно сидеть в офисе с гибким графиком, можно работать удалённо, а можно стать фрилансером, набрать проектов и тестировать их по сдельной оплате.
- Тестировщику легче вернуться на работу после долгого перерыва, например, из опыта создания своего стартапа, фриланса, декрета, иных обстоятельств.
- Работу в тестировании можно сочетать с учебой без вреда для обоих видов деятельности.
- Вы научитесь «видеть продукт» со всех сторон, узнаете все функциональные возможности, посмотрите на софт глазами инженера и глазами потребителя. Это прямой путь в менеджеры продукта. Общая картина продукта поможет вам в любом случае — например, если вы решитесь уйти в разработку.
▍Минусы
- Команда недолюбливает тестировщиков
Нет, ну вы вот сами прикиньте: вы делаете продукт, пишете код, документацию, а потом на него нападает кучка коллег и заводит баг за багом на каждую мелочь. Ну как это вынести в адекватном состоянии?! Хуже только быть единственным тестировщиком в команде — тогда всё, ты конченая сволочь. Шутки шутками, но нередко команда считает, что именно тестировщики задерживают выпуск релизов и клиентских сборок. В общем, не любят люди, когда находят ошибки в их работе.
- На первом этапе вы работаете с повторяющимися задачами, иногда работать становится невыносимо скучно.
- Тестировщики ищут ошибки разработчиков, искать ошибки тестировщиков некому. Поэтому вы будете крайними в некоторых неприятных ситуациях.
- Работа тестировщиков часто бывает незаметна руководству — придётся привыкнуть быть серым кардиналом, невидимым героем.
- Сверхурочная работа — бич тестировщиков. Рано или поздно вам будет нужно срочно оттестировать релиз или сборку, которую нужно выкатить завтра или «вот прям щас» или же остаться и проверить внесённые программистами исправления. И вы останетесь, а вот оплачивается такой героизм далеко не всегда (я вообще не встречал).
- На тестировщиках лежит огромный груз ответственности за полноту и охват тест-планов — если что-то упустить, отвечать уже придётся за пропущенные баги.
Выбор зависит от того, насколько близки вам плюсы и готовы ли вы заплатить за них тем, что перечислено в минусах. В принципе, при должной организации работы и самоорганизации сотрудника многие минусы сводятся на нет.
Где нужен?
В отличие от разработчиков, тестировщик нужен не во всех компаниях, где выпускается хоть какое-то средство автоматизации или приложение (а зря! Но это решение самих компаний). Однако абсолютно точно тестировщики всех уровней нужны в ряде компаний.
- Любые компании-разработчики, а также поставщики программно-аппаратных комплексов (от процессоров до касс и терминалов).
- Разработчики игр и развлекательных мобильных приложений.
- Финтех компании: банки, брокеры, финансовые учреждения и проч.
- Системные интеграторы, которые поставляют корпоративному сегменту сложные многослойные технические решения.
- Нередко тестировщики ПО требуются в штат заводов, автомобильных компаний, онлайн СМИ, ритейлеров, онлайн-курсов и т.д.
К слову, профессия тестировщика — одна из долгожителей ИТ с огромным потенциалом. Потому что даже если роботы будут программировать роботов, пока есть люди, кто-то должен будет тестировать все эти устройства и приложения с точки зрения адаптации к использованию людьми. Так что именно тестировщики станут последним барьером на пути роботов к кожаным
ублюдкам
мешкам
Средняя заработная плата
Заработную плату будем смотреть на «Хабр Карьере». Возьмём данные за второе полугодие 2019 года, вне зависимости от владения тем или иным стеком.
Для специалистов ручного тестирования:
Для специалистов автоматизированного тестирования:
Как видите, есть все основания для того, чтобы развиваться и переходить на новый уровень тестирования.
Базовые требования к профессионалу
В этот раз таблиц с наиболее часто упомянутыми технологиями не будет, потому что методологии и инструменты тестирования от компании к компании могут здорово отличаться. Рассмотрим те навыки, без которых карьера ну совсем не получится (обратите внимание — вы их можете приобрести в ходе работы, иметь их на старте круто, но совсем не обязательно).
- Опыт технической поддержки — это плотное изучение технологий в сжатые сроки, умение понимать проблемы и быстро сопоставлять их с причинами и путями решения + навыки документирования заявок. Отличная почва для старта карьеры тестировщика.
- Основы программирования — желательно Java, SQL, Python, но сойдёт буквально всё.
- Знание методологии Agile, умение встроиться в микро-команды.
- Основы Linux.
- Основы архитектуры ПК.
- Модель OSI и сети (базовое понимание, знание структуры заголовков пакетов и проч.). Практически сразу потребуется свободная работа с утилитой Wireshark.
- Инструменты управления тестированием — Bugzilla, Jira или любой другой багтрекер.
- Selenium — инструмент для автоматизации действий веб-браузера. Очень популярный инструмент тестирования.
- Желательно — понимание стратегий тестирований чёрного, белого, серого ящиков и осознание того, где вы наиболее хорошо применимы как специалист.
Это самая база, с опытом вы увидите, куда и насколько глубоко нужно погружаться.
Кстати, если у вас совсем нет опыта, но есть немного времени, чтобы параллельно с учёбой подготовиться к будущей работе тестировщиком, у меня для вас есть три лайфхака.
- Станьте QA-фрилансером, чтобы выполнять небольшие проекты по ручному тестированию. Платят мало, но вы научитесь мыслить как тестировщик, писать контрольные примеры и сообщать о результатах.
- Если цель — тестирование веба (а это чаще всего), создайте свой кривой-косой, но полноценный сайт без шаблонов и готовых CMS. Так вы поймёте, как среда работает изнутри и будете знать места обитания всех типичных багов.
- Найдите программу любого курса по тестированию, ищите по ней материалы и накапливайте теоретическую базу, чтобы успешно пройти первое собеседование.
Важные личные качества
В принципе, тестировщик может быть интровертом или экстравертом, геймером или ролевиком, добрым или не очень. Коммуникативные навыки играют в команде определённую роль, но в целом хватит общей адекватности и умения выражать свои мысли. В тестировании нужны другие, более тонкие настройки личности.
- Аналитические навыки, чтобы понимать взаимосвязи, анализировать огромные массивы данных, результаты тестов и т.д.
- Управление временем и скиллы планирования — только с ними можно обеспечить высокую производительность на фоне серьёзной рабочей нагрузки.
- Особая интуиция, которая приходит с опытом — тестировщик должен заранее предвидеть, где может поджидать потенциальная ошибка.
- Высокий порог терпения и стрессоустойчивости — важно внимательно протестировать продукт, спокойно подискутировать с разработчиками, неоднократно воспроизвести баг, отработать одни и те же тест-кейсы и т.д.
- Умение надолго концентрироваться и сохранять внимание. К слову, иногда именно тестирование позволяет наработать это навык и сохранить его для дальнейшей карьеры.
Необходимость знания иностранных языков
Пожалуй, инженер по тестированию — редкий вид специализации в ИТ, где можно знать язык исключительно на уровне команд инструментов. Это связано с двумя важными особенностями:
- очень много статей и методик переведено на русский язык;
- часто объём знаний языка обусловлен именно особенностями продукта и компании — соответственно, если компания работает на англоязычный рынок, уровень нужен (например, чтобы тестировать документацию или общаться с интернациональной командой и клиентами), а если на российский рынок, то требования к языку практически нулевые.
Но опять же, если вы хотите расти в серьёзную автоматизацию или уходить в разработку, язык вам будет нужен всё больше и больше, поэтому лучше не тратить время и подтянуться хотя бы до Intermediate.
У меня был пример, когда понадобился тестировщик со знанием японского и отдельно — со знанием немецкого в том числе для работы с клиентами (удалённо). Так вот, нашли, обучили и дали зарплату выше разработчиков в компании. Потому что специалисты уникальные. Они и сейчас не пропали
Где учиться
Базовый курс тестирования программного обеспечения есть на профильных специальностях в вузе, есть курсы в корпоративных университетах и отдельные курсы внутри компаний.
Принципиального обучения на инженера по тестированию в России не существует.
Пожалуй, именно для обучения тестированию я впервые из нашей серии «Профессия» выделю онлайн-курсы: они действительно могут ввести в курс дела, обучить принципам тестирования, научить находить, видеть и фиксировать баги и т.д. Для новичка можно найти приемлемый вариант и пройти его — это вам даст уверенность на собеседовании и задел знаний в первое время работы.
Лучшее обучение в этой сфере — пройти путь от стажёра до миддла или сеньора в компаниях. На фоне усилий по самообразованию — вообще идеально. Как правило, после первого полученного опыта в компании устроиться тестировщиком в другие довольно легко. Главное найти заветную первую практику
Лучшие книги и средства обучения
▍Книги
- Арбон Джейсон, Каролло Джефф, Уиттакер Джеймс «Как тестируют в Google» — познавательная книга, которую лучше читать уже с каким-то опытом, как минимум junior. А, впрочем, о чём я! Читайте и наслаждайтесь на любом уровне, очень полезно и неплохо написано.
- Борис Бейзер «Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем» — классика литературы для тестировщиков. Это скорее академический учебник о тестировании, весьма толковый.
- Гленфорд Майерс, Том Баджетт, Кори Сандлер «Искусство тестирования программ» — библия тестирования (на мой субъективный взгляд).
- Роман Савин «Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах» — реально добрая, немножко смешная и в то же время умная книга для начинающих и постарше. Мне бы она зашла как настольная книга тестировщика.
▍Онлайн-обучение
- Бесплатный базовый курс Яндекс.Практикума (брать ли платный расширенный — решать вам по силам и потребностям) — хороший, толковый курс от практиков.
- www.learnqa.ru — онлайн-школа тестирования (платная, нескольк методологий тестирования, разные уровни)
- YouTube — сотни обучающих видео, есть толковые
- QA Club Сообщество тестировщиков Тестирование ПО — общалка тестировщиков ВКонтакте (сообщество)
▍Полезные статьи на Хабре о самой профессии
- Тестирование. Фундаментальная теория / Хабр
- Тестировщик — больше, чем профессия / Хабр
- Краудтестинг, или Где взять опыт для первой работы в тестировании
Ну и вообще хаб «Тестирование IT-систем» к вашим услугам. На Хабре очень много полезного по этой теме.
▍Тусовки тестировщиков
К слову, если я скептически отношусь к конференциям по разработке, то конференции, митапы, фестивали и встречи тестировщиков рекомендую посещать и внимательно знакомиться с программой — вы можете заполучить себе в арсенал очень интересные находки и методики.
▍Википедия
Тестирование программного обеспечения — отличная статья в Википедии, которая разом познакомит вас с будущими задачами в профессии. Отдаю ей дань как самому первому источнику моих знаний о тестировании. Кстати, тогда она была гораздо скромнее.
Будущее тестировщика
Кроме стандартного пути внутри тестирования (от стажёра к лиду), есть несколько наиболее вероятных путей развития карьеры тестировщика.
- Разработка программного обеспечения — логичный и не самый сложный путь для тех, кто увлечётся языками программирования и захочет не только ковырять чужой код и готовый проект, но и создавать что-то внутри команды.
- Руководитель проекта. Отличное знание проекта в целом, понимание потребностей и требований клиентов — прямой путь к этой точке.
- Скрам мастер — интересный разворот, который у тестировщиков хорошо удаётся благодаря опять же знаниям проекта в целом и умениям жёстко планировать сроки работ.
- Бизнес-аналитик, внедренец — денежные, но не столь технические должности для ребят с прокачанными коммуникативными навыками.
В принципе, после тестирования хорошо работать на любой должности в ИТ-компаниях, от пиарщика до менеджера проекта и продукт овнера, потому что вы знаете о продукте и ролях сотрудника в проектах компании всё и немного больше.
Мифы профессии
▍Тестировщики — «низшая каста» ИТ-отрасли
Вот сейчас обидно было. Или это как у ВДВ, но «не кодил — не айтишник»? Отдел тестирования — это по сути настоящий отдел контроля качества, который не позволит компании опозориться перед клиентом (если где-то упадёт навороченный костыль, хе-хе), вовремя определит явные ошибки UI/UX, проверит внутреннюю логику работы приложения или сервиса. Комплексная работа тестировщиков всех ИТ-компаний мира обеспечивает определённый уровень качества и сохраняет миллионы денег компаний, которые могли бы потеряться на жалобах конечных пользователей на бесконечные баги.
Тестировщики — это полноценные, сильные ИТ-специалисты, которые отличаются комплексным подходом к ПО и АПК, глубоким знанием продукта и умением видеть неочевидные взаимосвязи внутри разработок.
▍Тестирование — это просто поиск ошибок
Нет. Тестирование — это сложный сквозной процесс работы с продуктом, его аппаратным и программным окружением, а также с документацией. Найти баг — очень малое дело, а вот проанализировать, воспроизвести, собрать всю информацию, снять дампы, составить тест-план и автоматизировать рутинные задачи, пустить нагрузку и т.д. это уже сложная, многопрофильная работа.
▍Тестировщикам мало платят
На первых порах это действительно не самая оплачиваемая работа. Согласитесь, компании обидно платить сотруднику, который по большей части учится. Но постепенно заработная плата растёт и дальше зависит от компании: когда я работал, я получал всего на 3 тыс. руб. меньше разработчика своего уровня (middle), но я знаю компании, где тестировщики получают и больше, и меньше, чем разработчики. Многое зависит от профиля деятельности компании и скиллов тестировщика. Понятное дело, что автоматизатор будет стоить дороже. Но формулировка «мало платят» точно не про тестирование.
▍Не применяются технические навыки
Я уже выше перечислил примерные действия тестировщиков, и все они строго инженерные. Хоть в тестирование можно попасть и без технического образования, работать без технического бэкграунда не получится: вы либо шустро всему научитесь, либо пойдёте в нетехнические отделы, потому что «голый гуманитарий» — горе в отделе QA. Да, на каком-то этапе от вас не потребуется глубокое владение языками программирования (но вы же запомнили, что тестировщики со знанием разработки выше ценятся?), но инженерные, админские и общетехнические знания вам ох как пригодятся. Вы их будете использовать буквально каждый день.
Главный совет
Здесь не будет совета, их в статье и так хватает. Я расскажу, что самое страшное в профессии тестировщика. Вот такое страшное, что до мурашек и головокружения. Самый первый самостоятельный заход на тестирование. Ты сидишь, проводишь тесты и ставишь passed, passed, passed… И ни одного, даже самого малюсенького, самого глупого и минорного бага! И ты боишься, что в тебе нет этого — видеть ошибки, отвечать за качество, находить что-то, что пошло не так. И какое же это счастье, когда находится он, первый, первая странность в заголовке пакета или первое слово интерфейса с опечаткой.
Потом у тебя будут мажоры, критикалы и блокирующие баги, ты будешь со всей важностью не только заводить баг, но и топать по коридору к разработчикам, чтобы высказать всё о найденной ошибке. Но ты никогда в жизни не забудешь тот самый первый баг, который откроет двери в мир тестирования и ответственности за качество.
Друзья, а вы прошли через работу в тестировании? Каким он был, ваш первый баг или самый глупый, смешной, может, даже страшный? Время жутких историй!
Предыдущие серии «Профессии…»
→ Профессия: бэкенд-разработчик
→ Профессия: фронтенд-разработчик
→ Профессия: системный администратор
Профессию тестировщика зачастую называют профессией 21 века. Этот специалист участвует в каждом проекте по разработке сайта, приложения, программы. И зачастую именно он является последней инстанцией перед сдачей продукта заказчику. В статье мы расскажем о рангах данной профессии, необходимых умениях, плюсах и минусах работы тестировщиком.
Важные качества специалиста
Необходимость знания иностранных языков
Чем занимаются тестировщики
Обзор рынка труда – зарплаты и востребованность
Будущее профессии – прогноз движения спроса
Где искать работу тестировщиком
Карьерный путь тестировщика ПО
Курсы обучения на тестировщика
Подскажем, как можно построить карьеру, где её начать, и что поможет повысить уровень знаний.
Кто такой тестировщик ПО
Тестировщик ПО – специалист, который занимается проверкой работоспособности приложения, программы или сайта. Он ищет ошибки, смотрит, чтобы веб-приложение делало то, что от него хотели разработчики. Специалист запускает продукт на разных платформах, операционных системах, чтобы посмотреть, как он там будет работать.
Иногда тестировщиков называют QA-инженерами – специалистами, отвечающими за контроль качества. В большинстве проектов работа тестировщика – последний этап. Они перепроверяют за разработчиками, программистами, дизайнерами, указывают им на ошибки, если те есть, или сдают проект заказчику, если там всё работает.
Важные качества специалиста
Инженер по тестированию обязан иметь широкий набор хороших навыков, которые помогут ему добиться продвижения по карьерной лестнице. Мы не будем брать знания программирования и другие технические аспекты, и остановимся на личных качествах:
- Аналитические способности. Тестировщик игр или мобильных приложений должен критически смотреть на свой проект, чтобы найти слабые стороны и проанализировать происходящее. Хорошие специалисты придерживаются рационального подхода к составлению стратегии, выбирают оптимальные сценарии для бизнеса.
- Самосовершенствование. Специалисты должны постоянно развиваться, поскольку IT-сфера не стоит на месте, и нужно следовать её тенденциям. Можно почитать техническую литературу, посмотреть семинары, посетить тренинг или конференцию.
- Внимательность. Тестировщик – последняя инстанция перед сдачей продукта заказчику. Поэтому он должен быть максимально внимательным, чтобы найти все возможные ошибки в продукте.
- Настойчивость. Специалистам важно иметь привычку достигать поставленных целей, не смотря на возможные проблемы.
- Ответственность. Ведь от работы тестировщика зависит качество продукта.
- Обучаемость. Специалист должен не только получать новые знания, но и легко адаптироваться к новым условиям, программам, ОС и т.п.
- Коммуникабельность. Тестировщик входит в состав команды разработчиков, поэтому он должен уметь с ними общаться, доносить до них важность проблемы.
- Упорство. Зачастую работа над проектом – рутинный поиск ошибок. С первого раза может что-то не получиться, тогда важно не сдаться и всё равно идти до конца.
Необходимость знания иностранных языков
Английский язык – важная составляющая при тестировании программных продуктов. Он необходим для программирования, поскольку на нём разработана большая часть языков. Хоть тестировщик и не пишет код, но он должен разбираться в нём, чтобы лучше понимать возможные проблемы.
При работе с иностранными заказчиками или коллегами английский язык – основа для коммуникации. На старте карьеры тестировщики редко напрямую общаются с ними, но могут присутствовать на встречах. Начиная с уровня Миддл специалисты всё чаще привлекаются к таким переговорам.
Чтобы постоянно быть в курсе новинок, развиваться, тестировщик должен изучать соответствующую литературу, смотреть видео, общаться на форумах с такими же специалистами. Не всегда нужную информацию можно найти на русском языке, да и англоязычных материалов в десятки раз больше. Поэтому английский понадобится для получения новой информации.
Интерфейсы большинства программ и инструментов представлены только на английском языке. И работать с ними без его знаний затруднительно.
Чем занимаются тестировщики
Тестировщик не только ищет ошибки, но и проверяет работу всего функционала приложения. Специалистов, которые занимаются проверкой продукта, часто делят на несколько рангов. Задачи и особенности работы каждого из них отличаются.
QA Engineer
Эти тестировщики контролируют работы тех, кто занимается разработкой программного обеспечения. Специалисты планируют, разрабатывают и внедряют процессы и процедуру обеспечения качества. В их обязанности входит составление типовых инструкций и мониторинг текущих процессов с целью их улучшения. Специалисты анализируют решения, которые используются для устранения проблем, проверяют процессы на соответствие правилам и стандартам.
Test Analyst
Тест-аналитик составляет техническую документацию, которая используется тестировщиками в работе, анализирует их результаты и готовит отчёты. Специалисты проверяют код, следят, чтобы всё соответствовало требованиям архитектуры.
Test Architect
Test Architect – специалист, основная задача которого – поиск решений проблем тестирования, с которыми сталкивается бизнес. Тестовый архитектор больше специализируется на проектировании. Он может помогать тест-менеджеру в реализации стратегических целей команды, разрабатывает методологию тестирования, которая помогла бы команде.
Анализирует каждый этап проекта, чтобы добиться лучшего результата, определяет, какие инструменты нужно использовать для более точного соответствия проекта задачам бизнеса. Также тестовый архитектор предоставляет технические ноу-хау, материалы для обучения сотрудников, проектирует и разрабатывает платформу автоматизации тестирования.
Test Manager
Тест менеджер – наставник команды, которая работает над проектом. Специалист должен уметь управлять людьми, настраивать с ними контакты, давать обратную связь. Для него важно находить ошибки быстрее, чем его подчинённые. Он всегда работает в режиме мультизадачности. Для него важно обладать навыками планирования и целеполагания, объективной оценкой способностей. Часто тесно работает с тестовым архитектором над стратегией проекта. В некоторых компаниях их обязанности ложатся на одного человека.
QA Team Lead
Зачастую – самый высокий ранг, который является целью большинства тестировщиков. QA Team Lead – руководитель отдела автоматизации. Они управляют командой инженеров, разрабатывают стратегию развития и помогают младшим специалистам.
Тимлиды проводят технические собеседования с кандидатами, которых набирают в команду проекта. Специалисты постоянно общаются с менеджерами, владельцами бизнеса, разработчиками и тестировщиками, чтобы охватить все стороны проекта, посмотреть на него с разных сторон и понять его проблемы.
Обзор рынка труда – зарплаты и востребованность
QA инженер с опытом ручного тестирования будет всегда нужен большим компаниям, занимающимся разработкой программ и приложений. Рынок IT наполняется конкуренцией, и для того, чтобы её выигрывать, компании должны максимально качественно делать свои продукты. Поэтому можно говорить, что позиция тестировщика будет ещё несколько лет находиться в топ востребованных специализаций сферы IT. Также на это влияет то, что в ближайшем будущем автоматизация тестирования не заменит ручной труд. Тестировщик сможет оценить поведение пользователей, предложить нестандартные пути использования продукта. Машинам до этого пока далеко.
Ежегодно количество вакансий специалистов, знакомых с ручным тестированием, растёт на 15-20%. Но благодаря низкому порогу входа открывается и обратная сторона медали – высокая конкуренция среди начинающих тестировщиков.
Если взять зарплату тестировщика, то она будет существенно меньше, чем зарплата разработчика ПО. Её уровень зависит от направления тестирования, квалификации специалиста, города:
- тестировщики ПО уровня Джуниор могут в начале карьеры рассчитывать на зарплату от 30 000 до 50 000 руб.;
- специалисты уровня Миддл с опытом работы 2 – 4 года смогут получать в районе 70 000 – 100 000 руб.;
- опытные тестировщики с пятилетним стажем могут рассчитывать на ежемесячную зарплату свыше 120 000 руб.
Если брать тестирование игр, то уровень зарплат специалистов сопоставим с уровнем зарплат тестировщика ПО. Но при работе с мобильными приложениями специалисты могут рассчитывать на более высокую оплату труда:
- Джуниоры на 40 000 – 60 000 руб.;
- Миддлы – на 80 000 – 110 000 руб.;
- Сеньоры – 130 000 руб. и выше. Тимлиды во всех направлениях получают в районе 180 000 руб. и выше.
Будущее профессии – прогноз движения спроса
Несмотря на ситуацию с коронавирусом, QA инженер – одна из немногих профессий, спрос на которую продолжил расти со стороны компаний. Но вот соискатели стали реже откликаться на предложения о работе. И связано это в большей степени с постепенно повышающимися требованиями к кандидату. Также в регионах предлагают зарплаты гораздо ниже, чем в Москве или Санкт-Петербурге, и это отталкивает специалистов.
Спрос на услуги тестировщиков будет расти из-за санкций, ухода отечественных компаний в импортозамещение. Специалисты будут востребованы в наукоёмких отраслях, государственном секторе.
Где искать работу тестировщиком
Специалист может работать там, где необходимо тестировать приложения или сайты. Профессия тестировщика универсальна, поэтому программист, знакомый с ручным функциональным тестированием, будет полезен в следующих сферах:
- студии, которые разрабатывают игры и приложения;
- компании, создающие программное обеспечение;
- банковский или финансовый сектор;
- маркетплейсы;
- образование и СМИ;
- компании, занимающиеся системной интеграцией для корпоративного бизнеса.
Соискателю важно следить за запросами рынка, подстраиваться под них, изучая новые технологии.
Карьерный путь тестировщика ПО
Карьера тестировщика может развиваться по вертикали или горизонтали. Первый способ подразумевает постепенное продвижение по должностной лестнице, набор опыта, более сложные новые проекты. Горизонталь заключается в поиске альтернативных вариантов работы. Вертикальный способ:
- Если вы не умеете читать техническую документацию, у вас нет опыта работы, то подходящим вариантом для старта будет стажировка в какой-либо компании. Там начинающие специалисты смогут получить базовые знаний о профессии, поймут, стоит ли им посвящать ей жизнь, либо попробовать поменять направление.
- Сначала вы будете работать младшим специалистом автоматического или ручного тестирования. Джуниор – первый уровень, где от вас не потребуется глубоких знаний. Специалисты будут готовить сценарии, писать базовые тесты, проводить ручные проверки. У каждого Джуниора будет персональный наставник, который поможет адаптироваться в работе, повысить свои навыки.
- Через пару – тройку лет QA инженеры достигнут уровня Миддл. В их обязанности будут входить: написание сценария тестов, оформление технической документации, разработка автотестов. Специалисты должны будут разбираться в программном коде, технологии ASP.NET, методологии Scrum.
- Старший специалист по тестированию – программист, который работает в этом направлении около 5 лет. У Синьора много задач, среди которых планирование тестирования, помощь начинающим специалистам.
- Если вы работаете тестировщиком более 6 – 7 лет, то ваш уровень – лид. Сфера деятельности такого специалиста значительно меняется в административную сторону. В обязанности лидов входит координирование процессов, управление небольшими командами. Специалисты должны анализировать и просчитывать риски, оценивать сроки и бюджеты проектов, определять, где применять автоматизированное тестирование.
В качестве горизонтального развития карьеры предлагаем пример с переходом из ручного тестирования программных продуктов к автоматизированному. Если углубиться в языки программирования, то можно стать разработчиком. В бизнес-аналитику могут уйти те специалисты, которым интересно общаться с заказчиком, определять его требования к будущему продукту.
В любом случае, независимо от выбора направления развития карьеры, везде от тестировщиков ждут умений проводить исследовательское тестирование, составлять отчётность, общаться на английском языке.
Курсы обучения на тестировщика
Для получения навыков программирования и тестирования нужно постоянно совершенствоваться. Можно заниматься самостоятельным обучением, но на него у вас уйдёт много времени. Поэтому советуем рассмотреть вариант с бесплатными и платными курсами, имеющими структурированную подачу, теоретическую и практические части.
Бесплатные
Предлагаем ознакомиться с нашей подборкой из 3 бесплатных курсов, которые помогут начинающим тестировщикам.
«Что такое Тестирование ПО? Как и куда развиваться?» от Udemy. Продолжительность – 41 минута. Курс будет полезен начинающим специалистам, которые планируют развивать навыки тестировщика. Спикер расскажет об основной информации о процессии и перспективах развития в ней.
Плюсы:
- поможет определиться с выбором профессии и карьерным путём развития.
Минусы:
- нет сертификата;
- нет поддержки куратора;
- нет практики.
«Тестирование ПО: подготовка к сертификации ISTQB Foundation» от Stepik. Продолжительность – 32 видеолекции. За время обучения начинающий QA engineer сможет разобраться в основах профессии, подготовиться к экзаменам. Курс смогут пройти только те специалисты, которые хоть что-то знают про ручное функциональное тестирование. Их научат 7 базовым принципам тестировщика, моделям разработки ПО, типам, уровням и методам тестирования, использованию различных инструментов. Уроки структурированы, даются дополнительные материалы, которые хорошо сочетаются с практическими заданиями.
Плюсы:
- сертификат о прохождении;
- можно начать учиться сразу после регистрации;
- практические упражнения.
Минусы:
- нет поддержки наставника и обратной связи.
«Что такое Тестирование ПО? Как и куда развиваться?» от Сергея Семёнова. Продолжительность – 8 уроков. Студенты за время прохождения курса изучат цели, типы и циклы тестирования, поиск ошибок. В конце учебной программы выпускников ждут практические занятия по созданию теста кейсов и тестированию веб-приложения.
Плюсы:
- на русском языке;
- 2 практических урока;
- приступить к обучению можно сразу после регистрации.
Минусы:
- нет сертификата;
- нет обратной связи.
Платные
Платные курсы отличаются от бесплатных наличием обратной связи, наставниками, выдачей сертификатов и возможностью наполнить своё портфолио проектами.
«Тестировщик» от Нетологии. Стоимость – 131 500 руб. Продолжительность – 8 месяцев. Студентов ожидают курсовые проекты, практические задания, видеолекции. Выпускники освоят Java, GitHub, SQL, Docker, смогут использовать актуальные теории тестирования, разрабатывать автоматические тестовые сценарии, поймут жизненный цикл разработки ПО. Лучшие студенты смогут попасть на собеседование в Альфа-Банк.
Плюсы:
- диплом о профессиональной переподготовке;
- возможность вернуть налоговый вычет;
- подходит для новичков.
Минусы:
- высокая стоимость.
«Профессия Инженер по тестированию» от Skillbox. Стоимость – 253 580 руб. Продолжительность – 12 месяцев. Курсы рассчитаны новичков в сфере IT, тестировщиков начального уровня. Студенты научатся тестировать сайты, разбираться в настройке мобильных приложений, работать в таск-трекерах, использовать основные методы автоматизации и шаблоны тест-планов, сценариев, программировать на Java. Учебная программа включает в себя 87 тематических модулей. В качестве бонуса студенты получат годовой курс английского языка для IT-специалистов. В конце обучения выпускники защитят дипломный проект, по тестированию онлайн-портала, мобильного приложения и веб-сайта.
Плюсы:
- курс английского в подарок;
- можно купить в рассрочку;
- гарантия трудоустройства.
Минусы:
- высокая стоимость.
«Факультет тестирования ПО» от GeekBrains. Стоимость – 287 532 руб. Продолжительность – 12 месяцев. Курс рассчитан на обучение с нуля. За год учёбы студентов ждут 5 проектов, которые они смогут добавить в портфолио. После окончания обучения онлайн-школа гарантирует трудоустройство. Выпускники научатся составлять SQL-запросы, автоматизировать рутинные проверки, пользоваться командной строкой, работать с инструментами автоматического тестирования, писать тестовую документацию, локализовать дефекты, тестировать современные веб-приложения.
Плюсы:
- гарантия трудоустройства;
- вечный доступ к учебным материалам;
- диплом о профессиональной переподготовке.
Минусы:
- высокая стоимость.
Книги по теме
Ниже мы подобрали несколько книг, которые подойдут для начинающих тестировщиков. В книгах только базовая информация в доступной подаче.
- «Искусство тестирования программ» от Гленфорда Майерса, Тома Баджетта, Кори Сандлер. Эту книгу можно назвать классикой для тестировщиков. Выпускается с 1979 года.
- «Дневник охотника за ошибками» от Тобиаса Клейна. В книге начинающие специалисты найдут множество реальных кейсов. Автор расскажет о примерах, когда специалисты искали ошибки в разных типах продуктах. Книга даёт систематизированные знания по тестированию.
- «Software Testing» от Рона Паттона. Книга на английском языке, которая по полочкам разложит всю информацию о тестировании. Автор использует художественные приёмы и отходит от научного стиля для того, чтобы читателям было легче воспринимать информацию.
- «Fundamentals of Software Testing» от Хомеса Бернарда. Англоязычная книга, которая расскажет всё о профессии тестировщика. Здесь читателей ждёт не только информация о технической части работы, но и о менеджерских и организационных.
- «Как тестируют в Google» от Джеймса Уиттакера, Джейсона Арбона и Джеффа Каролло. Книга будет полезна тем, кто решил себя связать с QA-тестированием. Технический директор Google подробно расскажет о всех этапах тестирования продукта в его компании.
Что ещё почитать по теме
Помимо литературы мы подготовили для начинающих специалистов несколько полезных ресурсов, где они смогут познакомиться с тонкостями своей будущей профессии.
Radio QA – русскоязычный подкаст, в котором общаются тестировщики, решают насущные и не очень проблемы.
Python Testing – уже англоязычный подкаст, посвящённый тестированию на языке программирования Python.
Software-Testing.RU. Тестирование и Качество ПО – русскоязычный портал с профессиональными материалами, небольшими статьями, которые будут полезны опытным и начинающим тестировщикам.
QA Intelligence – сайт на английском языке с полезными статьями.
Плюсы и минусы работы
Профессия тестировщика программного обеспечения в последнее время набирает популярность, появляются новые вакансии. Но вокруг неё нет определённости. Кто-то проработал тестировщиком программного обеспечения всю жизнь и получает от этого удовольствие.
Но кому-то не понравилось работать по профессии уже на старте карьеры, и он её забросил.
Плюсы работы тестировщиком ПО:
- Получение базовых технических навыков доступно любому человеку, который интересуется сферой IT.
- Востребованность профессии.
- Широкие возможности. Тестирование изучено не полностью, поэтому творческие люди имеют шанс для реализации своего потенциала – создания методологии, написания курса и т.п.
- Свобода в работе. Не обязательно быть профессиональным разработчиком ПО и сидеть в офисе. Специалисты могут также работать из дома или на фрилансе, самостоятельно выбирая заказы и клиентов.
- Можно совмещать обучение на тестировщика и работу им.
- При должном усердии можно доработать до менеджера продукта.
Минусы работы тестировщиком ПО:
- Высокая ответственность. Если после сдачи проекта в нём обнаружатся ошибки, то отвечать за них будет тестировщик. После него работу никто не проверяет – он последнее звено перед сдачей проекта.
- В первые годы карьеры будет много похожих рутинных задач. Кому-то может не хватит разнообразия и творчества.
- Руководители зачастую не замечают труд специалистов. Задача тестировщика – находить ошибки в работе у команды разработки. И их будут устранять тоже другие люди.
- Много срочных заказов. Зачастую тестировщиков просят поработать над проектами, которые будут сдаваться в короткие сроки. Из-за этого придётся перерабатывать сверх графика дома или в офисе.
FAQ
Что нужно знать для того, чтобы пройти собеседование?
Начинающий специалист должен разбираться в видах и типах тестирования, знать техники тест-дизайна и тест-анализа, типы тестовой документации, владеть системами баг-трекинга.
Где компании набирают тестировщиков?
Основной путь – сайты для поиска работы, где специалисты размещают свои резюме, а компании свои вакансии. Фирмы могут обратиться в кадровое агентство, где профессиональные рекрутёры будут проводить углублённый поиск кандидатов. Или же тестировщиков могут найти на различных форумах, например, Хабр или LinkedIn.
Подведём итоги
В конце нашего обзора подведём краткие итоги:
- Тестировщик – специалист, который проверяет программы, сайты, приложения на наличие ошибок и помогает их устранять.
- Тестировщики должны быть внимательными, усидчивыми, коммуникабельными, ответственными и обучаемыми.
- Существует 5 рангов в профессии – от рядового тестировщика до руководителя отдела.
- Благодаря растущему спросу на тестировщиков, на рынке труда всегда много вакансий с высокими зарплатами. Специалист без опыта работы сможет получать в районе 50 000 руб.
- Если у вас нет никаких знаний в программировании, то вам лучше записаться на платные или бесплатные курсы. Также помогут больше узнать о профессии специальная литература, форумы, подкасты.
- Плюсы профессии – широкие возможности и востребованность. Минусы – скучная рутина в начале карьеры, высокая ответственность.
Что за профессия? Многие почему-то уверены, что QA-engineer, или тестировщик – абсолютно простая профессия. Сидишь, нажимаешь в произвольном порядке кнопки, пока не найдешь ошибку. Обнаружил баг, уведомил об этом разработчика, получил зарплату, а то и премию – все! Но дела тут обстоят несколько сложнее.
Как им стать? Чтобы стать хорошим тестировщиком, требуются определенные знания и умения. Да и вполне конкретные личные качества человека тоже играют роль. То есть сперва нужно понять, подходит ли вам эта профессия в принципе, а потом уже приступать к активному изучению.
В статье рассказывается:
- Суть профессии QA Engineer
- Типы тестирования
- Обязанности QA-инженера
- Необходимые навыки для специалиста
- Необходимые для тестировщика личные качества
- Процесс обучения на тестировщика
- Способы начать зарабатывать
- Возможности карьерного роста
- Уровень зарплаты QA-инженера в 2023 году
- Плюсы и минусы профессии
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Аббревиатура QA – это английское словосочетание quality assurance, на русском звучит как «обеспечение качества». Профессия QA инженера, или тестировщика, в современных условиях очень востребована. Эти специалисты проверяют работу компьютерных программ и приложений. Они отслеживают, чтобы данные продукты выполняли свои задачи, защищают приложения от хакеров, проверяют их работу на различных устройствах и в разных ОС.
Другими словами, на QA инженере лежит ответственность за то, чтобы новое приложение работало в любых условиях и не выходило из строя, даже когда пользователь пытается нажимать совсем не те кнопки, которые рекомендованы инструкцией.
Представим ситуацию. Владелец интернет-магазина решил подключить услугу отправки чеков на e-mail. Он находит специалистов, которые согласны написать такую программу. Через неделю разработчики приходят и демонстрируют ее возможности: покупка товара, ввод e-mail, получение чека на почту. Заказчик доволен, разработчики тоже – задача решена успешно. Через неделю владелец интернет-магазина слышит по телефону раздраженный голос покупателя: «Услуга не работает, верните деньги». Что могло пойти не так?
- Разработчик заложил в программу длину e-mail не более 30 символов, так что покупатель с электронной почтой obozhayu_zvezdniye_vojny@r2d2.com чек не получил.
- Semen_semenovich@всемпива.рф пользуется только русскоязычным доменом, возможность обработки которого разработчики не предусмотрели.
- Кнопка «Получить чек» постоянно находится в активном состоянии. Несколько покупателей решили не писать свой e-mail в предложенной форме, а сразу нажать на кнопку. Вместо чека на экране появилось сообщение: «Опаньки, что-то пошло не так».
Эти ситуации для всех стали неожиданностью. Но клиент не должен разбираться в технической стороне вопроса, а разработчики написали программу строго по ТЗ. Продумывать все нештатные ситуации они не обязаны. Чтобы решить эту проблему, необходимо пригласить QA-инженера.
Тестировщики будут кликать по всем кнопкам и ссылкам, заполнять или не заполнять предложенные формы, то есть стараться сделать как можно больше ошибок, которых можно ожидать от пользователя.
В свое время излишне остроумные разработчики придумали для тестировщиков обидное прозвище «обезьянки-кликальщики». Оно стало настолько распространенным, что разработчики системы Android назвали свой инструмент автоматизации тестирования MonkeyRunner.
Но не стоит думать, что тестировщики только и делают, что нажимают на кнопки с целью выявить баг – это неэффективно. Они давно разработали свои методы определения нештатных ситуаций и быстрого поиска ошибок.
Скачать
файл
QA-инженеры разрабатывают настоящие инструкции для тестирования — тест-кейсы. Если говорить просто, это выглядит следующим образом: аналитики пишут требования – что должно быть на входе, какие данные, как происходит их обработка, как должен выглядеть результат; тестировщики пошагово расписывают инструкции для проверки программного продукта на соответствие этим требованиям.
Типы тестирования
QA engineer проверяет, каким образом пользователь сможет использовать программный продукт, даже если эти способы считаются невозможными. Для этого программное обеспечение начинают тестировать с момента разработки технического задания и далее на каждом этапе. В зависимости от того, что именно проверяется, когда и где, тестирование может быть:
- Статическим. Оно проводится еще до запуска программы, на этапе проекта. QA-инженер проверяет правильность написания кодов, спецификации.
- Динамическим. Это следующий этап после статического. Тестировщик запускает программу и во время ее работы проверяет правильность производимых действий, контролирует время отклика, определяет, насколько во время этой проверки увеличивается нагрузка на память и процессор.
- Функциональным. Специалист проверяет, соответствует ли работа программного продукта ТЗ и отличается ли фактический результат от того, что было задумано получить. На этом же этапе тестировщик изучает безопасность системы – насколько она устойчива к вирусам, хакерским атакам, утечке личных данных. Плюс к этому специалист должен понять, насколько легко новый продукт интегрируется с уже существующими программами и системами без дополнительных модификаций.
Читайте также
- Нефункциональным. Тестировщик создает продукту разные условия и проверяет, как он при этом работает. Его интересует производительность программы, ее удобство для пользователя, он изучает работу ПО под различными нагрузками и проверяет адаптацию к разным платформам.
Обязанности QA-инженера
Анализирует требования заказчика
Перед началом разработки ПО создается специальный документ, в котором фиксируются требования к программе. В него заносятся все договоренности о том, какой должна быть реакция программы на действия пользователя, насколько она должна быть быстрой и безопасной.
Нередко в требования закрадываются логические нестыковки, которые на первый взгляд незаметны и проявляются только во время тестирования. Например, выпущено приложение по доставке еды с меню для вегетарианцев. Приходит требование: добавить в это меню новый продукт – тофу с хештегами #сыр и #веган.
Но может случиться так, что при выборе хештега #сыр вегетарианец увидит не только тофу, но и рокфор, бри и другие сыры, не имеющие отношения к вегетарианскому меню. И что делать в такой ситуации? QA-инженер как раз и ищет подобного рода несоответствия, чтобы указать на них заказчикам, аналитикам и разработчикам.
Ищет ошибки в программе
Ошибки в программе, или баги, тестировщики порой находят в самых неожиданных местах. Например, мы пытаемся ввести свой никнейм в указанное поле, но ничего не получается, программа не реагирует. Умение отыскивать подобные баги очень ценится среди тестировщиков.
Специалист должен тщательно проверить, что произойдет, если совершить какое-нибудь действие в рамках программы, и будет ли результат соответствовать ожиданиям. Но обнаружить баги в условиях тестирования получается не всегда, а вот пользователь точно наткнется на них, когда приложение будет выпущено.
Поэтому и придумывают QA-инженеры мыслимые и немыслимые ситуации, чтобы заставить баги проявить себя. Этот процесс сродни творчеству, ведь для поиска скрытых ошибок приходится проявлять нестандартное мышление, смекалку, аналитические способности.
Пишет код
Например, руководитель дал задание зарегистрировать тысячу аккаунтов. Делать это вручную утомительно и скучно. Чем больше подобных процессов QA engineer автоматизирует, тем выше его будет ценить руководство компании и тем больше времени у него останется на творческую часть.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 21193
Участвует в обсуждении задач
Если в компании здоровый жизненный цикл разработки, то сначала задача пройдет обсуждение и только потом перейдет в стадию реализации. На такие рабочие встречи приходит вся команда, участвующая в создании нового продукта, и каждый сотрудник высказывает свое видение задачи. Тестировщик в первую очередь выискивает потенциальные проблемные места и указывает на них остальным:
- Что будет, если я введу адрес электронной почты в 1000 символов?
- Что будет, если вместо фотографии я загружу файл pdf?
- Что будет, если я прямо сейчас нажму на эту синюю кнопку?
Так что разработчик еще на этапе обсуждения понимает, как надо запрограммировать ответную реакцию продукта, чтобы она отвечала поставленным требованиям.
Составляет тестовую документацию
Самая нетворческая, но обязательная часть работы тестировщика. Он должен задокументировать каждый свой шаг – как он собирается проверять программу и что для этого надо сделать. Какие результаты он хочет получить, какие скрипты выполнить в базе данных, какие настройки применить.
На эту документацию в дальнейшем будут опираться разработчики, аналитики, да и команда заказчика еще раз проверит свой проект. Когда через полгода разработчика попросят изменить какую-нибудь функцию, без этого описания он вряд ли вспомнит, по какому принципу она работала.
Отслеживает и внедряет новые технологии
QA-инженеры всегда отслеживают новые технологии, которые помогают им работать быстрее и эффективнее. Например, при запуске автотестов на своем компьютере результат их работы будет готов через 4 часа, а если использовать для этого сервер удаленного тестирования, то те же данные будут готовы через 20 минут.
Общается с заказчиками
Тестировщик настолько глубоко погружается в исследуемую программу, что легко ответит на все вопросы, связанные с особенностями ее поведения. Поэтому его участие во встречах с заказчиком может обернуться советами по существу дела.
Составляет метрики
Метрики – это как бы сигнальные флажки для IT-команды. Если количество багов растет, то стоит проверить уровень профессионализма разработчика и изучить программный модуль. Возможно, его придется переписать.
Необходимые навыки для специалиста
Если задаться вопросом, как стать QA-инженером, то в первую очередь надо понимать, что тестирование происходит в самых разных областях. Соответственно, у тестировщика должен быть очень широкий кругозор. Но есть и общие точки: во всех случаях необходимо знать теорию тестирования, а дальше понадобятся знания по конкретной тестируемой системе и технологиям, которые в ней используются.
Потенциальный работодатель будет требовать от вас знаний о том, что такое тестирование, зачем включать его в процесс разработки, какова степень важности данного этапа. Для работы в команде не помешают и знания основ методологии разработки (AGILE, SCRUM и пр.) – просто чтобы понимать, чем занимаются коллеги. Неплохо будет, если вы знаете, как грамотно написать дефект, что такое тест-кейсы и чек-листы и в каких случаях их использовать.
Если теория тестирования является общей для всех сфер деятельности, то технические навыки зависят от выбранной области, в которой вы решили работать тестировщиком. К примеру, если вы решили посвятить себя проверке веб-приложений, то вам пригодятся знания о том, как работает браузер, из чего состоит веб-страница. Но для тестирования бортовых систем самолета вам понадобятся совсем другие навыки.
Если говорить о популярности новых разработок, то как раз первыми здесь выступают веб и мобильные платформы. С вебом вроде как разобрались, а чтобы тестировать мобильные устройства, потребуются знания структуры мобильных приложений, их жизненных циклов, отличий от приложений для компьютера, особенностей систем Android и iOS. Не помешает также знакомство с документацией по дизайну мобильных приложений для каждой из них.
Еще один важный момент – большинство современных программ использует базы данных. Поэтому надо знать, что это такое, и уметь составлять простые SQL-запросы.
Умение программировать не является обязательным, по крайней мере, в начале работы тестировщиком. Но в дальнейшем это будет серьезным преимуществом.
Сегодня QA-инженеру помогают специальные программы автоматического тестирования. Они освобождают человека от однообразной работы и заметно сокращают время тестирования, особенно в больших проектах, где необходимо проделать очень много простых повторяющихся действий.
Все тестировщики делятся на две группы: мануальщики и автотестеры. Первые предпочитают искать баги вручную, вторые пишут программы для автоматического поиска. Но это деление достаточно условно.
Нет ни одного любителя автоматизации, который не смог бы протестировать программу вручную. И наоборот, многие мануальные тестировщики осваивают языки программирования и пишут автоматические тесты, чтобы избавить себя от рутины. Опытные специалисты в основном владеют навыками и тех, и других.
Если вас уже приняли на работу, то лучше всего изучить тот язык программирования, на котором ведутся разработки в компании. Если еще нет – учите любой из наиболее популярных сегодня языков.
Раз уж речь зашла о языках, то еще один не помешает знать каждому тестировщику – английский. Хотя бы на уровне чтения и перевода со словарем. Большинство литературы печатается в основном на английском, и знание языка существенно поможет в работе.
Необходимые для тестировщика личные качества
Как и во многих профессиях, при обучении на QA-engineer важно знать, какими личными качествами должен обладать тестировщик. Вот основные из них:
- Усидчивость и настойчивость. Иметь их необходимо, так как дефекты порой приходится искать очень долго. Опытный тестировщик утверждает, что программ без ошибок не бывает, бывают лишь не очень добросовестно проверенные.
- Критическое мышление, умение анализировать любую информацию.
- Тщательность исследования, педантичность, дотошность, заставляющая проверять все варианты: «А что произойдет, если нажать эту кнопку? А если ввести в поле этот символ?».
- Коммуникабельность и умение работать в команде: тестировщик вынужден постоянно общаться со всеми, кто занят в разработке – представителями заказчика, дизайнерами, разработчиками, бизнес-аналитиками.
Только до 12.06
Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы
Список документов:
Тест на определение компетенций
Чек-лист «Как избежать обмана при трудоустройстве»
Инструкция по выходу из выгорания
Чтобы получить файл, укажите e-mail:
Подтвердите, что вы не робот,
указав номер телефона:
Уже скачали 7503
- Железное терпение и самообладание. Никто не любит, когда ему указывают на его собственные ошибки, особенно разработчики. Порой тестировщику приходится по несколько раз напоминать о найденном баге, чтобы были приняты меры по его исправлению. Но при этом настойчивость не должна мешать хорошим отношениям в команде.
- Ответственность и здоровый перфекционизм. В данном случае «комплекс отличника» сослужит хорошую службу в стремлении постоянно улучшать качество разрабатываемого продукта.
- Умение грамотно и четко формулировать свои мысли. Тогда тестировщик сможет составлять планы и тест-кейсы, понятные разработчикам. Если он нашел ошибку, то его задача – подробно и доступно описать, при каких условиях она возникает, чтобы ее могли быстро исправить.
- Стремление учиться и развиваться в выбранной профессии – еще одно важное качество тестировщика. Чтобы оставаться востребованным, он должен постоянно осваивать новые техники тестирования, изучать тематическую литературу, принимать участие в семинарах и конференциях, смотреть видеокурсы.
Процесс обучения на QA-инженера
Стать тестировщиком довольно просто – техническое образование для этого не требуется. Главное, чтобы человек был по-настоящему увлечен IT-сферой и хотел продолжать развиваться в этом направлении.
Как вы будете осваивать новую специальность, решать только вам, лишь бы это было удобно и эффективно: по книгам, по статьям, по видеокурсам или использовать все источники знаний одновременно. Благо, их очень много и в любой форме, так что проблем с поиском информации быть не должно.
Известные тестировщики ведут свои блоги, на тематических сайтах постоянно выкладываются статьи, а на YouTube полно обучающих видеокурсов, в том числе от крупных IT-компаний. Будет полезно изучить и доклады с конференций по тестированию, где частенько встречаются материалы для новичков.
Попробуйте начать погружение в профессию с чтения книг. Вот четверка наиболее полезных:
- Ли Коуплэнд, «Практическое руководство по тест-дизайну» (Lee Copeland, Practitioner’s Guide to Software Test Design).
- Гленфорд Майерс, Том Баджетт, Кори Сэндлер, «Искусство тестирования программ» (Glenford J. Myers, Corey Sandler, Tom Badgett, The Art of Software Testing).
- Лиза Криспин, Джанет Грегори, «Agile-тестирование. Обучающийкурс для всей команды» (Lisa Crispin, Agile Testing: A Practical Guide for Testers and Agile Teams).
- Марк Фьюстер, Дороти Грэм, «Автоматизация тестирования программного обеспечения» (Mark Fewster, Dorothy Graham, Software Test Automation).
Некоторым из этих книг уже около 20 лет, но своей актуальности они не потеряли до сих пор. Написанные простым понятным языком, они станут хорошими помощниками начинающим.
В интернете можно найти образовательные платформы с курсами QA engineer, в том числе и бесплатными. Но для качественного обучения лучше все-таки выбрать платные.
На таких курсах обязательно дают домашние задания, которые проверяют преподаватели. По большей части занятия ведут действующие специалисты, значит, они делятся теми знаниями, которые востребованы на рынке сегодня.
Плюс к этому курсы дают возможность пройти практику на реальном проекте. Потенциальный работодатель обязательно отметит для себя этот пункт в резюме соискателя. Никакая теория не заменит практического тестирования задачи за час до релиза.
Чтобы обеспечить себе постоянный приток специалистов, многие IT-компании открывают собственные школы тестировщиков, а затем наиболее одаренных приглашают на вакансию QA-инженера в штат. Если хотите устроиться на работу в конкретную компанию, обратите на это внимание.
Способы начать зарабатывать
Надо понимать, что ни одни, даже самые престижные, курсы в мире не гарантируют трудоустройство, если человек сам не приложит к этому усилия. Но полученные на них знания помогут быстрее войти в профессию – и в этом их огромное преимущество.
Когда ваш уровень подготовки станет достаточно надежным, попробуйте самостоятельно протестировать какой-нибудь сайт или приложение. Напишите тест-кейсы, составьте чек-листы, чтобы проверить работоспособность ресурса, подумайте над тем, как можно отследить взаимодействие ресурса с его бэкендом (серверной частью).
В сети существуют платформы для краудтестинга, куда компании выкладывают свои программные продукты и предлагают всем желающим протестировать их на конкретном устройстве и ОС. Это хороший шанс заполучить реальный проект и проверить свои силы. Правда, об оплате речь в таких случаях практически не идет, только некоторые компании готовы это делать, и работать придется за «спасибо», но вы сможете приобрести необходимый опыт и оцените работу опытных QA-инженеров.
Помочь освоиться в профессии начинающему тестировщику смогут проекты с открытыми исходным кодом и баг-трекером. Информацию об этом уже можно включить в резюме как практический опыт.
Есть еще и такой способ, как стажировка QA-инженера в крупных IT-компаниях. Платят там немного, но если вам удастся себя показать, то есть шанс получить рекомендацию для будущих собеседований или даже приглашение на работу.
Еще один вариант начать карьеру тестировщика – заняться бета-тестированием. IT-компании, занимающиеся разработкой игр, приложений для ПК и мобильных гаджетов для миллионов людей, порой не в состоянии проверить все возможные сценарии пользовательского поведения.
Для этого они приглашают бета-тестеров, которые будут тестировать работу программы с точки зрения конечного пользователя. Их основная задача – найти как можно больше ошибок и выяснить, насколько удобен продукт в эксплуатации.
Бета-тестеры не проверяют программные коды и не пишут скрипты, их работа гораздо проще, чем у QA-инженера, поэтому можно спокойно совмещать с бета-тестированием обучение. Такая работа учит логически мыслить, искать в программах ошибки, придумывать самые невероятные пользовательские сценарии и еще многим навыкам, которые пригодятся в работе тестировщика. Да и упоминание о бета-тестировании в резюме и портфолио сделает их гораздо привлекательнее.
Возможности карьерного роста
Работа тестировщика предполагает довольно заметный карьерный рост. Все зависит от вашего желания двигаться дальше. Вот как это происходит внутри компании.
Первая ступень – младший специалист, задача которого состоит в ручном тестировании программ по готовым тест-кейсам. Чтобы превратиться из «обезьянки» в мидла, надо изучить проект, знать язык кода и уметь пользоваться автоматическим тестированием.
Джуниор, старательно набирающий багаж знаний и хорошо показавший себя на своем месте, через 2-3 года получит повышение. Должность мидла позволит ему самостоятельно вести документацию и составлять тест-кейсы.
Год-полтора успешной работы мидлом – и можно говорить об уровне Senior QA Engineer (старший специалист). Зона ответственности увеличивается: в подчинении сеньора команда джуниоров, он сам планирует работы по тестированию.
Еще лет через пять вполне реально дослужиться до тимлида – руководителя группы тестировщиков. Для этой должности требуются профессиональные возможности и компетенции, владение основами менеджмента, умение мыслить глобально и решать сложные задачи.
Мы рассмотрели вертикальный карьерный рост специалиста внутри компании. Но довольно часто тестировщики стараются развиваться внутри профессии, например, специализируются на каком-то одном виде тестирования:
- Security-тестировщики — тестируют безопасность программы.
- Performance-тестировщики — выясняют, как ведет себя программа при возрастающей нагрузке.
- Usability-тестировщики — проверяют, насколько удобно пользователю работать с ней.
Уровень зарплаты QA-инженера в 2023 году
Доход тестировщика определяется несколькими факторами:
- Квалификация. На уровне junior зарплата составит от 25-35 тысяч рублей, на уровне middle- или senior-специалистов – от 80 тысяч рублей.
- Работодатель. Хорошо оплачивают тестирование программных продуктов в IT-сфере, банковских и финансовых организациях, телекоммуникационных компаниях.
- Регион. В крупных городах уровень заработной платы выше, чем за их пределами из-за большего числа вакансий.
Если верить статистике, то QA engineer получает среднюю зарплату порядка 68 000 рублей. В большей части объявлений о подобных вакансиях указан оклад от 60 000 рублей. В числе лидеров по уровню зарплаты Калининград, Воронеж, Санкт-Петербург, Москва и Новосибирск.
Заработок тестировщика на фрилансе зависит от многих условий: степени профессионализма, объема работы, выбора клиентов и т.д.
Например, на одной из бирж фриланса был предложен заказ на проведение комплексного тестирования ПО перед выпуском прототипа системы машинного зрения. На выполнение работы давался 1 месяц. Заказчик был готов заплатить 100 тысяч рублей.
Плюсы и минусы профессии
Идеальных профессий не существует, у каждой из них есть свои плюсы и минусы. Есть они и у профессии тестировщика. Начнем с преимуществ.
- Легкий вход в профессию. На начальном этапе новичку потребуются минимальные технические данные. Тестировщик – отличное начало карьеры в сфере IT.
- Перспективность и востребованность. За последние лет десять спрос на тестировщиков заметно возрос. Высокая конкуренция и борьба за качество заставляют компании привлекать этих специалистов для тестирования своих программных продуктов. Перспективы роста тоже выглядят весьма привлекательно – от junior QA engineer дорасти до сеньора, а затем стать тимлидом и руководить группой специалистов или перейти в аналитический отдел.
- Быстрое обучение. Стать тестировщиком гораздо проще и быстрее, чем, к примеру, программистом. Обучение на курсах длится не более нескольких месяцев.
- Возможность работать удаленно и в гибком графике. В сфере IT дистанционная работа – явление вполне обычное. Можно тестировать продукт из дома или офиса в удобное для себя время.
Читайте также
Есть факторы, которые можно рассматривать одновременно и как плюсы, и как минусы профессии – все зависит от точки зрения.
- Ответственная и интересная работа. Если вам нравится ощущать свою важность, необходимость, вы гордитесь тем, что ваша деятельность помогает совершенствовать продукт и тем самым улучшать жизнь пользователей, то тестирование очень скоро станет вашим любимым делом. Обратная сторона медали – высокая степень ответственности оборачивается для человека серьезной психологической нагрузкой.
- Постоянная учеба. IT-сфера находится в постоянном развитии, и, чтобы сохранить свою востребованность, тестировщик должен внимательно следить за появлением нового: читать книги, проходить обучение на курсах, заниматься самообразованием, участвовать в профильных конференциях. И еще: резюме на вакансию QA engineer станет гораздо привлекательнее, если в нем будет указано знание английского языка.
А теперь об очевидных минусах:
- Однообразие. Надо раз за разом проходить тест-кейсы и фиксировать найденные ошибки в системе отслеживания. Многие тестировщики-новички не выдерживают большого количества рутинной работы и уходят из профессии.
- Малоподвижный образ жизни. Сидячая работа – бич многих современных профессий, особенно связанных с IT-деятельностью. Надо просто заранее продумать, как грамотно сочетать длительное сидение за компьютером с физической активностью или занятиями спортом.
Недостатков у профессии тестировщика не так уж и много, так что, если решили проверить себя в этом направлении – дерзайте! По мнению экспертов, это один из самых простых способов оказаться в сфере информационных технологий.
Но не стоит забывать, что QA-инженер – это не «обезьянка», нажимающая на кнопки, а квалифицированный специалист, который находится в постоянном развитии и всегда готов улучшать свои знания и навыки. Именно таким профессионалам работодатели предлагают достойную зарплату.
Столько новых онлайн-специальностей появилось за последнее время – ориентироваться становится все сложнее и сложнее. О контент-менеджерах и таргетологах я уже рассказывала. Сегодня разберем еще одну профессию: тестировщик программного обеспечения – кто это такой, чем он занимается, что должен делать, сколько зарабатывает. А также узнаем, какие навыки и качества необходимы, чтобы устроиться на хорошую работу, и где можно пройти обучение на тестировщика. Если вы выбираете для себя новое направление и хотите сделать в нем карьеру, вам будет полезно знать, что представляет собой эта профессия.
Тестировщик программного обеспечения – кто это такой
Загружая на свой ноутбук или смартфон какую-то программу или приложение, мы не задумываемся о том, сколько людей трудилось над ее созданием. Для пользователя главное – чтобы было удобно и все исправно работало. Именно за эту сторону проекта и отвечает тестировщик.
Тестировщик – это IT-специалист, в задачи которого входит проверка программного обеспечения (ПО) на предмет дефектов (багов) и уязвимостей, на соответствие требованиям, а также и работоспособность в руках разных пользователей и адаптацию к использованию людьми. Тестировщики не исправляют ошибки, а только обнаруживают – исправлением занимаются разработчики.
Профессия появилась сравнительно недавно, и многие вообще не представляют, что делают тестировщики. Однако год от года становится все популярнее, поскольку digital-проектов становится больше и востребованность таких специалистов на рынке IT растет.
Что делают тестировщики
Тестировщики проверяют продукт, программисты – фиксят баги*.
*Из профессионального сленга. Багфиксинг (от англ. bug fixing – исправлять/устранять ошибки/неполадки) – процесс устранения неисправностей в программном обеспечении, то есть несоответствие поведения программы техническому заданию. Багом является любая ошибка, нарушающая нормальное функционирование и вызывающее непредсказуемую работу софта.
Тестировщик может работать с разным ПО. Он ищет ошибки на сайтах, в десктопных программах, мобильных и веб-приложениях, в играх, другом софте до официального релиза и при обновлении. Проверяет корректность работы при разных режимах использования, адаптацию ПО под различные устройства, безопасность. Сравнивает реальный и ожидаемый результат работы ПО, находит слабые места и составляет отчеты для программистов. Обычно тестирование проводится ручным способом, автоматизированные тесты используются реже.
Из профессионального сленга. Фича – особенность (от англ. feature – особенность). Но не просто типовое свойство продукта, отличающее его от аналогов, а полезная функция или доработка, улучшающая характеристики и отсутствующая в базовом варианте.
Обязанности тестировщика
Объем профессиональных компетенций зависит от уровня компании, а также от специфики продукта. В обязанности тестировщика программного обеспечения могут входить следующие работы:
- контроль качества разрабатываемых продуктов;
- выявление, фиксирование, анализ ошибок, которые возникают при работе с ПО;
- разработка тестов, тест-кейсов, сценариев;
- тестирование (ручное, автоматизированное);
- анализ результатов тестирования;
- классификация ошибок;
- формирование отчетов для разработчиков;
- сопровождение процесса исправления найденных ошибок.
Где нужен тестировщик
Если штат программистов присутствует в любой компании, выпускающей цифровые продукты и средства автоматизации, то тестировщики не считаются обязательными. Идеально, если они имеются:
- в компаниях, занимающихся разработкой интернет-сайтов, игр и мобильных приложений;
- у создателей и поставщиков программно-аппаратных комплексов и систем, робототехники, других сложных технических продуктов;
- в айти-отделах финансовых компаний (банковский сектор, брокерские конторы);
- в команде системных интеграторов.
Профессионалы-тестировщики также необходимы в промышленном секторе (например, на заводах, производящих радиоэлектронику, автомобили), в медиакомпаниях (интернет-СМИ), ретейлерам, в сфере образования (например, там, где ведется дистанционное обучение) и т. д.
Сколько зарабатывает тестировщик ПО
Зарплата зависит от 4 факторов:
- подготовка и опыт (пакет технических стеков);
- должностные обязанности;
- тип занятости;
- ручное или автоматизированное тестирование;
- размеры компании, организация рабочих процессов, регион и проекты, которые придется тестировать.
Уровень специалиста | Средняя заработная плата, руб. (по данным рекрутинговых сайтов) |
Intern (стажер) | до 40000 |
Junior (молодой специалист) | 40000-80000 |
Middle (специалист среднего уровня) | 80000-100000 |
Senior (старший) | 100000-150000 |
Lead (ведущий специалист) | от 150000 |
Классификация
Тестировщик – общее название, объединяющее представителей разных IT-специальностей, работающих в разных направлениях тестирования: автоматизаторы, ux, аналитики, Security, асессоры, СУБД и др. Деление условное, поскольку один человек может совмещать разные компетенции. Многим работодателям нужны универсальные сотрудники, способные выполнять всестороннее тестирование, и уровень оплаты труда напрямую зависит от навыков и технических стеков, которыми владеет специалист.
Технический бэкграунд: что должен знать и уметь тестировщик ПО
IT развивается, запросы работодателей растут. Если еще несколько лет назад новичок без особых навыков мог устроиться на работу и учиться в процессе, то сегодня «стартовый пакет» гораздо шире. Элементарных знаний недостаточно – требования довольно высокие даже к начинающим тестировщикам. Как минимум необходима теоретическая подготовка и какие-нибудь базовые курсы.
В чем причина таких изменений? Первая мысль, которая приходит в голову: возросла конкуренция. Однако дело не в этом – профессия востребованная, и конкуренции среди новичков в этой сфере практически нет. Причина в другом: с развитием IT-технологий и всеобщей цифровизацией информационные продукты становятся все сложнее, и для выявления ошибок нужны специфические знания и умения.
Технологический стек – набор инструментов, которые тестировщик применяет в своей работе.
Рассмотрим самые необходимые навыки, необходимые для успешного построения карьеры. Если они есть на старте – это жирный плюс соискателю. Остальным придется восполнять технические пробелы уже в работе.
- Основы тестирования: виды тестов, принципы, методы и инструменты, стратегии, создание сценариев.
- Базовые знания программирования (Java, JavaScript, C#, Python, язык запросов SQL и др.)
- Архитектура ПК.
- Основы работы с базами данных, системами контроля версий (Git).
- Понимание HTML и CSS, протокола передачи гипертекста (HTTP), иметь представление о сетевой модели OSI и принципах функционирования интернета.
- Знание особенностей командных оболочек (cmd, Bash, PowerShell).
- Умение работать с консолью разработчика в браузере, инструментами для автоматизации действий веб-браузера (Selenium).
- Знание методик для гибкого управления проектами в команде разработки (Agile).
- Работа с утилитой Wireshark.
- Умение пользоваться инструментами для управления проектами и багтрекером (системой отслеживания ошибок), такими как Bugzilla, TestLink, Jira.
Неплохо иметь опыт работы в техподдержке и обязательно – технический английский. Знание английского языка – первоочередной скил для любого айтишника, включая тестировщиков программного обеспечения.
Очень важно создать прочный фундамент. Чем больше разных инструментов вы освоите, тем более компетентным специалистом вы будете выглядеть в глазах работодателя.
Какие личные качества нужны тестировщику
Коммуникабельность, инициативность — то, что «любят» эйчары, в этой профессии не имеет принципиального значения. Гораздо важнее качества, которые помогут сделать работу более продуктивной:
- Аналитический ум – способность анализировать большие объемы данных, находить взаимосвязи там, где их не видят другие.
- Внимательность к мелочам, скрупулезность, критическое мышление.
- Умение планировать – при огромной нагрузке, которую испытывают тестировщики, очень важно уметь управлять своим временем и быть максимально эффективным.
И, конечно, в такой сложной профессии невозможно достичь высот без самомотивации и стремления к развитию.
Плюсы и минусы
Погружаясь во что-то новое, нужно понимать, что тебя ждет, ведь в каждой деятельности есть свои положительные и отрицательные стороны, возможности и ограничения. Давайте пробежимся по достоинствам и недостаткам профессии.
Плюсы
- Востребованность – рынку требуются тестировщики разного уровня, у новичков тоже есть шансы получить работу. Пока айти-технологии существуют, ситуация не изменится. Даже при общей роботизации, которую нам прогнозируют в ближайшие десятилетия, работу всех этих роботов и устройств кому-то придется проверять – и этим будут заниматься именно тестировщики. К тому же такая работа может стать хорошей ступенькой для дальнейшего карьерного роста в IT-сфере. Рекомендую заглянуть на рекрутинговые сайты – только на hh.ru больше 6 тыс. вакансий.
- Невысокий порог вхождения в профессию. По сравнению с другими IT-специальностями профессия тестировщика считается более доступной – стартовать в качестве тестировщика проще и быстрее. А вот если хочется расти в карьере, готовьтесь к сложностям – придется серьезно учиться.
- Формат занятости на выбор. Вы можете устроиться в штат компании или работать удаленно на фрилансе, взяв сразу несколько проектов.
- Работу легко совмещать с учебой. График обычно гибкий или свободный, так что можно успевать и то и другое (конечно, если умеешь планировать свое время).
- Ореол элитарности. Став тестировщиком, вы будете знать, что такое пул реквестов, релизный менеджмент и кучу других непонятных обывателю терминов. Да и вообще тестирование ПО, несмотря на растущую популярность профессии, все еще остается загадочным и непонятным. Так что у вас есть все шансы стать особенным и завоевать дополнительные баллы в кругу друзей.
- I’ll be back. Тестировщику не страшны длительные перерывы в трудовом стаже – он всегда может вернуться в свою нишу после декрета, собственного стартапа, из фриланса и т. п.
- Особая атмосфера. В айти-среде, как правило, демократичная, раскрепощенная и дружелюбная атмосфера. Айтишники заняты в интересных проектах, работают в окружении близких по духу людей, реализуют свои творческие амбиции.
Минусы
- Быть крайним. Тестировщик несет большую ответственность, а вот проверять его самого некому, так что, если он пропустил ошибки, вину свалить будет не на кого.
- Вас считают источником проблем. Никто не любит, когда в его работе находят ошибки. Придется привыкать к тому, что вся команда считает вас последним гадом. Сами подумайте: они трудятся денно и нощно в поте лица, чтобы создать что-то очень классное, а потом приходите вы и находите кучу недочетов в идеальном на их взгляд продукте. Кому это может понравиться? Кстати, вас будут винить не только в чрезмерной въедливости, но и в дедлайнах. Именно из-за тестировщиков, по мнению команды, нарушаются сроки. В общем, не любят люди, когда находят ошибки в их работе.
- Бывает скучно. Тестирование состоит из рутинных процессов с повторяющимися задачами, особенно на первых этапах. Будьте готовы иногда изнывать от скуки.
- Вас недостаточно ценят. Каким бы супертестировщиком вы ни были, руководителю не всегда понятна и видна ваша работа. Так что лавры героя пожинать вам придется редко – готовьтесь быть на заднем плане.
- Сверхурочка. Гибкий график – и плюс, и минус профессии. Поскольку вы работаете не в одиночку, придется подстраиваться под других. А это значит, что иногда нужно будет выполнять работу «еще вчера» или оставаться сверхурочно и срочно проверять внесенные программистами коррективы. В 99% случаев – без оплаты сверхурочных.
Выбирать ли эту специальность? Если она вам близка, а плюсы компенсируют минусы, почему бы и нет? В любом деле есть недостатки, главное, чтобы они не перевешивали.
В чем различия между тестировщиками и QA-инженерами
В рунете тестировщиков частенько называют QA-инженерами, хотя, если смотреть в корень, это разные специалисты. На российском рынке такую путаницу в какой-то степени создали эйчары, которые не готовы вдаваться в нюансы и при поиске соискателей ставят знак равенства между этими профессиями.
QA (Quality Assurance) – это профилактические меры, используемые на стадии разработки продукта, и направленные на предотвращение появления дефектов.
QA-инженер (инженер по обеспечению качества) – это человек, который помогает разработчикам создавать качественные программы, сайты, приложение и т. д., выявляя возможные дефекты, влияющие на функциональность будущего продукта. Инженер по качеству следит за тем, чтобы продукт соответствовал заявленным требованиям, приемочным критериям и документации, исправно работал и не создавал проблем при использовании. Он видит общую картину и поправляет, если разработчики делают что-то не так.
QA-инженер – следит за качеством, работает с причинами появления багов. Тестировщик – проверяет на ошибки готовый продукт и его обновления.
Логично предположить, чем качественнее QA-инженер выполняет свою часть работы, тем меньше работы у тестировщиков – до тестирования доходит минимум багов.
Как стать тестировщиком
В сфере айти специалистов оценивают в первую очередь по скилам, которыми они владеют. Начинающему тестировщику нужно многое знать и уметь. Базовые знания можно получить на профильных курсах, параллельно самостоятельно добирая недостающее из литературы, видео, на тематических ресурсах.
Теоретические основы многие новички осваивают сами, значительно труднее найти практику. Поэтому, выбирая курсы, обращайте внимание, достаточно ли в программе практикумов и предоставляется ли возможность стажировки. Когда входишь в профессию с нуля, краткосрочному обучению лучше предпочесть длительное – от 3 до 12 месяцев, с ориентацией на «чайников». Появятся знания, прибавится уверенности – можно перейти на следующую ступень обучения и попробовать найти первую работу.
Как выбрать курс
Ничего нового здесь не скажу, просто руководствуйтесь при выборе несколькими критериями:
- Программа – на какой уровень рассчитана (системное обучение с нуля, повышение квалификации, изучение отдельных инструментов и т. д.), включает ли практику или только теория.
- Преподаватели – есть ли опыт в этой сфере, опыт преподавания. Стоит поискать информацию о преподавателях в интернете: статьи, лекции, кейсы, отзывы.
- Проверка знаний – домашние задания, тесты, задания для самопроверки, обратная связь от кураторов, чат поддержки.
- Формат обучения – живые вебинары и воркшопы, где надо присутствовать; заранее записанные лекции, которые можно смотреть в удобное время.
- Документ об окончании – выдается ли сертификат или диплом (некоторые работодатели рассматривают только тех претендентов на вакансию, которые могут подтвердить квалификацию соответствующим документом).
- Трудоустройство – помогают ли найти работу, есть ли стажировка.
Как стать тестировщиком без опыта
Если вы только начали учиться и пока имеете нулевой опыт, никто не мешает вам его потихоньку набираться.
- Во-первых, вы можете стать фрилансером и брать небольшие проекты. Да, заработок будет крошечный, но зато вы начнете осваивать профессию на практике.
- Во-вторых, ищите вакансии, где берут стажеров-новичков, возможно, даже без оплаты. Но вы сможете окунуться в реалии и поучиться у профессионалов.
- В-третьих, попробуйте самостоятельно сделать сайт на самописном движке. Это поможет вам взглянуть на «нутрянку» и понять, где «живут» типичные ошибки.
Где искать работу тестировщику
Чтобы трудоустройство не превратилось в бесконечный процесс, к нему нужно подготовиться. Для начала определите, какой вариант вам больше по душе:
- работа в штате компании-разработчика;
- ведение проектов на фрилансе.
В первом случае придется искать вакансии, соответствующие вашим компетенциям, проходить собеседования и доказывать рекрутерам и работодателям, что вы можете быть полезны. Во втором – составить профессиональное портфолио, зарегистрироваться на фриланс-биржах и проявлять активность, предлагая себя в качестве исполнителя, когда появляются новые заказы.
Как стать тестировщиком с Нетологией
В университете «Нетология» есть программа обучения, посвященная тестированию. Акцент в курсе «Тестировщик ПО» сделан на практику: он включает 238 часов практических занятий и всего 40 часов теории. Продолжительность обучения – 8 месяцев.
- Занятия проходят вечером по будням 2 раза в неделю. После каждого даются практические задания на отработку новых навыков.
- Дипломный проект – 48 часов практики. Вы сможете показать все знания и навыки, полученные в процессе обучения, и оформить готовый кейс, который сможете показать потенциальному работодателю.
- Помощь в поиске работы. Создание резюме и портфолио, тест-драйв собеседования, навыки самопрезентации, поддержка в течение полугода. Возможность устроиться в штат компании-партнера «Нетологии».
Как стать тестировщиком со Skillbox
Образовательная платформа Skillbox тоже предлагает обучение профессии тестировщика.
Курс «Инженер по тестированию»
- Длительность – 1 год.
- Первая оплата – через 6 месяцев после начала обучения.
- Изучение материалов в удобное время.
- С первого дня обучения учитесь искать ошибки на сайтах, закрепляя полученные знания на практике.
- Презентация итогового проекта экспертам.
- По окончании выдается сертификат.
- Гарантируется трудоустройство.
Заключение
Вы познакомились с профессией тестировщика программного обеспечения, узнали, кто это, что делает, какими качествами и навыками должен обладать и как им стать. Из прочитанного можно сделать несколько выводов. Чтобы войти в IT-сферу через тестирование, нужно не только много знать, но и многое уметь. Чтобы вырасти в востребованного профессионала, необходимо иметь огромный багаж скилов и технических стеков, а также серьезный опыт. Тем не менее при высокой мотивации и упорстве все достижимо. А стремиться есть к чему – заработок квалифицированного тестировщика выше, чем у среднего офисного работника. Да и перспективы интереснее – начав со стажера или джуниора, можно вырасти до ведущего специалиста или пойти в другом направлении айти. Все зависит от желания и целей, которые вы перед собой ставите.
Поделиться в социальных сетях