Как стать тестировщиком приложений
Рассказываем, какие книги читать и какие технологии осваивать, чтобы стать тестировщиком ПО.
Тестировщик ПО (или QA-инженер) — распространенная отправная точка для тех, кто хочет начать карьеру в IT-индустрии, и просто востребованная профессия. Мы расскажем, где новичкам набраться полезных навыков и знаний, а также заработать заветные строчки для резюме и проекты для портфолио.
Чем занимаются QA-инженеры
Тестировщики ПО помогают делать продукты — приложения, сайты, программы, автомобили — такими, чтобы ими можно было пользоваться. Они определяют, какие элементы системы функционируют некорректно или не так удобны, как хотелось бы, находят причины этого — ошибки в коде, дизайне или логике — и отдают на исправление. Все это делается для того, чтобы конечные пользователи получили стабильный, надежный и удобный продукт.
Какие навыки нужны начинающему тестировщику
Поскольку тестирование применимо к самым разным областям, то для работы тестировщику могут понадобиться различные знания. Однако что-то общее есть во всех случаях: нужно, во-первых, знать теорию тестирования, ну а уже дальше — обладать некоторым объемом знаний по тестируемой системе и используемым в ней технологиям.
С теорией все довольно понятно: потенциальный работодатель будет хотеть от вас знаний о том, что такое тестирование, зачем оно нужно в цикле разработки и какое место в ней занимает. Также хорошо бы знать основные методологии разработки (AGILE, SCRUM и прочие страшные слова) — просто для того, чтобы вы могли работать в команде, которая функционирует по определенным правилам. Также неплохо знать, как грамотно написать дефект, что такое тест-кейсы и как их нужно составлять, что такое чек-листы, когда лучше использовать кейсы, а когда проще ограничиться чек-листом.
Если теория тестирования применима ко всем областям, то технические навыки, которые вам понадобятся, зависят от области, в которой вы решили работать. Скажем, если вы хотите заниматься тестированием в области веб-приложений, то очень полезно знать, как работает браузер и из чего состоит веб-страница. И вряд ли это вам пригодится, если вы будете заниматься тестированием бортовых систем самолета.
Впрочем, самые популярные направления разработки сейчас — это именно веб и мобильные платформы. С вебом уже разобрались, а для тестирования мобильных устройств нужно знать особенности построения мобильных приложений, их жизненные циклы и отличия от десктопных приложений, особенности Android и iOS, ну и хорошо бы также ознакомиться с руководствами по дизайну приложений для мобильных устройств от разработчиков обеих систем.
Наконец, практически любая современная программа будет использовать базы данных, так что вам нужно будет узнать, что это такое, и научиться писать простые SQL-запросы.
Нужно ли тестировщику уметь программировать
Вопрос, при выяснении которого сломано немало копий: нужно ли тестировщику уметь программировать. Здесь существуют разные мнения, но все сходятся в том, что умение программировать точно не помешает. На старте оно может и не понадобиться, но будет несомненным плюсом. Навыки программирования могут пригодиться как для понимая того, что происходит в тестируемом приложении, так и для автоматизации каких-то рутинных задач, даже если вы не идете именно в автоматизированное тестирование. Если же вас интересует область автоматизации тестирования, то тут ответ однозначен: вам нужно учить какой-нибудь язык программирования. Если вы уже работаете, то хороший вариант — учить тот язык, на котором в вашей компании ведется разработка. Если еще нет — учите любой из популярных сегодня языков.
Если уж мы говорим про языки, то тестировщику очень полезно знать еще один язык — английский. Хотя бы на уровне чтения документации. Без этого можно работать, но множество материалов сейчас на английском, и его знание может очень помочь.
Как учиться начинающему тестировщику ПО
Учиться лучше так, как удобнее лично вам: по книгам, по статьям, по видеокурсам — или по всему сразу. К счастью, про тестирование очень много материалов в любой форме, так что с поиском информации проблем возникнуть не должно.
Есть множество блогов от известных тестировщиков, есть статьи по тестированию на тематических ресурсах, YouTube полон видеокурсов, в том числе от крупных компаний, есть множество докладов с конференций по тестированию, которые может быть полезно посмотреть. Кстати, на конференциях часто бывают доклады именно для начинающих тестировщиков.
Кроме того, есть образовательные платформы вроде Coursera или Udemy с обучающими курсами, в том числе бесплатными.
Можете начать погружение в тему с книг — приведем четверку самых, на наш взгляд, полезных:
Некоторым из них уже по 20 лет, а написаны они не очень простым языком, но по-прежнему актуальны — особенно как база для начинающих.
Если решите записаться на один из множества платных курсов для начинающих тестировщиков, помните: не все они одинаково полезны, и не всегда в них есть что-то, чего нет в бесплатных.
Пожалуй, основное отличие платных — наличие преподавателя, который сможет ответить на ваши вопросы. Помимо прочего, многие IT-компании открывают собственные школы QA-инженеров и затем принимают самых способных учеников в штат. Обратите на них внимание, если вам хочется попасть к какому-то конкретному работодателю.
Как начать карьеру тестировщика
Когда поймете, что готовы перейти к реальным проектам, выберите какой-нибудь сайт или приложение и попробуйте его протестировать. Подготовьте тест-кейсы, составьте чек-листы для проверки работоспособности, подумайте, как бы вы проследили взаимодействие продукта с его серверной частью — бэкендом.
Первые реальные проекты лучше искать на платформах для краудтестинга. Там компании предлагают всем желающим протестировать их продукт на определенном устройстве и ОС. Скорее всего, работать придется за идею, то есть бесплатно, зато вы наберетесь опыта и посмотрите, как опытные QA-инженеры ведут дефекты.
Неплохой старт для начинающего тестировщика — проект с открытыми исходным кодом и баг-трекером. Это уже не только практика, но и неплохое дополнение к вашему резюме.
Наконец, не забывайте про стажировки в IT-компаниях. На много денег поначалу рассчитывать не стоит, однако если вы проявите себя, есть шанс получить приглашение на работу или рекомендацию для будущих собеседований.
Бета-тестеры и тестировщики ПО
Еще один вариант для старта карьеры — это бета-тестирование. В этом случае вы будете проверять работу программы с точки зрения конечных пользователей. Основная задача бета-тестеров — найти максимальное количество ошибок, а также определить, насколько продукт удобен.
Бета-тестерам не приходится писать скрипты и взаимодействовать с изнанкой программ, так что их работа проще и не требует глубоких знаний, поэтому вы сможете совмещать бета-тестинг с освоением теории. Такая работа развивает мышление тестировщика, учит искать в программе ошибки, позволяет придумывать и проверять неочевидные пользовательские сценарии. Это хорошая практика, которая сделает ваши резюме и портфолио еще привлекательнее.
Если хотите попробовать себя в роли тестировщика — пробуйте, это полезная и востребованная профессия, да и порог входа в нее не такой уж высокий. В общем, дерзайте! Ну и смело жмите сюда, если хотите получить опыт бета-тестирования в Kaspersky.
Руководитель отдела тестирования Bookmate Анастасия Шарикова провела в «Нетологии» открытое занятие, на котором рассказала: кто такие тестировщики, сколько они получают и как освоить профессию. Зафиксировали главное.
Тестирование — полноценная специальность в ИТ с относительно низкими начальными требованиями, в сравнении с требованиями к начинающим разработчикам. Именно поэтому тестирование так привлекает тех, кто не работал в ИТ.
Руководитель отдела тестирования Bookmate, преподаватель «Нетологии» на курсе «Тестировщик»Эта статья для новичков, которые только присматриваются к отрасли. Рассказываем, чем занимаются тестировщики, сколько зарабатывают и что нужно уметь, чтобы получить первую работу.
Тестировщик или QA (Quality Assurance, специалист по качеству) проверяет программное обеспечение и помогает команде избавляться от ошибок и предотвращать их появление. В теории тестировщик и QA — названия для одной из той же профессии. Но работодатели часто разграничивают понятия:
Тестировщик. Уровень — Junior, новичок. Выполняет простую ручную работу и не связан с процессами улучшения качества продукта в целом. Выявляет и устраняет ошибки, но ещё не работает над их предотвращением.
QA (Quality Assurance). Уровень — Middle и выше, с опытом работы от 1–2 лет. Занимается повышением качества продукта на всех этапах разработки:
- разрабатывает и устанавливает стандарты качества;
- анализирует качество;
- выбирает инструменты тестирования;
- обдумывает, как предотвратить ошибки;
- совершенствует процессы обеспечения качества.
Чтобы наглядно объяснить, чем занимаются тестировщики, приведу пример заданий для соискателей-джуниоров. Чаще всего джуниоров просят протестировать бытовые программы, например, калькулятор. Иногда — найти ошибки в том сервисе, куда они устраиваются.
Если это приложение, соискателя просят найти десять ошибок в нём. Это довольно банальные примеры, но по ним можно понять, что ищут работодатели.
Насколько востребованы и сколько получают тестировщикиОшибки могут быть в любых программах. Поэтому тестировщиков нанимают все крупные компании, которые разрабатывают программное обеспечение. А еще фирмы, которые предоставляют услуги тестирования для мелких компаний-разработчиков без своего отдела QA.
Зарплаты тестировщиков ниже, чем у разработчиков, но выше средних по стране. Уровень дохода зависит от опыта QA: Junior получают около $600, Lead могут претендовать на $2300 и больше.
Что нужно уметь новичку, чтобы устроиться на работуНужные навыки соискателя зависят от конкретной вакансии. Как правило, работодатели сразу пишут в описании, чего ждут от сотрудника. Чтобы устроиться на работу, как минимум, нужно уметь:
Находить и правильно заводить дефекты — определять, с каким разделом программы связана ошибка, в какой версии операционной системы или браузера воспроизводится.
Разбираться системами баг-трекинга 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 — программисты, может не самые лучшие, но приходится именно программировать и повторяющуюся работу надо скриптовать.
Если специалист делает одно и тоже (регрессия), то явно с его навыками что-то не так, более того:
- выкатили фичу, ты с разных сторон ее проработал, но даже в этой проработке приходится по несколько раз добавлять в БД данные, удалять и проводить по 3-4 шага, чтобы воспроизвести нормальную работу, а тту бамц — баг и так несколько раз.
Что это? Хорошая статья по полочкам на VC?
Это реклама курсов
Статью лучше переименовать в "О чём важно знать, чтобы стать тестировщиком *в Bookmate*: советы новичкам". Чтобы не вводить людей в заблуждение.
С каких пор тестировщик и QA - это одно и тоже? Смотрите глоссарий ISTQB и не вводите людей в заблуждение.
Савина в советы для джунов включают везде и всегда, к сожалению. Хотя, эта книга содержит в себе вольный пересказ теории тестирования, описывает устаревшие процессы, она на 70% неактуальна, также в ней есть ошибки. Люди потратят на это свое время, при этом получат минимум информации. "Ключевые процессы тестирования" для джунов будет слишком сложной и скучной, ее лучше читать, когда у тебя уже есть опыт в тестировании, чтобы понять, что куда и зачем, а также как тебе расти. Например, когда ты с миддла хочешь перейти в синьоры. Для джунов самая нормальная книга - это книга с теорией от Святослава Куликова, там много полезной информации, которая поможет пройти собеседование.
Всегда была интересна эта тема, только вот лично я не видел что-бы "в обьявлениях на заборе" висел листок с вакансии тестера.
Но все же, было бы любопытно окунутся в эту сферу.
Многие думают о том, чтобы связать свою жизнь с информационными технологиями, но не могут определиться, с чего же всё-таки начать освоение новой профессии. Возникает множество вопросов: получится ли, какое направление выбрать, сколько времени займет обучение.
И вместе с этим ростом открываются множество курсов по обучению, которые за свои услуги берут большие деньги. Порой эти деньги для человека который хочет сменить род деятельности и зарабатывать больше в большинстве своих случаев являются неподъемной суммой.
Мы решили, что было бы хорошо обучать желающих строить карьеру в IT за небольшие деньги, но при этом дать максимальный объем теоретических знаний и практических навыков.
Собственно говоря, так и возникла идея создания Обучающего портала ItStepByStep.
Наши первые обучающие материалы будут связаны с тестированием программного обеспечения.
Мы точно знаем, что стать IТ-специалистом – это просто!
Приобретайте обучающие материалы и сделайте шаг навстречу новой специальности!
Позиция тестировщика считается одним из самых простых способов быстро войти в отрасль информационных технологий. Ходят слухи, что эту профессию легко освоить, работа у тестировщика — не бей лежачего, да и платят специалисту по тестированию программного обеспечения почти как программисту. Насколько эта информация достоверна? Давайте разбираться.
Кто такой тестировщик, за что отвечает и чем занимается
Тестировщик программного обеспечения планирует и выполняет тестирование приложений, отлаживает код, улучшает юзабилити программ. Часто к названию профессии добавляют латинские буквы q и a: qa тестировщик. Также употребляют название qa инженер. В латинских буквах спрятана суть деятельности тестировщика. Подробности ниже.
За что отвечает тестировщик
QA произошло от английских слов quality assurance — обеспечение качества. Это часть разработки, которая управляет качеством продукта. QA — широкое понятие, а работа над обеспечением качества начинается задолго до написания первой строки кода будущего приложения. В идеальном мире инженер по качеству работает над продуктом если не на этапе генерации идей, то на этапе исследования рынка и изучения потребностей целевой аудитории.
В широкое понятие QA входит ещё одно направление деятельности: QC, quality control или контроль качества. Инженеры QC контролируют продукт на этапе разработки и поддержки. Тестирование программного обеспечения — один из инструментов контроля качества. То есть тестировщик проверяет приложение в рамках мероприятий по контролю качества (QC), которые входят в комплекс работ по обеспечению качества (QA).
В широком смысле тестировщики участвуют в создании полезного для пользователей программного обеспечения. Если конкретизировать, тестировщики контролируют качество приложений, над которыми работает организация.
Чем занимается тестировщик
Как сказано выше, тестировщики проверяют программное обеспечение. Разберёмся, как они работают.
Есть ручное и автоматизированное тестирование ПО. Соответственно, специалисты по ручному тестированию проверяют приложения вручную, а специалисты по автоматизированному тестированию работают с помощью программ.
Ручной тестировщик по сути вручную имитирует действия пользователя приложения. Специалист убеждается, что программа работает как ожидается в разных сценариях взаимодействия. Ручное тестирование иногда называют поведенческим или тестированием методом чёрного ящика. Но автоматические тесты тоже чаще всего проводятся с использованием стратегии чёрного ящика.
Стратегией чёрного ящика называется подход, при котором объект тестируется без использования знаний о его внутреннем устройстве.
При планировании поведенческих тестов специалист учитывает технические требования к программному обеспечению. Пример: в спецификации указано, что после регистрации нового пользователя приложение отправляет письмо с подтверждением на указанный электронный адрес. Тестировщик регистрируется в приложении и проверяет, пришло ли соответствующее письмо.
Ручное тестирование — самый простой способ оценки качества приложения. Тестировать приложение вручную — «дорогая» операция, так как скорость и точность проверок ограничена возможностями тестировщиков.
Автоматизированное тестирование подразумевает проверку приложений с помощью программного обеспечения. Это не значит, что для автоматических проверок не нужны тестировщики. Напротив, специалист по автотестам должен знать и уметь больше, чем ручной тестировщик.
Вот примерное описание работы эксперта по автоматизированному тестированию. В первую очередь он выбирает тест-кейсы или функции приложения, которые нужно проверить. Обычно для автотестов выбирают критичные для работы ПО функции, например, обработку платежей, сохранение пользовательских данных. Автотестирование подходит, когда тесты повторяются неоднократно или для проверки функции приложения нужно использовать большие объёмы данных.
Затем тестировщик выбирает инструменты, планирует и реализует дизайн проверки. На этом этапе специалист готовит данные для тестов, настраивает инструменты, устанавливает расписание тестирования. Тесты запускаются, результаты тестирования автоматически фиксируются. Специалист анализирует полученные данные и передаёт информацию разработчикам.
Автоматизация тестов экономит ресурсы организации. Она позволяет с минимальными усилиями повторно тестировать приложения, требует меньше времени по сравнению с ручными тестами, сокращает количество ошибок.
Промежуточный итог: тестировщики контролируют качество программного обеспечения. Эта деятельность входит в комплекс работ по QA — обеспечению качества приложений. Тестирование бывает ручным и автоматизированным. Ручное тестирование предполагает проверку приложений вручную, а для автоматических тестов специалисты используют программы.
Работа тестировщиком: где работают QA-инженеры, сколько зарабатывают, какие вакансии есть на рынке
Тестировщики трудятся в командах, которые занимаются разработкой программного обеспечения. Это скорее средние и крупные компании, которые делают собственный продукт или работают по модели аутсорсинга.
QA-инженеров и QC-тестировщиков часто привлекают команды, которые используют DevOps. В таких командах разработка, тестирование и поддержка ПО выполняется циклически с использованием подходов Agile или Scrum.
Сколько зарабатывают тестировщики
По данным QA-инженера Антона Якутовича, на рынке есть несколько уровней тестировщиков. Новички получают меньше $600 в месяц, зарплата специалистов среднего уровня составляет от $1500, опытные специалисты получают до $2300. Эксперты по автоматизации тестирования экстракласса могут рассчитывать на зарплату от $2300 в месяц.
Большая часть вакансий открыта в Москве и Санкт-Петербурге. Но тестировщики требуются и в регионах. Например, в Новосибирской области открыто 293 вакансии по тестированию, в Татарстане — 219 вакансий, в Свердловской области — 210 вакансий.
Как стать тестировщиком: что надо знать и где учиться
В этом разделе говорим о необходимых для тестировщиков знаниях и об обучении. Важно понимать, что требования к соискателям отличаются от компании к компании, поэтому ниже вы найдёте обобщённую информацию.
Что должен знать и уметь тестировщик, какие софт-скилы нужны этому специалисту
В первую очередь специалист должен изучить основы тестирования. Классификация тестирования, методы и инструменты, создание сценариев тестирования, — вот базовый набор знаний, с которого будущие QA-тестеры начинают знакомство с профессией.
Тестировщик должен уметь работать с командной строкой, знать браузеры и инструменты разработчиков. Также понадобится умение работать с инструментами автоматического тестирования, например, HP-UFT (бывший QTP), Selenium, Sahi и так далее.
Специалисты называют разные софт-скилы, которыми должны обладать тестировщики. К специфичным для этой профессии мягким навыкам можно отнести внимательность к мелочам, критическое мышление, умение анализировать информацию.
Где учиться тестированию
Профессии «Тестировщик» на Хекслете пока нет. Тем не менее у нас есть полезные для будущих тестировщиков курсы и интенсивы. Вот некоторые из них:
Также вы можете посмотреть программы обучения в других школах. Например, курсы для будущих специалистов в области QA есть в «Тинькофф Образование», «Нетологии», GeekBrains, Skillbox и в других русскоязычных школах. А если вы владеете английским языком, можете пройти курсы на известных англоязычных площадках, включая Udacity, edX, Udemy, Coursera и так далее.
Промежуточный итог: чтобы работать тестировщиком, нужны специальные знания, включая основы тестирования, основы программирования, системы контроля версий, инструменты автоматизации и так далее. Часть знаний будущие тестировщики могут получить на Хекслете.
Профессия глазами профессионалов: комментарии экспертов о работе тестировщиков, перспективах и обучении
Мы обратились к опытным специалистам в сфере QA, чтобы узнать о нюансах профессии тестировщик. Они ответили на несколько вопросов о профессии.
Константин Виноградов: после курсов программистов можно смело становиться тестировщиком
Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?
Константин Виноградов: Проще сказать, чем они похожи: оба специалиста работают над тем, чтобы на выходе получился качественный продукт, отвечающий требованиям заказчика. В остальном это совершенно разные направления работы.
Конечно, есть отдельные специализации, такие, как специалист по автоматизации тестирования (test automation engineer) или разработчик в тестировании (software development engineer in tests), чья работа почти идентична работе программиста. Она предполагает написание кода автоматических тестов и тестовых фреймворков.
Но в целом задачи тестировщика слабо перекликаются с задачами программиста. Анализ требований, составление тестового плана с учетом покрытия требований, выполнение ручного тестирование и запуск автотестов, подготовка отчетов — вот работа тестировщика. Если не рассматривать уровень простого мануального тестирования, я бы сказал, что такая работа имеет значительно большую аналитическую составляющую, чем техническую.
Валидация продукта требует от тестировщика достаточно большого кругозора, так как приходится смотреть на продукт глазами пользователя, понимать его потребности. Надо уметь «быть пользователем» и знать его потребности, что непросто, если речь идет о специализированных решениях. Надо знать отраслевые стандарты, которым должно соответствовать решение, и уметь это соответствие проверить. Надо уметь находить способы тестирования совместимости с конкурентными решениями.
Кроме того, от тестировщика требуется другое мышление. Способ думать разработчика должен привести его к одному правильному и оптимальному сценарию решения проблемы. Способ думать тестировщика ведёт его ко всему многообразию сценариев, которых, по определению, больше.
Еще раз повторюсь: мы не рассматриваем автоматизаторов и разработчиков в тестировании, потому что они, на мой взгляд, всё же разработчики, а не тестировщики.
Д. Д.: Кем проще стать: разработчиком или тестировщиком?
К. В.: Тестировщиком. Но не потому, что им быть проще. Просто порог входа ниже. Карьера разработчика начинается с позиции junior software developer, которая требует наличия минимальных знаний: язык программирования, основные алгоритмов и структур данных, знакомство с фреймворками и так далее. Чтобы стать джуном, ты уже должен быть разработчиком.
Карьера тестировщика начинается с уровня специалиста по ручному тестированию (manual testing): есть описание тестов, делай руками, вноси результаты в отчет. Очевидно, что начинать во втором случае проще.
Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?
К. В.: С финансовой — к позиции программиста. Вот только смотри пункт про образ мышления. Есть мнение, что тот, кто рожден быть хорошим тестировщиком, будет паршивым программистом. И наоборот.
И опять особняком автоматизаторы: часто их зарплаты сопоставимы с программистами. Именно потому, что они, по факту, занимаются разработкой, и им платят, чтобы они действительно не ушли в разработку.
Д. Д.: Чтобы проверять написанные программистами приложения, тестировщик должен разбираться в коде лучше программистов. Этот тезис верный или нет?
К. В.: Это очень сильно зависит от подхода к тестированию в конкретной компании. Часто бывают случаи, что тестировщику вообще не приходится заглядывать в код. Особенно это может касаться различных embedded решений или прошивок устройств. Но знать, как разрабатывается продукт, как он работает, и почему сделано именно так, тестировщик должен.
Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?
Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?
Все зависит от продуктового стека и того, чем автоматизируется тестирование. У меня:
- Linux/macos;
- VScode;
- Pytest;
- Jenkins;
- Gitlab.
Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?
К. В.: Не буду приводить примеров курсов, потому что ничего не могу о них сказать. Все коллеги-тестировщики учились сразу на производстве. После курсов программистов можно смело становится тестировщиком. Как и после других курсов. Потому как профессии отражают совершенно различный подход.
Станислав Урюпин: тестированию можно научиться только на практике
Станислав Урюпин, QA-инженер, руководитель волонтёрского образовательного проекта Sciberia
Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?
Станислав Урюпин: Избегая формальных определений, отсылающих к различным стандартам, описание разницы в работе программиста и тестировщика можно свести к следующему виду — работа программиста заключается в создании приложений, а работа тестировщика заключается в обеспечении их гарантированной работоспособности. Тем не менее у этих профессий общие цели — создание полноценных программ, которые используют другие люди и системы.
Д. Д.: Кем проще стать: разработчиком или тестировщиком?
С. У.: Начать карьеру в IT проще тестировщиком, чем разработчиком. Но за последние годы сложность разрабатываемых программ и предъявляемых требований сильно возросли. Данные изменения не могли не отразиться на работе тестировщика. В связи с этим повысился порог вхождения в профессию.
Теперь начинающему тестировщику уже недостаточно знать в общих чертах теорию и то, как составляются тест-кейсы. Нужно знать многое: начиная от того, как устроена специфика работы в конкретной области тестирования, заканчивая представлениями о современных методологиях разработки.
Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?
С. У.: На мой взгляд, неправильно подходить к выбору профессии, когда главным критерием выбора является уровень зарплаты. В этой позиции кроется одна уловка: очень сложно динамично развиваться в той профессиональной области, интерес к которой находится не на вершине мотивационного выбора. А не развиваясь динамично, нельзя рассчитывать на реальный рост зарплатных ожиданий. В любой области IT профессионалы высокого уровня могут получать достойную зарплату.
Д. Д.: Чтобы проверять написанные программистами приложения, тестировщик должен разбираться в коде лучше программистов. Этот тезис верный или нет?
С. У.: Этот тезис не является верным. Лучше самих программистов в коде не может и не должен разбираться кто-либо ещё. Тестировщики работают чаще всего по стратегии черного ящика, когда непосредственный доступ к коду закрыт для анализа. Зато тестировщику доступны различные способы и инструменты для определения работоспособности программ.
Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?
С. У.: Можно, но лишь отчасти. Всё зависит от конкретных целей. Например, часто новички работу в тестировании рассматривают как промежуточный этап перед переходом в разработку. Тестирование и разработка — это разные области деятельности. В каждой из них найдутся характерные особенности, без которых продуктивная работа невозможна. Потому неизбежно придётся тратить ресурсы на погружение в предметную область.
Если цель — пройти в разработчики или иные направления работы в IT, такие, как DevOps или аналитика, стоит отдельно изучать эти направления. Но получится ли это делать без падения продуктивности работы в тестировании, вопрос открытый.
Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?
С. У.: Область тестирования обширна, и в ней много направлений, в которых найдутся свои инструменты. Есть инструменты, которыми пользуются тестировщики независимо от направления. Например, cистемы управления тестированием или системы отслеживания ошибок.
Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?
С. У.: Тестированию, как и многому другому, можно научиться только на практике. Если нет опыта, с которым можно начать карьеру, стоит изучить теорию и воспользоваться готовыми решениями для практики. Например, выбрать сайт или мобильное приложение и попробовать научиться составлять тест-кейсы или изучить на предмет возможных ошибок.
Необходимо отдавать себе отчет в том, что ни одни курсы в мире не могут гарантировать трудоустройства, пока человек сам не будет стараться найти работу. Если пройти успешно курсы по программированию, и появится желание попробовать себя в тестировании, то знания, полученные на курсах, облегчают вход в профессию, так как области деятельности тесно связаны между собой.
Заключение: работодателям нужны тестировщики, а соискателям нужно учиться и практиковаться
Тестировщик — не человек с улицы, а квалифицированный специалист, который должен много знать и уметь, постоянно практиковаться и развиваться. Работодатели готовы платить достойные зарплаты специалистам по автоматизированному тестированию. Чтобы стать тестировщиком, нужно учиться самостоятельно или на курсах. По мнению экспертов, позицию тестировщика можно считать одним из простых способов войти в отрасль информационных технологий.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
Однажды, в очередной кризис, у меня опять резко закончились деньги. И я опять начал искать, где их взять. И тут мне на глазу попалась заметка, в которой рассказывалось про работу тестировщиком без опыта. Имеется в виду, тестировщик программного обеспечения. Это меня заинтересовало. Что это за такой «недопрограммист», который зарабатывает немного меньше «взрослого» программиста. Да еще и в баксах?
Несколько смущало то, что непонятно, где учиться этой «чудо-профессии». И как потом зарабатывать. И можно ли стартануть в этой профессии без опыта и без обучения? В статье было написано все слишком «в общем». Поэтому я решил разобраться во всем досконально сам. И докладываю вам результаты…
Ну а в конце статьи Вы узнаете про самый главный кошмар тестировщика…. Ну что, поехали ?
Тестировщик ПО Vs QA инженер. Кто есть ху ?
Итак. Для начала вообще нужно понять. А что это за профессия такая? И есть ли отличие между тестировщиком и QA инженером? Тестировщик программного обеспечения — это такой человек, который выискивает «косяки» в программах. Ошибки. Под программами подразумевается ооооочень широкий круг…. программ. От веб-сайтов до прошивки смарт телевизоров.
Так вот, работа тестировщика программного обеспечения как раз и заключается, чтобы по специальному алгоритму находить такие ошибка максимально эффективно.
Тестировщик ПО чем-то похож на охотника. Он также терпеливо выслеживает ошибки. И должен обладать терпением и внимательностью.
А кто же такой QA инженер? В переводе с буржуинского, Quality Assurance engineer, то бишь инженер, который гарантирует качество программы.
Вообще, если по секрету, тестировщик ПО и QA инженер — это фактически одно и тоже. И работу тестировщик ПО и QA инженер делают одну.
Только так сложилось, что тестировщик — это чаще всего начинающий специалист. Который ищет ошибки по разработанным другими людьми схемам. Обычно без всякой автоматизации. Ну тестировщик ПО обычно и не силен в программировании. Работает обычно на фрилансе.
А QA инженер — это уже «прокачанный» тестировщик. Он уже может и сам писать тест-планы. Может автоматизировать работу. Знает один или несколько языков программирования. Работает в штате компании.
Где научиться тестированию программного обеспечения
Ответ на этот вопрос достаточно простой. Если у Вас нет опыта в программировании, и хочется побыстрее начать работу тестировщика без опыта, то… изучайте краудтестинговые платформы. Что это такое? Об этом ниже…
На этих самых платформах обычно есть достаточно подробное обучение. И даже тестовые задания. Пройдя это обучение и выполнив успешно тестовое задание Вы уже будете понимать, кто и как делать.
Единственное, что часто такое обучение идет на английском языке. Хотя и достаточно простом. Но ведь Вы же знаете английский, не правда ли… :)
Если же Вы хотите работать в QA инженером, то без хороших курсов не обойтись. Я сейчас не буду рекламировать те или иные курсы. Их много. Только учтите, что эти курсы обычно достаточно дорогие. И длятся несколько месяцев.
Здесь Вас будут учить всем премудростям тестирования. И скорее всего заодно и основам нескольких языков программирования.
К сожалению, Вузовского образования по профессии QA инженер или тестировщик ПО я не нашел.
Ну и еще вариант обучения работе тестировщика, если у Вас нет опыта — это устроиться помощником QA инженера в какую-либо фирму. И там в процессе работы Вы всем у и научитесь. Ну и в должность Вас тоже введут. Не без этого…
Краудтестинговые платформы — «ясли для тестировщика»
Итак, как я уже писал выше, получить начальный опыт работы тестировщиком без опыта можно на так называемых краудтестинговых платформах.
Что это такое краудтестинговые платформы? Это такие своеобразные биржи фриланса. С одно стороны на них обитают заказчики, которым нужно что-то протестировать. С другой — специалисты по тестированию ПО.
Работа практически на всех краудтестиновых платформах строится по одному принципу. Есть какое-либо вводное обучение. Далее идет вводные тест. Если все хорошо, Вас допускают к реальным проектам. И Вы можете начать прокачивать свой рейтинг, ведь от этого будет зависеть и Ваша «зарплата».
А «доход» обычно начисляется в английских тугриках. И в принципе он достаточно неплохой.
Но… Важно знать. На большинстве краудтестинговых платформ оплата идет ТОЛЬКО за найденные ошибки! И причем, Вы должны найти эти ошибки раньше других тестировщиков. Если опоздали или не нашли, чтож… Нет ножек-нет мультиков :)
Да. Помните. Чем «крупнее» ошибки Вы находите, тем выше Ваше вознаграждение!
Краудтестинговые платформы в основном «буржуинские». Вот некоторые из них. Часть только на английском (или немецком языках). Часть переведена (не полностью) на русский. Но велика вероятность получения задания на английском языке.
Если Вы работали на одной их них, оцените ниже, какая понравилась больше.
test.io— одна из старейших платформ краудтестинга
Про условия работы на этих сервисах лучше сами посмотрите у них. Заодно и с платформами ознакомитесь.
Работа QA инженером «по взрослому»
Вообще, если Вы хотите «настоящей» работы, то идите работать на постоянную занятость в нормальную компанию. QA инженером. Ну или инженером по тестированию.
Здесь в отличие о фриланса, Вам будут платить именно за работу, а не за найденные баги.
Где же найти работу тестировщику ПО без опыта? Да много где! Главное, пройти хорошее обучение. О чем я писал выше.
Итак. QA инженера с распростертыми объятиями ждут:
- Фирмы-разработчики любого программного обеспечения
- Разработчики игр
- Разработчики мобильных приложений
- Финансовые компании, например банки. Или биржевые брокеры
- Системные интеграторы. Если Вы не знаете, кто это такие, то не просто запомните название :)
- Иногда заводы или производственные фирмы
- Веб-студии
- …..
Короче, без работы не останетесь! А самое приятное в этом, что работа тестировщика очень востребована в западных фирмах. И оплачивается, соответственно лучше…
Плюсы и минусы работы тестировщика
Почему Вам СТОИТ искать работу тестировщика ПО ?
- Эта работа проще, чем у программиста. Во всяком случае, до определенного уровня
- Высокая востребованность профессии тестировщика ПО. Без работы точно не останетесь!
- Часто свободный график! И даже у штатных сотрудников!
- Можно работать удаленно. Из любой точки мира.
- Вы увидите продукт со всей стороны. Можете перейти на другую должность. Программист. Или…. коммерческий директор
Почему Вам НЕ СТОИТ искать работу тестировщика ПО ?
- Никто не любит тестировщиков. Особенно программисты. Вы же находите их ошибки!
- Достаточно скучная работа. Смотрели «День сурка»? Вот примерно так..
- Тестировщиков часто назначают «крайними». Ведь за ними ошибки-то никто не ищет!
- Работа тестировщика сродни работе шпиона. Он боец невидимого фронта. «Медали» дают реже!
- Часто бывает сверхурочная работа. И не всегда оплачиваемая.
- Огромная ответственность. Не работает программа ? А куда смотрел тестировщик?
Ну и подумайте сами, что для Вас в итоге перевесит. Минусы или плюсы?
А сколько же можно заработать на тестировании ПО ?
На фрилансе, то есть на краудфандинговых платформах, ориентируйтесь на сумму от 5 $ до 500 $ в месяц. Как я уже писал выше, «улов» в основном зависит от количества и качества найденных багов. То есть, нередко можно работать, работать и получить кукиш с маслом :(
Хотя иногда есть и работа для фрилансера с оплатой «за работу» а не «за найденные ошибки».
А вот если Вы пойдет работать «в штат», то тут уже зарплаты более серьезные. Данные на «сейчас» по России
Для специалистов ручного тестирования:
Уровень специалиста | Средняя заработная плата |
---|---|
Стажёр (Intern) | 33 333 руб. |
Младший (Junior) | 44 024 руб. |
Средний (Middle) | 68 031 руб. |
Старший (Senior) | 107 203 руб. |
Ведущий (Lead) | 146 428 руб. |
Для специалистов автоматизированного тестирования:
Уровень специалиста | Средняя заработная плата |
---|---|
Стажёр (Intern) | 36 366 руб. |
Младший (Junior) | 61 486 руб. |
Средний (Middle) | 88 246 руб. |
Старший (Senior) | 131 222 руб. |
Ведущий (Lead) | 201 461 руб. |
Так что, все в Ваших руках. Кстати, в зарубежных компаниях зарплаты выше.
Требования к тестировщику
Ну если Вы ищите работу тестировщиком с нуля и без опыта, то для Вас и требования будут нулевые (чуть не написал «обнулённые» :) ).
А вот если Вы хотите стать крутым тестировщиком, то смотрите, что Вам нужно знать:
Личностные качества тестировщика ПО
Но это еще не все! Для успешной работы тестировщиком у Вас должны быть прокачаны:
- Внимательность
- Мозоли на попе усидчивость
- Аналитические навыки
- Умение управлять временем
- Психическая устойчивость
- Интуиция
Впрочем, все это можно со временем развить.
Мифы про профессию тестировщика
Немного поговорим про мифы профессии тестировщика.
- Тестировщики — это подсобные рабочие программиста. Недопрограммисты..
Конечно же, это ошибочное мнение. Часто тестировщики имеют более «продвинутые» знания, чем программисты. И более широкий кругозор. Из тестировщиков часто выходят отличные програмисты. А вот наоборот — редко.
На самом деле это достаточно сложный процесс. В котором увязано огромное количество самых разных операций. И тестировщик все то должен увязать в единую стройную систему.
Ну по началу может и так. Но… продвинутые тестировщики, или точнее QA инженеры, получают зарплаты, сравнимые с зарплатами программистов. Ну Вы и сами это видели немного раньше.
Главный кошмар тестировщика
А вот и главный кошмар QA Инженера
Нет.. Это был не кошмар тестировщика, а один день из его жизни.
А кошмар тестировщика, это когда Вы первый раз начинаете тестировать. И… ничего не находите! Совсем ничего. Даже самую малюююююсенькую ошибку! Вы начинаете сомневаться в себе. И тут, о радость, нашлась родимая! Вот она ошибочка! Такие дела!
В завершении темы
Теперь Вы знаете, что такое как работать тестировщиком без опыта. Если у Вас есть опыт подобной работы — то поделитесь. Буду рад услышать Ваше мнение.
Читайте также: