что нужно знать junior тестировщик
О чем важно знать, чтобы стать тестировщиком: советы новичкам
Руководитель отдела тестирования Bookmate Анастасия Шарикова провела в Нетологии открытое занятие, на котором рассказала: кто такие тестировщики, сколько они получают и как освоить профессию. Зафиксировали главное.
Тестирование — полноценная специальность в ИТ с относительно низкими начальными требованиями, в сравнении с требованиями к начинающим разработчикам. Именно поэтому тестирование так привлекает тех, кто не работал в ИТ».
Эта статья для новичков, которые только присматриваются к отрасли. Рассказываем, чем занимаются тестировщики, сколько зарабатывают и что нужно уметь, чтобы получить первую работу.
Профессия
Тестировщик
Кто такой тестировщик
В теории
Тестировщик или QA (Quality Assurance, специалист по качеству) проверяет программное обеспечение и помогает команде избавляться от ошибок и предотвращать их появление. В теории тестировщик и QA — названия для одной из той же профессии. Но работодатели часто разграничивают понятия:
На практике
Чтобы наглядно объяснить, чем занимаются тестировщики, приведу пример заданий для соискателей-джуниоров. Чаще всего джуниоров просят протестировать бытовые программы, например, калькулятор. Иногда — найти ошибки в том сервисе, куда они устраиваются.
Если это приложение, соискателя просят найти десять ошибок в нём. Это довольно банальные примеры, но по ним можно понять, что ищут работодатели.
Насколько востребованы и сколько получают тестировщики
Ошибки могут быть в любых программах. Поэтому тестировщиков нанимают все крупные компании, которые разрабатывают программное обеспечение. А еще фирмы, которые предоставляют услуги тестирования для мелких компаний-разработчиков без своего отдела QA.
Оценить востребованность профессии можно по количеству вакансий. Так, на hh.ru ежемесячно появляется 3400 вакансий для тестировщиков. Кроме того, работодатели публикуют вакансии на Freelance.ru, SuperJob.ru и других популярных сайтах поиска работы. Также сотрудников ищут в Telegram-каналах и группах в Facebook, в соцсети LinkedIn.
Что нужно уметь новичку, чтобы устроиться на работу
Нужные навыки соискателя зависят от конкретной вакансии. Как правило, работодатели сразу пишут в описании, чего ждут от сотрудника. Чтобы устроиться на работу, как минимум, нужно уметь:
Находить и правильно заводить дефекты — определять, с каким разделом программы связана ошибка, в какой версии операционной системы или браузера воспроизводится.
Разбираться системами баг-трекинга Jira, Redmine, Bugzilla. Как правило, над устранением ошибки работают несколько разных специалистов. Системы баг-трекинга нужны, чтобы управлять процессом починки, координировать работу.
Проводить клиентское тестирование веб- и мобильных приложений. Проверять программу с позиции пользователя, оценивать функциональность, удобство пользования — в разных операционных системах, браузерах, на разных разрешениях экрана и драйверах.
Обладать базовыми навыками тестирования. Например, проводить тест-анализ — определять, что именно будет протестировано, формировать условия тестирования.
Уметь работать с основными программами вроде Charles или Fiddler. Они нужны, чтобы проверять передачу данных между компьютером пользователя и сервером.
Разбираться в системах управления знаниями и хранилищах тест-кейсов. К таким программам относятся, например, Wiki и Confluence. Они работают как «Википедия» — там хранится вся информация про проекту. Как хранилища тест-кейсов часто используют TestRail или Zephyr.
Дополнительными плюсами при трудоустройстве будет уровень английского выше среднего, базовое знание языков программирования — например, Java или Python — и автотестирования.
Что изучить, чтобы понять азы тестирования
Вот книги и ресурсы, которые помогут понять, интересно ли вам тестирование, и освоить азы самостоятельно:
Освоить профессию под руководством наставников, получить теорию в доступном виде и сразу начать решать практические задачи можно на образовательных курсах «Нетологии».
Карьерные перспективы тестировщика: куда развиваться после позиции джуниора
Начинающим тестировщикам доступны разнообразные пути развития карьеры. Можно развиваться горизонтально — выбрать специализацию, например, банковский сектор или страховые компании, и совершенствоваться в тестировании узкопрофильных программ.
Варианты специализации в профессии по сфере деятельности компании и рабочим навыкам, задачам по версии Capgemini.
Параллельно с этим новички набираются опыта и развивают карьеру вертикально. Через каждые два–три года бывший джуниор получают новые уровни навыков:
Middle QA Engineer/Tester. Пишет тестовые сценарии, готовит техническую документацию, исправляет баги и тестирует новые функции.
Senior QA Engineer/Tester. Планирует процессы и разрабатывает стандарты тестирования, работает с циклом проверки ПО. Оценивает работу младших специалистов.
Lead QA Engineer/Tester. Принимает решения по внутреннему устройству и внешним интерфейсам ПО по требованиям к нему и ресурсам в наличиии. Выполняет сложные задачи по тестированию.
QA Team Lead/Manager. Координирует стратегию тестирования в небольшой команде, руководит тестировщиками, планирует и контролирует их работу. Оценивает объём, сроки выполнения и бюджет проекта.
Профессиональное развитие проходит в разном темпе, указанное время — приблизительное. Некоторые тестировщики не становятся управленцами — Lead и Team Lead — и предпочитают дальше выполнять технические задачи даже после 10–15 лет работы.
Как стать тестировщиком ПО: пошаговая инструкция
Рассказываем, какие книги читать и какие технологии осваивать, чтобы стать тестировщиком ПО.
Тестировщик ПО (или QA-инженер) — распространенная отправная точка для тех, кто хочет начать карьеру в IT-индустрии, и просто востребованная профессия. Мы расскажем, где новичкам набраться полезных навыков и знаний, а также заработать заветные строчки для резюме и проекты для портфолио.
Чем занимаются QA-инженеры
Тестировщики ПО помогают делать продукты — приложения, сайты, программы, автомобили — такими, чтобы ими можно было пользоваться. Они определяют, какие элементы системы функционируют некорректно или не так удобны, как хотелось бы, находят причины этого — ошибки в коде, дизайне или логике — и отдают на исправление. Все это делается для того, чтобы конечные пользователи получили стабильный, надежный и удобный продукт.
Какие навыки нужны начинающему тестировщику
Поскольку тестирование применимо к самым разным областям, то для работы тестировщику могут понадобиться различные знания. Однако что-то общее есть во всех случаях: нужно, во-первых, знать теорию тестирования, ну а уже дальше — обладать некоторым объемом знаний по тестируемой системе и используемым в ней технологиям.
С теорией все довольно понятно: потенциальный работодатель будет хотеть от вас знаний о том, что такое тестирование, зачем оно нужно в цикле разработки и какое место в ней занимает. Также хорошо бы знать основные методологии разработки (AGILE, SCRUM и прочие страшные слова) — просто для того, чтобы вы могли работать в команде, которая функционирует по определенным правилам. Также неплохо знать, как грамотно написать дефект, что такое тест-кейсы и как их нужно составлять, что такое чек-листы, когда лучше использовать кейсы, а когда проще ограничиться чек-листом.
Если теория тестирования применима ко всем областям, то технические навыки, которые вам понадобятся, зависят от области, в которой вы решили работать. Скажем, если вы хотите заниматься тестированием в области веб-приложений, то очень полезно знать, как работает браузер и из чего состоит веб-страница. И вряд ли это вам пригодится, если вы будете заниматься тестированием бортовых систем самолета.
Впрочем, самые популярные направления разработки сейчас — это именно веб и мобильные платформы. С вебом уже разобрались, а для тестирования мобильных устройств нужно знать особенности построения мобильных приложений, их жизненные циклы и отличия от десктопных приложений, особенности Android и iOS, ну и хорошо бы также ознакомиться с руководствами по дизайну приложений для мобильных устройств от разработчиков обеих систем.
Наконец, практически любая современная программа будет использовать базы данных, так что вам нужно будет узнать, что это такое, и научиться писать простые SQL-запросы.
Нужно ли тестировщику уметь программировать
Вопрос, при выяснении которого сломано немало копий: нужно ли тестировщику уметь программировать. Здесь существуют разные мнения, но все сходятся в том, что умение программировать точно не помешает. На старте оно может и не понадобиться, но будет несомненным плюсом. Навыки программирования могут пригодиться как для понимая того, что происходит в тестируемом приложении, так и для автоматизации каких-то рутинных задач, даже если вы не идете именно в автоматизированное тестирование. Если же вас интересует область автоматизации тестирования, то тут ответ однозначен: вам нужно учить какой-нибудь язык программирования. Если вы уже работаете, то хороший вариант — учить тот язык, на котором в вашей компании ведется разработка. Если еще нет — учите любой из популярных сегодня языков.
Если уж мы говорим про языки, то тестировщику очень полезно знать еще один язык — английский. Хотя бы на уровне чтения документации. Без этого можно работать, но множество материалов сейчас на английском, и его знание может очень помочь.
Как учиться начинающему тестировщику ПО
Учиться лучше так, как удобнее лично вам: по книгам, по статьям, по видеокурсам — или по всему сразу. К счастью, про тестирование очень много материалов в любой форме, так что с поиском информации проблем возникнуть не должно.
Есть множество блогов от известных тестировщиков, есть статьи по тестированию на тематических ресурсах, YouTube полон видеокурсов, в том числе от крупных компаний, есть множество докладов с конференций по тестированию, которые может быть полезно посмотреть. Кстати, на конференциях часто бывают доклады именно для начинающих тестировщиков.
Кроме того, есть образовательные платформы вроде Coursera или Udemy с обучающими курсами, в том числе бесплатными.
Можете начать погружение в тему с книг — приведем четверку самых, на наш взгляд, полезных:
Некоторым из них уже по 20 лет, а написаны они не очень простым языком, но по-прежнему актуальны — особенно как база для начинающих.
Если решите записаться на один из множества платных курсов для начинающих тестировщиков, помните: не все они одинаково полезны, и не всегда в них есть что-то, чего нет в бесплатных.
Пожалуй, основное отличие платных — наличие преподавателя, который сможет ответить на ваши вопросы. Помимо прочего, многие IT-компании открывают собственные школы QA-инженеров и затем принимают самых способных учеников в штат. Обратите на них внимание, если вам хочется попасть к какому-то конкретному работодателю.
Как начать карьеру тестировщика
Когда поймете, что готовы перейти к реальным проектам, выберите какой-нибудь сайт или приложение и попробуйте его протестировать. Подготовьте тест-кейсы, составьте чек-листы для проверки работоспособности, подумайте, как бы вы проследили взаимодействие продукта с его серверной частью — бэкендом.
Первые реальные проекты лучше искать на платформах для краудтестинга. Там компании предлагают всем желающим протестировать их продукт на определенном устройстве и ОС. Скорее всего, работать придется за идею, то есть бесплатно, зато вы наберетесь опыта и посмотрите, как опытные QA-инженеры ведут дефекты.
Неплохой старт для начинающего тестировщика — проект с открытыми исходным кодом и баг-трекером. Это уже не только практика, но и неплохое дополнение к вашему резюме.
Наконец, не забывайте про стажировки в IT-компаниях. На много денег поначалу рассчитывать не стоит, однако если вы проявите себя, есть шанс получить приглашение на работу или рекомендацию для будущих собеседований.
Бета-тестеры и тестировщики ПО
Еще один вариант для старта карьеры — это бета-тестирование. В этом случае вы будете проверять работу программы с точки зрения конечных пользователей. Основная задача бета-тестеров — найти максимальное количество ошибок, а также определить, насколько продукт удобен.
Бета-тестерам не приходится писать скрипты и взаимодействовать с изнанкой программ, так что их работа проще и не требует глубоких знаний, поэтому вы сможете совмещать бета-тестинг с освоением теории. Такая работа развивает мышление тестировщика, учит искать в программе ошибки, позволяет придумывать и проверять неочевидные пользовательские сценарии. Это хорошая практика, которая сделает ваши резюме и портфолио еще привлекательнее.
Крупным IT-компаниям — разработчикам игр, приложений для ПК и мобильных устройств, чьими продуктами пользуются миллионы людей, бывает сложно проработать все пользовательские сценарии. Так что не удивляйтесь: «Лаборатория Касперского» тоже ищет бета-тестеров. Хотите стать одним из них? От вас потребуется только компьютер, который поддерживает актуальную версию антивируса. Желательно установить на него виртуальную машину (например, Hyper-V или VMware), чтобы не превращать в тестовый полигон собственный ПК. Минимальные характеристики для комфортной работы — 4 Гбайт оперативной памяти, а также процессор с двумя, а лучше четырьмя физическими ядрами.
Если хотите попробовать себя в роли тестировщика — пробуйте, это полезная и востребованная профессия, да и порог входа в нее не такой уж высокий. В общем, дерзайте! Ну и смело жмите сюда, если хотите получить опыт бета-тестирования в Kaspersky.
Как из джуниор-тестировщика вырасти в хорошего тестировщика? Продолжение
Где учиться начинающим тестировщикам более-менее понятно всем: существует много статей, курсов, книг и мануалов. А вот что делать тем, кто вырос из джуна в мидла — непонятно. В преддверии конференции DUMP, мы спросили опытных тестировщиков, что они посоветуют джуниорам, которые хотят расти.
Первым на наши вопросы ответил «дедушка русского тестирования» Александр Александров. В этом посте своим мнением поделились: руководитель отдела тестирования в СКБ Контур Максим Захаров, Senior QA Engineer в Exadel, участник RSTQB Илья Вахрушев, тестировщик в Badoo Арсений Батыров и эксперт в автоматизации тестирования и тренер по инженерным практикам в Альфа-Лаборатории Анастасия Асеева.
Максим Захаров, руководитель отдела тестирования в СКБ Контур
После какого события джун перестает быть джуном и становится тестировщиком?
В стандарте «Тестировщик в Контуре» я описал так: «Без контроля с требуемым качеством выполняет все стандартные задачи тестировщика в проекте. Команда доверяет результатам работы. Перепроверка не требуется. Со старшими товарищами сформулировал свой план на год».
Для себя формулирую: в тот момент, когда перестает делать, что скажут, и начинает делать, что нужно.
Но этот вопрос далеко не такой интересный, как «После какого события мидл становится сеньором?»
Насколько сильно команда повлияла на твое становление как тестировщика?
Я уже писал об этом. Определяющую роль в том, кто я и чем занимаюсь сыграли не столько команды, сколько конкретные люди, с которыми стоит работать и ради которых иногда стоит сменить команду и даже компанию. Не всегда это были тестировщики.
Курсов и материалов для начинающих тестеров много, а что делать «продолжающим?» Как найти действительно хорошие конференции и события?
Если ты начинающий, значит успел побывать на одной или нескольких конференциях. Раз хочешь стать продолжающим — что-то тебя на них и в профессии зацепило. Сходи на конференцию в роли докладчика, а затем и организатора. Мне эта дорога понравилась. В Екатеринбурге можно или напрямую обратиться к организаторам всего ДАМП-а, или попасть на ДАМП через сообщество, которое создает на этой конференции секцию тестирования.
Ты — тестировщик, ты торгуешь информацией, а значит умеешь искать. У кого ты учишься? С кем хочешь работать? Где и с кем общаются эти люди? Конференция — это нечто большее, чем список докладов.
Опытный крутой тестер твоей мечты. Как ты узнаешь его из тысячи?
Яростная преданность и интерес к профессии, жадность к новой информации и готовность спорить и доказывать, соглашаться и искать новое. В общем случае, это неравнодушие к делу, которому служишь.
Чем бы ты занимался, если не тестированием?
Сделал бы карьеру в армии, говорят, там можно людей убивать.
Илья Вахрушев, Senior QA Engineer в Exadel, участник RSTQB
После какого события джун перестает быть джуном и становится тестировщиком?
Сложно выделить конкретное событие, но в то же время изменения довольно резкие. Человек нажимает кнопки, находит ошибки, спрашивает себя, почему пропустил ту или иную. И вскоре в голове происходит щелчок, после которого формируется некоторое представление о «качестве» и вопрос, что же на него влияет. Появление этой осознанности я бы и назвал переломным моментом.
Насколько сильно команда повлияла на твое становление как тестировщика?
Первая моя команда сделала многое, чтобы я не заскучал в тестировании — за что я ей сильно благодарен. Давала возможность применить критическое мышление в самых разнообразных ситуациях, не утопила в рутине задач. С остальными коллегами повезло не меньше — кто-то помогает решать проблемы, кто-то указывает на новые.
Курсов и материалов для начинающих тестеров много, а что делать «продолжающим?» Как найти действительно хорошие конференции и события?
Отличный способ научиться разбираться в этом — самому принять участие. Отсутствие организаторских способностей или недостаток каких-либо компетенций не помеха. Стоит только попробовать и найдется куча желающих помочь — проверено на собственном опыте.
В целом же, обучение «ведущих» специалистов должно быть проактивным и разносторонним. Даже если вы хотите развиваться в конкретной области, стоит изредка интересоваться, чем занимаются ваши коллеги по цеху. Неплохим подспорьем в этом будет сдача ISTQB — наработаете общий словарь для общения с коллегами, найдете пробелы в своих знаниях или темы, над которыми стоит поработать.
Опытный крутой тестер твоей мечты. Как ты узнаешь его из тысячи?
Случайно пересечемся на конференции и будем обсуждать тему самого унылого доклада, пока организаторы не начнут выгонять нас.
Чем бы ты занимался, если не тестированием?
Пошел бы в науку. А может быть, стал бы столяром или уличным художником.
Арсений Батыров, тестировщик в Badoo
После какого события джун перестает быть джуном и становится тестировщиком?
Джуниор — это, конечно, тоже тестировщик. Более того, мидл из небольшой компании может быть джуном в более серьёзном месте. Это, если что, личный опыт. Не думаю, что есть какое-то событие, которое превращает джуниора в мидла. Скорее это длительный процесс, в ходе которого человек узнаёт азы тестирования, разбирается в продукте и учится работать в команде. Условно, джун становится мидлом, когда может самостоятельно и без сторонней помощи решать задачи в рамках своих компетенций.
Насколько сильно команда повлияла на твое становление как тестировщика?
Я никогда не выделял команду как важную величину, но прекрасно понимаю, что все мои навыки и умения сформировались только благодаря окружающим меня людям. Причём от каждой компании, в которой я работал, я взял что-то новое: в Аквелоне меня научили тестировать с нуля и подарили страсть к своему делу, в ХФ Лабс я вместе со всеми всматривался в мелкие детали, учился ответственности за поставленные задачи и работал с клиентами, а в Badoo я узнал, что такое настоящая эффективность.
Курсов и материалов для начинающих тестеров много, а что делать «продолжающим?» Как найти действительно хорошие конференции и события?
Это естественный ход вещей. Начинающие — более широкая и благодарная аудитория, для неё легче и выгоднее писать обучающие материалы. Думаю, с развитием отрасли будет больше конференций, курсов и митапов именно для продолжающих — нужно просто создавать на это спрос.
Для выбора конференции я всегда задаю себе один и тот же вопрос: какую задачу решает моё посещение этого события? Если никакую — то не еду.
Опытный крутой тестер твоей мечты. Как ты узнаешь его из тысячи?
Если я буду его нанимать? Сложный вопрос. Я провёл не один десяток собеседований, но крутых спецов собеседовал всего пару раз. Помимо знания тестирования, такой спец должен неплохо ориентироваться в рынке, обладать системным мышлением и понимать ценность продукта для клиента. Думаю, разговора в полтора-два часа будет достаточно, чтобы удостовериться в состоятельности человека.
Чем бы ты занимался, если не тестированием?
Тем, чем уже занимаюсь — бизнесом. Правда, он всё ещё связан с тестированием. Хороший подход — интегрировать свою экспертизу из двух разных сфер жизни. Я, например, умею неплохо говорить и кое-что смыслю в IT. Из этого уже можно извлечь многое. Я вот пока извлёк курсы по тестированию мобильных приложений. Но на этом я останавливаться не хочу, в ближайшее время буду запускать и другие проекты.
Анастасия Асеева, эксперт в автоматизации тестирования и тренер по инженерным практикам в Альфа-Лаборатории
После какого события джун перестает быть джуном и становится тестировщиком?
По своему опыту могу сказать, что джун становился тестировщиком тогда, когда его не страшно было оставлять с командой одного. То есть я как руководитель была уверена в том, что он способен качественно протестировать ПО и команда доверяет его мнению. А покуда я буду сомневаться в его способности проектировать тестовую модель, разбираться в тестируемом ПО — он для меня будет оставаться джуном.
Если ревью тестовой модели проходит успешно в течение пары месяцев, и от команды исходит положительный фидбек относительно качества выполняемой работы, то человек хорошо прокачался и считать его уже джуном некорректно.
Насколько сильно команда повлияла на твое становление как тестировщика?
Мой первый опыт тестировщика случился в чудесной команде, где было много разработчиков, а я была единственным тестировщиком. И моя команда настолько верила в меня, что прокачала меня по всем направлениям: я стала разбираться в веб-разработке, сумела провести свое первое в жизни нагрузочное тестирование и даже стала писать автотесты. Фактически они стали драйверами моего профессионального развития.
Курсов и материалов для начинающих тестеров много, а что делать «продолжающим?» Как найти действительно хорошие конференции и события?
Я придерживаюсь мнения, что все инженеры должны уметь программировать. И что рано или поздно, но наступит момент, когда 90% всего тестирования будет автоматизированным. И в качестве ручной работы останется только тестирование UX и тестирование интерфейса пользователя. Поэтому всем «продолжающим» необходимо изучать ЯП и учиться писать автотесты. А если они это уже делают, то можно развивать свои навыки разработчика. Ведь скоро будет весьма востребована позиция SDET (Software Developer in Test).
Чтобы найти хорошие конференции, используйте Google. И у меня есть хорошая новость: я запустила канал в Telegram, куда добавляю все IT-мероприятия, что попались мне на глаза. В будущем планирую написать для канала бота, с помощью которого мероприятия будут добавляться автоматически.
Опытный крутой тестер твоей мечты. Как ты узнаешь его из тысячи?
Любознательный, постоянно развивающийся человек. Постоянно что-то изучает, в свободное время частенько «задротит», потому что ему это интересно. В курсе трендов отрасли.
Чем бы ты занималась, если не тестированием?
Стала бы разработчиком. Или пианисткой.
13 апреля в Екатеринбурге пройдёт конференция разработчиков DUMP, на которой традиционно будет секция, посвященная тестированию. В программе секции: Арсений Батыров (Badoo) проведёт мастер-класс по автоматизации мобильных приложений, Анастасия Асеева (Альфа-Лаборатория) расскажет про командную ответственность за качество, Мария Глухова (Targem Games) про работу с добровольными помощниками, Иван Румак (СКБ Контур) объяснит, что тестирование безопасности может предложить тестировщику, а Владимир Лихтанский (Plesk) научит, как тестировать приложения, если они написаны не вами.