Как стать тестировщиком

"Тестировщик должен мыслить в каком-то диком хаосе и энтропии, но при этом системно". Рассказывает Артём, руководитель команды тестировщиков в компании Flexis Group.

Суть профессии

— Что такое тестирование ПО и зачем его нужно делать?

Дело в том, что какой бы продукт ни производила компания (в нашем случае - программное обеспечение), ему всегда требуется контроль качества. В IT-сфере тестировщики ПО этим и занимаются. Это делается для того, чтобы пользователь в конечном итоге получил качественный продукт без багов, без ошибок, мог с ним комфортно работать и не уходил к конкурентам.

— Что вы сейчас тестируете?

Сейчас мы делаем бизнес-мессенджер. То есть это будет мобильное приложение со встроенными процессами и с интерфейсом, как у простого мессенджера, для того, чтобы удобно было общаться.

— А что ты делал до этого? Сложно переключатся из области в область?

Я работал в трёх компаниях и вел разные проекты, но принципы тестирования, в общем и целом, были одни и те же. До того я тестировал «фронт-энд» системы для страховых компаний, а еще до этого – высоконагруженный интернет-магазин, один из топ-5 в России.

Когда я переходил из компании в компанию, особенно из первой во вторую, мне было несколько боязно, потому что тестировщик, как программисты, аналитики, погружается в предметную область. Я думал: «вот я тестировал интернет-магазин, который продает одежду, а теперь я буду тестировать систему, которая выписывает страховые полисы. Это совсем другая область». Я предполагал, что придется всему учиться заново. Но это не так. На 80% все всегда одно и то же; если ты знаешь методики, подходы, и у тебя хороший основной технический «бэкграунд», то ты быстро включаешься в другую предметную область.

Плюсы и минусы

— Каковы плюсы и минусы профессии?

Сложность профессии заключается в некотором однообразии. Собственно, соль в том, что иногда кажется, что все это какое-то конвейерное производство, но, на самом деле, у программистов так же. Плюсы профессии, как я уже говорил, - низкий порог вхождения, возможность переквалификации, например, в бизнес-аналитика. Кстати, по моему мнению, из тестировщика проще переквалифицироваться в бизнес-аналитика, чем из программиста, потому, что программист часто «кодит» какой-то отдельный сегмент в системе, а тестировщик обычно знает.

Где учат

— Если IT – это что-то совсем новое и непонятное, то стоит ли пойти сначала на курсы, чтобы сформировать какое-то общее представление о сфере?

Если нужен какой-то базовый интенсив относительно введения в профессию, то да. Такие курсы, как правило, рассчитаны на короткий срок и очень насыщенные. А вот какие-то очень дорогие базовые курсы я бы не рекомендовал, это все можно освоить самостоятельно. Курсы лучше использовать для того, чтобы эти навыки прокачивать, улучшать в разные стороны.

 

Практикум по тест-дизайну


Онлайн-тренинг с домашними заданиями, 1,5 месяца занятий, 9 часов теории + много практики + постоянные консультации тренера в скайп-чате.

6500 е
 

Школа тест-аналитика


Тест-анализ - основная задача любого тестировщика по определению, что и как должно быть протестировано.

12000 е
 

Oracle 10g, язык SQL

м. Сокол, Октябрьское поле


В курсе обсуждаются концепции как реляционных, так и объектно-реляционных баз данных и изучается мощный язык программирования – Oracle SQL.

35530 е

Учебный процесс

— Какими навыками должен обладать начинающий тестировщик?

На самом деле, как показала практика, начинающему тестировщику достаточно прочитать всего пару книг и обладать некоторым IT-бэкграундом (общая осведомленность о том, как работает сайт или приложение в целом) для того, чтобы попасть в профессию. Из большого количества профессий в IT-сфере у тестировщика, действительно, очень низкий порог вхождения. Можно не уметь использовать HTML или CSS. Достаточно понимать, что это такое в целом, чем одно от другого отличается, и что при этом при всем делает, например, JavaScript.

— Расскажи, пожалуйста, про свой опыт трудоустройства: сколько ты уже в профессии, чему учился, как много времени это заняло, и как ты вырос в профессиональном плане с тех пор, как ты начал этим заниматься?

Я три года работаю в отделе тестирования. Начинал я с «джуниор-тестера», а сейчас я руководитель команды тестировщиков.

После института я работал финансистом в банке, а потом решил перейти в IT-сферу. У меня высшее экономическое, но никак не техническое образование. И вот внезапно – мне было 23 года, все говорили, что я стар для этого – я решил стать тестировщиком. Я потратил 2 месяца: прочитал три книги, подучил язык запросов SQL, немножко писал какие-то вещи на JavaScript. Cразу скажу: не SQL, ни JavaScript мне на первых двух местах работы совсем не пригодились. Теоретической базы мне было достаточно для того, чтобы начинать вход в профессию (главное – убедить в этом первого работодателя и не просить много денег сразу). Можно просить минимальный оклад, зная, что ты за несколько лет можешь подняться в цене в три-четыре раза.

Я выбрал эту профессию, потому что я хотел попасть в IT-сферу, и понял, что из этой сферы мне интересна именно разработка ПО, а не системное администрирование или возня с железками. Это дело вкуса. У тестировщиков – из всех тех людей, которые работают с программами,– был самый низкий порог вхождения. Он ниже, чем у программиста, бизнес-аналитика или кого-нибудь еще. А потом, как в «Матрице», у меня был свой Морфеус, который предложил мне либо «прокачиваться» дальше в программиста, либо уходить в автоматизированное тестирование (что, по сути, и есть специфический вид программирования), либо становиться бизнес-аналитиком, начальником – и я выбрал третью пилюлю.

Место работы

— Где работают тестировщики?

На самом деле, рынок уже сформирован, и тестировщики работают, в принципе, в любом «софтвере». То есть там, где есть программисты, как правило, работают и тестировщики.

Рабочий процесс

— Про навыки мы поговорили. А какие личностные качества присущи хорошему тестировщику? Влияет ли профессия на мышление?

На самом деле да, влияет. Если программисты мыслят более или менее парадигмально, то тестировщик должен мыслить в каком-то диком хаосе и энтропии, но при этом системно. Например, ты делаешь карту тест-кейсов и покрываешь ими весь продукт, тем самым ты страхуешь себя, положим, от 90% багов (все зависит от глубины проработки этих тест-кейсов). Но иногда это просто хаотичное тестирование, когда ты пытаешься, намерено пытаешься как можно круче сломать созданный IT-продукт в разных местах. И тогда находишь ее слабые, уязвимые места. Это определенный азарт.

Когда я нанимал тестировщиков в свою команду на текущем месте работы (причем, мы брали в том числе и стажеров с совсем нулевыми знаниями), я им давал такое задание: вот перед тобой стоит автомат с колой. У него есть место, откуда банка с колой высыпается, монетоприемник, экран с циферкой, где отображается внесенная сумма, и кнопочка «вернуть сдачу». В этом автомате нет ассортимента, только банку с колой можно купить. Как ты будешь его тестировать? Это старый кейс, который в каких-то матерых компаниях использовался еще в 90-х годах. Придумать аналогичных можно много. Важно, что здесь нет правильного ответа. Моя задача – понять, как мыслит соискатель. Очевидно, что многие выдают банальные решения: «я попробую получить сдачу», «попробую попросить две банки». Но если я слышу, что человек, например, говорит: «Я переверну автомат вверх дном и попробую сделать стандартную операцию» - это значит, что он правильно мыслит, критично, и может придумать много способов, как попытаться найти слабое звено системы.

— Ты говорил, что за 3-4 года тестировщик увеличивается в цене. Какие перспективы карьерного роста в принципе в данной сфере?

Многие программисты говорят: хочешь стать программистом, не теряй времени, начинай кодить сразу. Это имеет право на жизнь. Но есть и обратная теория: чтобы понять в принципе «софтвер», нужно поработать полгодика тестером. А там видно будет. Если нужно срочно войти в ИТ-сферу, и у тебя нет лишнего года, чтобы прокачать «скиллы» программиста, и ты сразу же хочешь попасть в гущу событий, можно стать тестировщиком. Потом начинать осваивать автоматизированное тестирование. А, осваивая его, ты тут же, по легким всяким задачкам, начинаешь обучаться языкам программирования. И, фактически, если ты можешь написать средней сложности автотест на Java или C#, то есть если у тебя будет опыт работы автотестером, и ты с ним будешь устраиваться на работу программистом, говоря, что ты «кодил», но «кодил» автотесты, тебя вполне могут взять на позицию «джуниора».