Кто такой тестировщик. обзор изнутри от евгения шидловского
Содержание:
- Где научиться тестированию программного обеспечения
- Чем занимается QA-специалист?
- Специфика работы. Плюсы и минусы
- Как стать тестировщиком
- Какие виды тестирования существуют
- Кто такой тестировщик и чем он занимается
- Варианты карьеры QA-тестировщика
- Обучение на тестировщика ПО
- Книги на английском языке
- Где и как учиться на тестировщика
Где научиться тестированию программного обеспечения
Ответ на этот вопрос достаточно простой. Если у Вас нет опыта в программировании, и хочется побыстрее начать работу тестировщика без опыта, то… изучайте краудтестинговые платформы. Что это такое? Об этом ниже…
На этих самых платформах обычно есть достаточно подробное обучение. И даже тестовые задания. Пройдя это обучение и выполнив успешно тестовое задание Вы уже будете понимать, кто и как делать.
Единственное, что часто такое обучение идет на английском языке. Хотя и достаточно простом. Но ведь Вы же знаете английский, не правда ли…
Если же Вы хотите работать в QA инженером, то без хороших курсов не обойтись. Я сейчас не буду рекламировать те или иные курсы. Их много. Только учтите, что эти курсы обычно достаточно дорогие. И длятся несколько месяцев.
Здесь Вас будут учить всем премудростям тестирования. И скорее всего заодно и основам нескольких языков программирования.
К сожалению, Вузовского образования по профессии QA инженер или тестировщик ПО я не нашел.
Ну и еще вариант обучения работе тестировщика, если у Вас нет опыта – это устроиться помощником QA инженера в какую-либо фирму. И там в процессе работы Вы всем у и научитесь. Ну и в должность Вас тоже введут. Не без этого…
Чем занимается QA-специалист?
Каждый день на ИТ-рынок выходят новые приложения, которые упрощают и улучшают жизнь людей. Перед тем, как такие программные продукты попадут в руки конечных пользователей, они проходят тщательную проверку на качество.
Именно от тестировщика зависит качество ПО и, следовательно, успех проекта на рынке. Согласитесь, мало кто станет пользоваться приложением, если оно не в состоянии выполнить даже базовые функции. Кроме того, для пользователя важна безопасность личной информации, ввиду постоянного использования приложений, требующих ввода персональных данных.
Поэтому специалист по тестированию является связующим звеном между разработчиком и конечным пользователем и отвечает за полную проверку программного продукта. Однако суть его работы заключается не просто в выявлении и документировании всевозможных дефектов.
Кроме поиска ошибок, тестировщик проверяет работоспособность всей функциональности приложения. Выполняя стандартные и нетипичные действия пользователей, он контролирует, не появляются ли сбои в программе.
К основным обязанностям тестировщика ПО относятся:
Составление тестовой документации
Тест-кейсы и чек-листы — основные тестовые артефакты, которые помогают отслеживать процесс тестирования. Тест-кейсы содержат последовательность шагов для тестирования каждой функциональности, а в чек-листах содержится список всех необходимых проверок.
Подбор нужного набора тестов
В зависимости от поставленных задач на проекте QA-специалист решает, какие виды тестов применить. Например, если необходимо проверить ответную реакцию приложения на большое количество одновременных пользователей, то QA-команда проведёт тестирование производительности. А если цель проекта — обеспечить удобный интерфейс, то тестировщик ПО выберет юзабилити- и UI-тестирование.
Документирование и анализ найденных дефектов
После выявления ошибки тестировщики приступают к её описанию. Это нужно для того, чтобы разработчик смог быстро понять, в какой части кода приложения кроется дефект.
Сейчас QA-специалисты вносят все ошибки в баг-трекинговые системы, например, JIRA или Bugzilla, а результаты проверок — в системы управления тестированием, такие как TestRail. Для более подробного описания багов можно приложить скриншоты экранов или видео.
Каждому баг-репорту в системе присваивается степень серьёзности ошибки (от тривиальной до блокирующей) и статус в соответствии с этапом жизненного цикла бага (от нового до закрытого).
Проверки воспроизведения багов после их устранения
За исправлением ошибок следит тестировщик, который непосредственно работает вместе с командой разработчиков, или ведущий QA-специалист. Устраняются ошибки по соответствующей отметке в баг-трекинговой системе — сначала блокирующие и далее по убыванию.
Если дефект снова воспроизводится, ему присваивается статус «переоткрыт». Бывают случаи, когда исправление бага необходимо отсрочить. Это может произойти, если данную функциональность планируют кардинально изменить в следующем релизе, или дефект не влияет критически на работу всей системы. Тогда баг-репорт будет отмечен как «отсрочен».
Для ускорения QA-процессов часто применяют автоматизированные тесты. На проект привлекаются специалисты по автоматизации тестирования, которые пишут код проверки и запускают его. А программа самостоятельно выполняет тысячи нужных тестов, что экономит время мануального тестировщика.
Однако начинающему специалисту не придётся выполнять такие задачи, они входят в зону ответственности автоматизаторов. Тем не менее, для более быстрого развития карьеры вы можете приступить к изучению основ языка программирования. Присмотритесь к Python, С#, Ruby, Java, эти языки зачастую используются в автоматизации тестирования.
Специфика работы. Плюсы и минусы
Чтобы окончательно понять, начинать работать в этой сфере или нет, рассмотрим основные преимущества и недостатки профессии тестировщика программного обеспечения.
Преимущества:
- Быстрое и удобное освоение специальности. Возможно также найти обучение с трудоустройством в той компании, где Вы хотите занять должность тестировщика.
- Возможность тестировщику работать удалённо. Это скорее подойдёт более опытным специалистам, которые уже не нуждаются в помощи.
- Эта работа — неплохой старт в сфере IT, который позволит дальше развиваться и в других специальностях.
- Нельзя не сказать о востребованности тестировщиков ПО. Без работы Вы точно не останетесь!
- Довольно высокая заработная плата и возможность роста.
- Специалисты данной сферы не классифицируются и не отбираются по возрасту, гораздо важнее здесь имеющиеся навыки и опыт работы.
- Это увлекательная и интересная профессия, сочетающая в себе как творческие, так и аналитические способности человека.
Недостатки:
- Работа, особенно ограниченная Вашими навыками и возможностями, может быть монотонной и однообразной.
- Преимущественно сидячий образ жизни. Так что тестировщикам, да и всем остальным специалистам, работающим за компьютером, стоит думать об активной составляющей их жизни.
- Есть небольшой риск остаться специалистом узкого профиля, но эта проблема легко решается только Вашим желанием развиваться.
Тестировщики в первую очередь востребованы в крупных компаниях, занимающихся созданием и разработкой ПО (1С, например), компьютерных игр, мобильных приложений или каких-либо сайтов.
Такая работа, как тестировщик андроид-приложений, ничуть не уступает по сложности выполнения тестированию более сложных систем. Везде свои нюансы, свои требования.
Как стать тестировщиком
Вариантов, как освоить профессию тестировщика, сейчас достаточно много. Можно самостоятельно учиться по книгам, статьям и видеоурокам из интернета, устроиться на стажировку в компанию, где на практике покажут, что нужно делать, а также пойти в учебное заведение, которое готовит таких специалистов.
Однако в вузах нет специальности «тестировщик». Если рассматривать государственное образование, то проведение тестов изучается только в рамках программирования. Минус в том, что практики при обучении в вузе всё равно не получить, если не работать параллельно на реальных проектах.
При самостоятельной подготовке освоить навыки на базовом уровне можно за несколько месяцев, а после попробовать устроиться на junior-позицию по ручному тестированию в небольшую компанию. Таких вакансий сейчас много. В первое время вам будет трудно, поскольку придётся освоить множество инструментов на практике и понять специфику проведения тестов и разработки программного обеспечения.
Другой вариант — устроиться в IT-компанию на стажировку, скорее всего, неоплачиваемую, чтобы учиться в процессе работы. Конечно, поначалу вам не доверят работу специалиста полностью, зато у вас будет возможность с самого начала общаться с профессионалами и учиться у них.
Третий, и, на мой взгляд, наиболее простой способ прийти в сферу тестирования — пройти специализированные курсы. Они есть есть в онлайн- и офлайн-форматах, краткие и максимально полные, бесплатные и платные — выбор программ действительно большой. В этом случае подготовка значительно упрощается, поскольку не нужно выбирать актуальные материалы из общедоступных источников, есть возможность консультироваться у преподавателей, а зачастую есть ментор или куратор, который поможет разложить знания по полочкам. Я сама преподаватель курса по тестированию и могу сказать, что студентам всегда очень сильно помогает возможность общаться по разным практическим вопросам.
Ещё один важный и не совсем очевидный плюс курсов в том, что они дополнительно дисциплинируют и забросить учебу становится сложно: всегда есть четкое расписание занятий, домашние задания, пример других студентов. Это своеобразный волшебный пинок, которого обычно так не хватает при самостоятельном обучении.
Если говорить об обучении уже практикующего специалиста, например, ручного тестировщика, то здесь тоже немало вариантов: от специализированных курсов до самостоятельного изучения языков и инструментов, которые понадобятся в новом направлении. Как пример, если интересно тестирование веб-приложений, можно начать с изучения Selenium или Katalon Studio и Java.
Если вы уже работаете в компании, в которой есть отдел автоматизации, узнайте у коллег, на каком языке они пишут и с каким стеком технологий работают, изучите их на базовом уровне и просите небольшие задачи для себя. Конечно, если такое приемлемо в вашей компании.
Ещё один интересный вариант для тех, кто не знает, что именно ему понадобится, — попробуйте автоматизировать собственные рутинные процессы и разобраться, чего не хватает в знаниях.
Обеспечение качества сейчас — бурно развивающаяся перспективная сфера, особенно в России и СНГ, и это очень радует и вдохновляет постоянно развиваться в этом направлении.
Какие виды тестирования существуют
Пользователи непредсказуемы. Они могут делать не только то, что предусмотрено программой, но и то, что ею категорически не предусмотрено. Тестировщик должен проверить все возможные и невозможные сценарии их поведения и убедиться, что программа продолжает работать.
Вообще, у тестирования есть философия, которая строится на том, что в любой программе по определению есть ошибки и найти их все невозможно. А если вы почему-то не нашли ошибку, значит, просто плохо искали. Удачный тест для тестировщика — тот, при котором нашли баг. А если всё нормально работало, значит, тест неудачный и свою задачу не выполняет.
Ошибки возникают не только при кодировании, но и при проектировании системы, и даже на этапе разработки технического задания. Поэтому и тестируют код не только в самом конце работы, а на разных этапах.
Есть несколько видов тестирования:
Кто такой тестировщик и чем он занимается
Тестировщик программного обеспечения — очень важный специалист в команде разработчиков, который отвечает за качество работы программного обеспечения. В его обязанности входит проведение ручного и автоматического тестирования продукта разработки, чтобы выявить и устранить возможные ошибки и дефекты. Если говорить проще, то тестировщик проверяет, насколько новый продукт соответствует целям и ожиданиям, которые от него возлагались до начала разработки. Таким образом, пользователи получают качественные приложения и программы, работающие без багов.
Карьерная лестница тестировщика выглядит таким образом:
Другие направления в работе тестировщиков
В зависимости от того, какой продукт необходимо тестировать, выделяют следующие направления:
По механизму тестирования тестировщики делятся на такие группы:
Manual QA — ручное тестирование, специалист не использует программы, а делает все вручную
Такому тестировщику необязательно уметь кодить, но важно иметь логическое и критическое мышление.
Automation QA — автоматизированное тестирование, специалист пишет программный код (скрипт), который, используя результаты ручного тестирования, будет самостоятельно проверять работу продукта. Тестировщик, работающий по этому механизму, должен знать язык программирования и уметь писать код.
Performance QA — тестирование производительности.
Функциональные обязанности тестировщика
К задачам тестировщика программного обеспечения относятся:
- проверка качества ПО, выявление ошибок в коде и их устранение;
- проверка удобства использования и совместимости программного обеспечения между браузерами;
- защита программного обеспечения от внешних угроз, таких как вирусы или вредоносные коды, которые могут привести к сбоям в работе программного обеспечения;
- разработка автотестов и их регулярный прогон;
- подготовка документов по тестированию;
- стресс-тестирование, чтобы убедиться, что ПО не дает сбоев во время критических ситуаций или интенсивного трафика пользователей.
Сколько зарабатывает тестировщик ПО
Ресурс с вакансиями | Минимальная зарплата | Максимальная |
robota.ua | 15 000 грн. | 84 000 грн |
work.ua | 10 000 грн. | 100 000 грн |
«Авито» | 22 000 руб. | 200 000 руб. |
hh.ru | 30 000 руб. | 160 000 руб. |
trud.com | 30 000 руб. | 80 000 руб. |
Плюсы профессии:
- низкий порог входа в профессию;
- необязательно иметь глубокие знания в области программирования;
- возможность карьерного роста.
Минусы профессии:
- однообразие задач;
- повышенная внимательность к деталям;
- зарплата ниже, чем у разработчиков;
- повышенная ответственность за результаты работы.
Варианты карьеры QA-тестировщика
В QA-тестировании существуют общепринятые названия специальностей на английском языке. Это навыки и умения с технической стороны – hard skills. Рассмотрим карьерный рост в соответствии с этими названиями:
- Trainee QA Engineer (стажёр) — начинающий специалист, имеющий только теоретическую базу без опыта работы.
- Junior QA Engineer (новичок) — сотрудник с опытом работы в должности QA-тестировщика до 6 месяцев. Такому инженеру нужно иметь представление о процессе разработки, написании тестов, что такое дефект и как с ним работать.
- QA Engineer (QA-тестировщик) — специалист, с опытом работы более 6 месяцев. Владеет навыками написания сценариев тестирования, проведения тестирования продукта, составления отчетов по обнаруженным ошибкам, анализа результатов и улучшения показателей, отслеживания правок и оптимизация этапов разработки. Может обучать сотрудников из предыдущих пунктов.
- Senior QA Engineer (старший QA-тестировщик) — опытный программист с высоким уровнем квалификации. Помимо самостоятельного выполнения задач, обучает сотрудников и берёт на себя ответственность за выполнение более сложной работы. Знает и умеет использовать разные виды тестирования.
- Lead Software Testing Specialist (ведущий инженер) —более 5 лет профессионального опыта, может руководить группой инженеров, оценивает риски, составляет сроки и уровни бюджетирования, определяет варианты тестирования и координирует его процесс.
- Разработчик — поработав в тестировании некоторое время и получив необходимый опыт, некоторые специалисты уходят в разработку программного обеспечения.
Тем, кто любит общение и взаимодействие с коллегами подойдет развитие по типу soft skills:
- Менеджер — работает с командой, ставит задачи подчинённым и осуществляет контроль за их выполнением.
- Бизнес-аналитик — посредник между заказчиком и командой, проводящей тесты.
QA-тестирование представляет собой неограниченную вселенную для развития карьеры.
Обучение на тестировщика ПО
Начинающий тестировщик может закончить ссуз или получить необходимые навыки на курсах – все зависит от требований потенциального работодателя и личностных навыков. Однако высшее техническое образование стоит рассматривать как приоритетное.Абитуриент может выбрать следующие вузовские направление подготовки, для которых профильным ЕГЭ является математика:
- «Прикладная математика и информатика» (код: 01.04.02);
- «Информатика и вычислительная техника» (код: 09.03.01);
- «Информационно-аналитические системы безопасности» (код: 10.05.04);
- «Информационная безопасность» (код: 10.03.01) и иные технические направления, связанные с информатикой, математикой, защитой цифровой информации и вычислительной техникой.
Если вы решили начать свой карьерный путь с ссуза, то рассмотрите направления «Информационные системы и программирование» (код: 09.02.07), «Компьютерные сети» (код: 09.02.02) или «Прикладная информатика (по отраслям)». Начать обучение в вузе можно после 11 класса, в ссуз абитуриент может поступить, окончив 9 классов.
Курсы
Образовательный IT-портал GeekBrains
Занятия ведут практикующие Тестировщики ПО с профильным образованием и стажем работы по специальности от 5 лет. 5 практических курсов и 2 месяца стажировки. 10 лет на рынке образования, 4 миллиона пользователей. Все курсы можно купить с беспроцентной рассрочкой на год. Также можно получить IT-специальность в Geek University, а оплатить учебу через год после ее начала.
Компьютерная Академия ШАГ (Очно, Москва)
Обучает профессии Тестировщик ПО. Международное учебное заведение, специализирующееся на компьютерном образовании. Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель – трудоустройство каждого выпускника.
SkillBox
Освойте одну из самых востребованных IT-профессий под руководством личного наставника и начните зарабатывать до завершения курса. Опыт программирования не нужен. Вы научитесь тестировать сайты, мобильные приложения и другое ПО. Узнаете, как устроена работа IT-компаний, и сможете понять, как вы хотите развиваться в профессии. Гарантированно получите работу. Уже джуниоры очень востребованы рынком, а этот курс позволит достичь middle-уровня.
УЦ «Специалист» при МГТУ им. Н. Э. Баумана
На сайте учебного центра доступен большой выбор качественных программ для людей, которые решили стать тестировщиками ПО. Любой курс состоит из теоретических и практических блоков, форма обучения может быть очной или дистанционной. Длительность обучения составляет 16-64 ак. ч., минимальная стоимость – 11850 руб. и выше, что напрямую зависит от выбранного профиля.
Вузы
Московский гуманитарный университет, МосГУ
Прикладная информатика в экономике (Факультет экономики, управления и международных отношений)
Национальный исследовательский университет «МЭИ»
Прикладная информатика в экономике (Инженерно-экономический институт НИУ «МЭИ»)
Московский государственный университет пищевых производств
Информатика и вычислительная техника (Институт промышленной инженерии, информационных технологий и мехатроники)
Московский технический университет связи и информатики
Информатика и вычислительная техника (Заочный общетехнический факультет МТУСИ)
Московский государственный университет геодезии и картографии
Прикладная информатика (Московский государственный университет геодезии и картографии)
Книги на английском языке
Cem Kaner, James Bach, Bret Pettichord
«Lessons Learned in Software Testing»
Книга привлекает практической направленностью: авторы с богатейшим опытом собрали 293 урока, где коснулись основных вопросов тестирования ПО. Будет полезна и для новичков, и для опытных специалистов.
Авторы дают конкретные практические советы по всем аспектам тестирования: планирование стратегии, методики и техники, правила написания отчетов, автоматизация, взаимодействие разработчиков и тестировщиков, документирование, управление командой и карьерный рост. Из-за особенности поурочной структуры ее можно читать с любого места.
Boris Beizer
«Software Testing Techniques»
Классический учебник Бориса Бейзера, хорошо известный за рубежом и у нас. Его отличает целостный и методичный подход к изложению информации, понятный язык и широкий охват тем тестирования.
Пособие не только поможет новичкам освоить профессию, но и останется с ними в качестве настольной книги тестировщика на долгие годы.
Ajay Balamurugadas, Sundaresan Krishnaswami
«Mobile Testing: Ready Reckoner»
Книга содержит советы и четкие инструкции по тестированию мобильных приложений от практикующих специалистов. С помощью их рекомендаций, скриншотов и понятных объяснений начинающий легко разберется в процессе тестирования продуктов для операционных систем Android и iOS.
в формате PDF
Mike Andrews, James A. Whittaker
«How to break web software»
Базовая книга об атаках в тестировании программного обеспечения. Подходит и начинающим, и опытным специалистам, но первые испытают сложности из-за трудного языка. Для вторых же она идеальна и даст множество полезных знаний.
Ее можно перечитывать много раз и находить новые способы решения насущных задач. Автор рассказывает о различных типах атак: на сервер, на клиент, state based и других. Описание атаки состоит из вводной части, сферы применения и инструкции о том, как ее проводить.
James A. Whittaker
«How to Break Software Security»
Вторая книга Витакера — пошаговое руководство по тестированию безопасности приложений. Ее лучше читать после «How to break web software».
Подходит уже работающим специалистам с базовыми навыками в тестировании в целом, но не знающим ничего о защищенности.
Автор рассказывает о верхнеуровневых классах проверок, например, на уровне кода или GUI, и приводит 19 атак на защищенность приложения. Каждое описание атаки или инъекции состоит из вводной части, описания случаев применения и руководства по нему.
Gerald M. Weinberg
«Perfect Software and other illusions about testing»
Очень интересная книга, которая понравится всем уже работающим в команде тестировщикам, а новичков может спустить с небес на землю. Увы, только в учебниках и абстрактных компаниях проекты всегда задокументированы, а в архитектуре царит полный порядок. Эта книга рассказывает о жестокой реальности и развенчивает иллюзии в тестировании.
Автор приводит реальные типичные ошибки в подходах, а учиться на ошибках — самое полезное дело. В совместной работе специалисты часто переводят стрелки друг на друга и отказываются фиксить и документировать баг, ссылаясь на то, что это не их зона ответственности. Что с этим делать и как с этим жить — в том числе рассказывает Gerald M. Weinberg.
Мы предложили вам 15 испытанных временем книг по тестированию программного обеспечения, которые помогут освоиться в этой профессии. А еще рекомендуем наш обучающий курс по тестированию. Здесь в доступной интерактивной форме под руководством наставников вы изучите актуальный материал, научитесь использовать его на практике и получите новую профессию с возможностью трудоустройства.
Где и как учиться на тестировщика
Расскажу на примере своей работы. Я обучаю тестировщиков в IT-Academy. Наш курс длится 9 недель или 27 занятий. За это вермя можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Но это очень интенсивный курс.
Для освоения азов профессии не нужно знать языки программирования, но новичок должен освоить обширную теорию. Далеко не всем это легко даётся. По большому счёту, за пару месяцев студенту надо пройти ужатый курс университетского обучения.
В тестировщики приходят люди из самых разных профессий, и кроме теоретических знаний в обязательный скилл-сет должны входить усидчивость и внимательность к деталям.
В моём понимании профессиональный портрет крепкого функционального тестировщика достаточно прост. Это человек с опытом в профессии от одного года, который хорошо знает теорию тестирования и умеет работать с основными техническими документами.
На рынке можно найти множество курсов: очных и дистанционных, платных и бесплатных.
Во многих крупных ИТ-компаниях есть внутренние (как правило, бесплатные) курсы по тестированию. Однозначно нужно пробовать попасть туда, особенно если хотите работать в компании-организаторе таких курсов. Минус подобного околокорпоративного обучения — оно часто бывает узконаправленным и не совсем подходят по своему содержанию средним требованиям рынка. Платные курсы, коих великое множество, чаще дают более широкую программу подготовки.