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

В тестировщики часто идут люди, хорошо разбирающиеся в какой-то своей области, с целью помочь сделать продукты для нее лучше. Ну а еще из-за денег.

автор: bennio @ reddit.com

В статье вы найдете ответы на 10 важных вопросов о тестировании: инструменты, скилы, карьерный рост, проекты, зарплату и еще кое-какую информацию, которая может оказаться полезна, если вдруг вы надумали переквалифицироваться в тестировщики.

Откуда дровишки

На раскрытие этой темы меня натолкнуло очередное мероприятие на платформе Leader-ID. Это был вебинар Нетологии, где спикером выступала Анастасия Шарикова, руководитель команды тестирования в Bookmate. Сначала я хотела просто сделать расшифровку ее рассказа, но потом решила охватить тему полнее и адресовала те же вопросы своей старой знакомой Яне Шишкиной (@janka2330). Она несколько лет назад удачно переквалифицировалась в тестировщики и даже успела стать спикером на профессиональной конференции. Плюс я написала Анастасии и попросила ее ответить еще на пару вопросов сверх того, о чем она говорила на вебинаре. 

После анализа всех ответов поняла, что девушки выражают созвучные мысли, и объединила все в один общий рассказ, сделав его компактнее и удобоваримее, чем просто сборник ответов двух людей из профессии.

Девушки рассказали, что переход из других профессий в тестирование встречается достаточно часто: многие из тех, кто не нашел себя в иных сферах, стремятся попасть в IT именно через тестирование. К тому же бытует мнение, что там неплохо платят. Также я поболтала с Яной и Анастасией о тестировании в целом, узнала мотивы и ожидания от перехода в эту профессию, спросила про зарплату и необходимые скилы. Но — обо всем по порядку.

На вебинаре Анастасия почти час рассказывала про профессию и затем еще около 30 минут отвечала на вопросы. Запись можно найти по этой ссылке 

Немного об Анастасии: «В профессии я уже больше семи лет. Начинала с позиции Junior QA в компании Mail.ru, первым моим проектом была мобильная почта. Mail.ru я посвятила четыре года и выросла до руководителя команды. С тех пор я успела поработать и в серьезных продуктовых компаниях, и в маленьких стартапах. Вот уже больше двух лет я стою на страже качества (и не только) в Bookmate. Помимо этого, я преподаю на курсах и работаю на фрилансе».

Про Яну: «Из системного администратора в тестировщики? Легко! И так же легко три года назад я променяла аэропорт Домодедово на компанию «Сервис Плюс», которая занимается кассовым оборудованием и ПО. Здесь началась моя карьера в тестировании и продолжается до сих пор. Я занимаю должность ведущего специалиста по тестированию ПО, посещаю конференции в качестве спикера и слушателя, работаю на фрилансе с интересными проектами, чтобы повышать свою квалификацию и пробовать разные инструменты».

#1. Кто такой тестировщик и чем он занимается

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

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

Часто говорят, что хороший тестировщик умеет все: он разбирается в коде, знает продукт, знает технические требования и новые фичи. Поэтому ему несложно презентовать продукт клиенту — рассказать, как и что там работает, он может быстренько поправить баг на фронте, закоммитить, тут же проверить и закрыть задачу, чтобы не запускать эту порой бесконечную цепочку передачи задачи от QA к программисту и назад. В общем, на все руки от скуки.

#2. А что тестировать 

Можно тестировать все что угодно, особенно если есть желание и за это платят деньги. Но в IT-сфере больше принято тестировать: 

  • программное обеспечение, 

  • мобильные устройства, 

  • технику: начиная от сканеров qr-кодов и заканчивая огромными машинами для аграрной промышленности.

«Что интереснее всего тестировать?» — спросите вы. На этот вопрос нельзя дать однозначного ответа: кому-то очень понравится тестировать мобильные устройства, там своя специфика и окружение, свои инструменты. Многие мечтают о тестировании игр. Ну какой заядлый геймер не хотел бы получать деньги за то, чтобы первым получать доступ к новым играм и находить там то, о чем не знают даже разработчики!

Когда менеджер приказал релизить, тестировщик уже бессилен: подборка багов из Cyberpunk 2077

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

Наш совет при выборе специфики тестирования: выбирать только те проекты, которые вам интересны технически и которыми вы бы пользовались в реальной жизни. Если вы не расстаетесь с телефоном, следите за выходом новых приложений и замучили техподдержку сообщениями о багах, смело выбирайте Mobile Testing — репортить напрямую разработчикам намного эффективнее.

#3. Какие скилы и качества понадобятся, чтобы стать тестировщиком

Не помешает любовь к технике и любознательность. По моим наблюдениям, все тестировщики — очень любознательные ребята и немножко экспериментаторы. Как сказал Майкл Болтон: «Тестирование — это процесс исследования, открытия, изучения нового и обучения…»

Что касается скилов, то надо бы уметь писать тест-кейсы и знать шаблон их оформления. Владеть основными техниками тест-анализа, тест-дизайна и другой базовой теорией тестирования.

Конечно, быть с компьютером на «ты». Если этот навык отсутствует, будет очень сложно. Математика и логика — верные спутники тестировщика.

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

Английский язык современному айтишнику тоже необходим (вполне хватит уверенного intermediate): документация для инструментов обычно на английском, инструкции тоже на английском, коды ошибок — и те на английском. Да к тому же со знанием языка есть возможность устроиться работать за рубеж или в международную компанию.

Портрет идеального тестировщика, со слов Анастасии и Яны: человек, который умеет находить баланс между гибкостью и уверенностью в своей точке зрения, с развитыми коммуникативными навыками, недоверчивый и желающий знать больше, добираться до сути предмета. И точно любящий технику и технологии.

#4. Какие инструменты тестировщики используют в работе

Самые важные инструменты тестировщика — это руки и мозг. А если серьезно, то все тестировщики работают с системой баг-трекинга (Jira, Redmine, BugZilla).

Описание проблемы в интерфейсе баг-трекинга Jira

Всю проектную документацию обычно хранят в системе управления знаниями, например Confluence.

Если говорить про автоматизацию тестирования, список инструментов тестировщика значительно расширяется. Это может быть: 

  • среда разработки, например IntelliJ IDEA;

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

Информация по проектам и сборкам в Jenkins

Не обойтись без системы непрерывной интеграции (пример: Jenkins, Teamcity), которая служит для автоматизации процесса сборки и тестирования кода в разделяемом репозитории.

Для тестирования API часто используют Postman, с помощью которого можно автоматизировать проверки запросов с клиента на сервер и получения ответа от backend.

Процесс написания API-теста в Postman

Для тестирования трафика и проверки корректности функционирования сайта по протоколу HTTP используют такие виртуальные помощники, как Fiddler и Charles.

#5. Куда расти в тестировании

Как и в любой профессии, есть вертикальный и горизонтальный рост. Если вы решите пойти по вертикали, сначала вас ожидает должность ведущего тестировщика, который больше всех знает в проекте и помогает джунам. Встречаются и промежуточные должности (Middle QA), но это скорее внутренняя градация в компании, чем запись в трудовой книжке. В целом — чем выше ваша должность, тем выше уровень самостоятельности.

В конце концов можно дорасти до тимлида команды QA или QA Team Manager. К этим должностям прилагается большая ответственность за качество продуктов, за их стабильность в проде и за других тестировщиков.

Что касается роста по горизонтали, тут вариантов больше: 

  • из ручного тестирования — в автоматизаторы; 

  • тестирование + DevOps направление — когда тестировщик в команде настраивает и ведет проекты по тестированию в системе непрерывной интеграции, а также настраивает тестовое окружение, знает, как распараллелить тестовые запуски с помощью Docker; 

  • разработка в тестировании: написание программного кода для тестовых проектов, реализация заглушек, эмуляторов и другая работа, направленная на совершенствование тестовых проверок и облегчение работы тестировщиков.

#6. Автоматизация vs ручное тестирование — что выбрать

Ответ зависит от вашего бэкграунда, а также желания и способности к обучению. Каждый хороший автоматизатор прошел путь ручного тестирования — так что без этого этапа вряд ли обойдется. Ручное тестирование учит быть дознавателем, докапываться до каждой детали и четко вести документацию по проекту. А еще это бывает очень увлекательно! Да и многие мануальщики скажут: «Я пришел в тестирование не затем, чтобы писать код».

Но все же автоматизация — это благо, и девушки советуют когда-нибудь обязательно встать на этот путь. К слову, бывают еще такие проекты-мамонты, где автоматизация либо очень сложна и неэффективна, либо невозможна совсем. Но в основном все прекрасно автоматизируется, а тестировщики очень радуются, что проверки идут, пока они пьют кофе. И еще: автоматизаторы зарабатывают больше.

А еще это ответ на вопрос, как избежать выгорания, не погрязнуть в тоннах документации и багах: постарайтесь оптимизировать процессы — все, что можно, автоматизируйте и делегируйте.

#7. Правда ли это легкий путь в IT-индустрию

«Тестировщиком может стать каждый», — слышу я от спикеров на конференциях. Но нет, это не так. Точнее, не совсем так: правильнее сказать, что тестировщиком может стать каждый, а вот хорошим тестировщиком — единицы.

Бестолковое нажимание на кнопки нельзя назвать тестированием. Тестирование — это когда QA-специалист вместе с командой берет на себя ответственность за качество продукта.

Да, зайти через тестировщика в IT-сферу проще, чем, например, через программиста. Хотя бы потому, что на программиста надо учиться в вузе или как минимум иметь некоммерческий опыт кодинга в течение полугода. Чтобы пойти в тестирование, достаточно закончить короткие курсы или, имея техническое прошлое, просто прочесть книгу Романа Савина «tестирование dot COM, или Пособие по жестокому обращению с багами в интернет-стартапах».

Коронная цитата: «Тест-кейс, который не может быть исполнен никем, кроме его автора, должен быть публично сожжен, растерт в порошок и развеян по ветру»

#8. Сколько зарабатывает тестировщик

По данным статистики сайта software-testing.ru на декабрь 2018 — январь 2019 года, средняя зарплата тестировщика в Москве — 1425 долларов. В Санкт-Петербурге — 1389 долларов. Примерная зарплата в других городах отражена на гистограмме:

Источник: https://habr.com/ru/post/446650/

Автоматизаторы, как правило, получают больше, чем мануальщики. Джуны без опыта зарабатывают около 600 долларов.

Глядя на гистограмму зарплат, можно сказать, что средний тестировщик с опытом и навыками получает чуть меньше среднего программиста. Больше деталей по зарплатам тестировщиков можно найти вот в этом посте. А тут много статистики по зарплатам в IT от Habr-карьеры.

#9. Как обстоят дела с вакансиями и легко ли найти работу без опыта

Вот статистика по Москве из hh.ru:

Вакансий без опыта на рынке достаточно. Уверена, что, добавив немного скилов, можно претендовать на позицию с опытом 1–3 года, даже фактически его не имея. В IT обычно встречают по уму, так что шанс есть, и все зависит от кандидата.

#10. Я в тестировании, что дальше

Смотрим вперед и расширяем горизонты: отличная идея — стать спикером на конференции. Прийти и рассказать про свой опыт и карьерный путь, поделиться советами, как стать тестировщиком. Или, может быть, принести на конференцию свой собственный проект по автоматизации тестирования, как сделала наш сегодняшний спикер Яна Шишкина.

Яна на конференции по тестированию TestCon Moscow 2018

Войти в сообщество QA-специалистов и стать IT-евангелистом или лектором и преподавателем, как Анастасия Шарикова. Можно завести блог и рассказывать там о проблемах, багах, новых инструментах и делиться опытом. В этом есть отдельный драйв!

Итоги и пара слов про минусы

Перед тем как вы соберетесь искать работу в QA, взвесьте все за и против. Да, платят неплохо, но есть свои минусы: рутина, много документации, жесткие стандарты и требования, которым надо следовать. В больших компаниях и на важных проектах еще и ненормированный рабочий день. 

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