Есть такая поговорка: если за дело берется профессиональный тестировщик, он обязательно что-нибудь сломает. Ну а если серьезно, то это достаточно интересная тема для обсуждения. Тестирование, как правило, лежит на стыке двух областей — разработки и того, чему посвящен разрабатываемый продукт. Это может быть медицина, физика, компьютерные игры — все что угодно.  В тестировщики часто идут люди, хорошо разбирающиеся в какой-то своей области, с целью помочь сделать продукты для нее лучше. Ну а еще из-за денег. В статье вы найдете ответы на 10 важных вопросов о тестировании: инструменты, скилы, карьерный рост, проекты, зарплату и еще кое-какую информацию, которая может оказаться полезна, если вдруг вы надумали переквалифицироваться в тестировщики. На раскрытие этой темы меня натолкнуло очередное мероприятие на платформе Leader-ID. Это был вебинар Нетологии, где спикером выступала Анастасия Шарикова, руководитель команды тестирования в Bookmate. Сначала я хотела просто сделать расшифровку ее рассказа, но потом решила охватить тему полнее и адресовала те же вопросы своей старой знакомой Яне Шишкиной (@janka2330). Она несколько лет назад удачно переквалифицировалась в тестировщики и даже успела стать спикером на профессиональной конференции. Плюс я написала Анастасии и попросила ее ответить еще на пару вопросов сверх того, о чем она говорила на вебинаре.  После анализа всех ответов поняла, что девушки выражают созвучные мысли, и объединила все в один общий рассказ, сделав его компактнее и удобоваримее, чем просто сборник ответов двух людей из профессии. Девушки рассказали, что переход из других профессий в тестирование встречается достаточно часто: многие из тех, кто не нашел себя в иных сферах, стремятся попасть в IT именно через тестирование. К тому же бытует мнение, что там неплохо платят. Также я поболтала с Яной и Анастасией о тестировании в целом, узнала мотивы и ожидания от перехода в эту профессию, спросила про зарплату и необходимые скилы. Но — обо всем по порядку. На вебинаре Анастасия почти час рассказывала про профессию и затем еще около 30 минут отвечала на вопросы. Запись можно найти по этой ссылке  Немного об Анастасии: «В профессии я уже больше семи лет. Начинала с позиции Junior QA в компании Mail.ru, первым моим проектом была мобильная почта. Mail.ru я посвятила четыре года и выросла до руководителя команды. С тех пор я успела поработать и в серьезных продуктовых компаниях, и в маленьких стартапах. Вот уже больше двух лет я стою на страже качества (и не только) в Bookmate. Помимо этого, я преподаю на курсах и работаю на фрилансе». Про Яну: «Из системного администратора в тестировщики? Легко! И так же легко три года назад я променяла аэропорт Домодедово на компанию «Сервис Плюс», которая занимается кассовым оборудованием и ПО. Здесь началась моя карьера в тестировании и продолжается до сих пор. Я занимаю должность ведущего специалиста по тестированию ПО, посещаю конференции в качестве спикера и слушателя, работаю на фрилансе с интересными проектами, чтобы повышать свою квалификацию и пробовать разные инструменты». Тестировщик — это человек, который отвечает за качество продукта: за его адекватную реакцию на действия пользователя. Тестировщик проверяет продукт согласно требованиям, пишет тест-кейсы, формирует документацию по тестированию.  Нужно понимать, что эта профессия не подразумевает тихое сидение себе в уголке. Тестировщики, пожалуй, больше всех остальных взаимодействуют с командой, разработчиками, техническими писателями, технической поддержкой и даже пользователями. Так что если вы собрались переквалифицироваться в специалиста по качеству, то коммуникативные навыки вам точно пригодятся. Часто говорят, что хороший тестировщик умеет все: он разбирается в коде, знает продукт, знает технические требования и новые фичи. Поэтому ему несложно презентовать продукт клиенту — рассказать, как и что там работает, он может быстренько поправить баг на фронте, закоммитить, тут же проверить и закрыть задачу, чтобы не запускать эту порой бесконечную цепочку передачи задачи от QA к программисту и назад. В общем, на все руки от скуки. Можно тестировать все что угодно, особенно если есть желание и за это платят деньги. Но в IT-сфере больше принято тестировать:  программное обеспечение,  мобильные устройства,  технику: начиная от сканеров qr-кодов и заканчивая огромными машинами для аграрной промышленности. «Что интереснее всего тестировать?» — спросите вы. На этот вопрос нельзя дать однозначного ответа: кому-то очень понравится тестировать мобильные устройства, там своя специфика и окружение, свои инструменты. Многие мечтают о тестировании игр. Ну какой заядлый геймер не хотел бы получать деньги за то, чтобы первым получать доступ к новым играм и находить там то, о чем не знают даже разработчики! Когда менеджер приказал релизить, тестировщик уже бессилен: подборка багов из Cyberpunk 2077 Есть ребята, которые с детства обожают технику: собрать, разобрать, настроить — это все к ним, поэтому таким личностям отлично заходит тестирование сложной техники, например касс с их фискальным регистратором, денежным ящиком, клавиатурой, монитором и сканером. Наш совет при выборе специфики тестирования: выбирать только те проекты, которые вам интересны технически и которыми вы бы пользовались в реальной жизни. Если вы не расстаетесь с телефоном, следите за выходом новых приложений и замучили техподдержку сообщениями о багах, смело выбирайте Mobile Testing — репортить напрямую разработчикам намного эффективнее. Не помешает любовь к технике и любознательность. По моим наблюдениям, все тестировщики — очень любознательные ребята и немножко экспериментаторы. Как сказал Майкл Болтон: «Тестирование — это процесс исследования, открытия, изучения нового и обучения…» Что касается скилов, то надо бы уметь писать тест-кейсы и знать шаблон их оформления. Владеть основными техниками тест-анализа, тест-дизайна и другой базовой теорией тестирования. Конечно, быть с компьютером на «ты». Если этот навык отсутствует, будет очень сложно. Математика и логика — верные спутники тестировщика. Если брать в расчет автоматизацию, нужно иметь понимание, как происходит общение между клиентом и сервером, знать какой-нибудь попсовый язык программирования (честно говоря, каждый тестировщик когда-нибудь точно столкнется с кодом, поэтому язык программирования не помешает знать и приверженцам ручных методов тестирования). Английский язык современному айтишнику тоже необходим (вполне хватит уверенного intermediate): документация для инструментов обычно на английском, инструкции тоже на английском, коды ошибок — и те на английском. Да к тому же со знанием языка есть возможность устроиться работать за рубеж или в международную компанию. Портрет идеального тестировщика, со слов Анастасии и Яны: человек, который умеет находить баланс между гибкостью и уверенностью в своей точке зрения, с развитыми коммуникативными навыками, недоверчивый и желающий знать больше, добираться до сути предмета. И точно любящий технику и технологии. Самые важные инструменты тестировщика — это руки и мозг. А если серьезно, то все тестировщики работают с системой баг-трекинга (Jira, Redmine, BugZilla). Всю проектную документацию обычно хранят в системе управления знаниями, например Confluence. Если говорить про автоматизацию тестирования, список инструментов тестировщика значительно расширяется. Это может быть:  среда разработки, например IntelliJ IDEA; git-репозиторий, который представляет собой каталог файловой системы. Там находятся файлы конфигурации репозитория, журналов и рабочие файлы. Не обойтись без системы непрерывной интеграции (пример: Jenkins, Teamcity), которая служит для автоматизации процесса сборки и тестирования кода в разделяемом репозитории. Для тестирования API часто используют Postman, с помощью которого можно автоматизировать проверки запросов с клиента на сервер и получения ответа от backend. Для тестирования трафика и проверки корректности функционирования сайта по протоколу HTTP используют такие виртуальные помощники, как Fiddler и Charles. Как и в любой профессии, есть вертикальный и горизонтальный рост. Если вы решите пойти по вертикали, сначала вас ожидает должность ведущего тестировщика, который больше всех знает в проекте и помогает джунам. Встречаются и промежуточные должности (Middle QA), но это скорее внутренняя градация в компании, чем запись в трудовой книжке. В целом — чем выше ваша должность, тем выше уровень самостоятельности. В конце концов можно дорасти до тимлида команды QA или QA Team Manager. К этим должностям прилагается большая ответственность за качество продуктов, за их стабильность в проде и за других тестировщиков. Что касается роста по горизонтали, тут вариантов больше:  из ручного тестирования — в автоматизаторы;  тестирование + DevOps направление — когда тестировщик в команде настраивает и ведет проекты по тестированию в системе непрерывной интеграции, а также настраивает тестовое окружение, знает, как распараллелить тестовые запуски с помощью Docker;  разработка в тестировании: написание программного кода для тестовых проектов, реализация заглушек, эмуляторов и другая работа, направленная на совершенствование тестовых проверок и облегчение работы тестировщиков. Ответ зависит от вашего бэкграунда, а также желания и способности к обучению. Каждый хороший автоматизатор прошел путь ручного тестирования — так что без этого этапа вряд ли обойдется. Ручное тестирование учит быть дознавателем, докапываться до каждой детали и четко вести документацию по проекту. А еще это бывает очень увлекательно! Да и многие мануальщики скажут: «Я пришел в тестирование не затем, чтобы писать код». Но все же автоматизация — это благо, и девушки советуют когда-нибудь обязательно встать на этот путь. К слову, бывают еще такие проекты-мамонты, где автоматизация либо очень сложна и неэффективна, либо невозможна совсем. Но в основном все прекрасно автоматизируется, а тестировщики очень радуются, что проверки идут, пока они пьют кофе. И еще: автоматизаторы зарабатывают больше. А еще это ответ на вопрос, как избежать выгорания, не погрязнуть в тоннах документации и багах: постарайтесь оптимизировать процессы — все, что можно, автоматизируйте и делегируйте. «Тестировщиком может стать каждый», — слышу я от спикеров на конференциях. Но нет, это не так. Точнее, не совсем так: правильнее сказать, что тестировщиком может стать каждый, а вот хорошим тестировщиком — единицы.  Бестолковое нажимание на кнопки нельзя назвать тестированием. Тестирование — это когда QA-специалист вместе с командой берет на себя ответственность за качество продукта. Да, зайти через тестировщика в IT-сферу проще, чем, например, через программиста. Хотя бы потому, что на программиста надо учиться в вузе или как минимум иметь некоммерческий опыт кодинга в течение полугода. Чтобы пойти в тестирование, достаточно закончить короткие курсы или, имея техническое прошлое, просто прочесть книгу Романа Савина «tестирование dot COM, или Пособие по жестокому обращению с багами в интернет-стартапах». По данным статистики сайта software-testing.ru на декабрь 2018 — январь 2019 года, средняя зарплата тестировщика в Москве — 1425 долларов. В Санкт-Петербурге — 1389 долларов. Примерная зарплата в других городах отражена на гистограмме: Автоматизаторы, как правило, получают больше, чем мануальщики. Джуны без опыта зарабатывают около 600 долларов. Глядя на гистограмму зарплат, можно сказать, что средний тестировщик с опытом и навыками получает чуть меньше среднего программиста. Больше деталей по зарплатам тестировщиков можно найти вот в этом посте. А тут много статистики по зарплатам в IT от Habr-карьеры. Вот статистика по Москве из hh.ru: Вакансий без опыта на рынке достаточно. Уверена, что, добавив немного скилов, можно претендовать на позицию с опытом 1–3 года, даже фактически его не имея. В IT обычно встречают по уму, так что шанс есть, и все зависит от кандидата. Смотрим вперед и расширяем горизонты: отличная идея — стать спикером на конференции. Прийти и рассказать про свой опыт и карьерный путь, поделиться советами, как стать тестировщиком. Или, может быть, принести на конференцию свой собственный проект по автоматизации тестирования, как сделала наш сегодняшний спикер Яна Шишкина. Войти в сообщество QA-специалистов и стать IT-евангелистом или лектором и преподавателем, как Анастасия Шарикова. Можно завести блог и рассказывать там о проблемах, багах, новых инструментах и делиться опытом. В этом есть отдельный драйв! Перед тем как вы соберетесь искать работу в QA, взвесьте все за и против. Да, платят неплохо, но есть свои минусы: рутина, много документации, жесткие стандарты и требования, которым надо следовать. В больших компаниях и на важных проектах еще и ненормированный рабочий день.  IT-сфера притягательна своей энергией, здесь никогда не скучно, вы всегда будете идти в ногу со временем. QA-инженеру открывается множество возможностей для реализации себя как специалиста и как творческой личности. Вспомним опять же про конференции, IT-тусовки, которые проходят почти каждый месяц. В общем, тестировщиком быть круто, если вам эта работа по душе. Руководитель направления сервисов Leader-ID