Кто такой тестировщик и как им стать с нуля

Базовые требования к профессионалу

  • Опыт технической поддержки — это плотное изучение технологий в сжатые сроки, умение понимать проблемы и быстро сопоставлять их с причинами и путями решения + навыки документирования заявок. Отличная почва для старта карьеры тестировщика.
  • Основы программирования — желательно Java, SQL, Python, но сойдёт буквально всё.
  • Знание методологии Agile, умение встроиться в микро-команды. 
  • Основы Linux.
  • Основы архитектуры ПК.
  • Модель OSI и сети (базовое понимание, знание структуры заголовков пакетов и проч.). Практически сразу потребуется свободная работа с утилитой Wireshark.
  • Инструменты управления тестированием — Bugzilla, Jira или любой другой багтрекер.
  • Selenium — инструмент для автоматизации действий веб-браузера. Очень популярный инструмент тестирования. 
  • Желательно — понимание стратегий тестирований чёрного, белого, серого ящиков и осознание того, где вы наиболее хорошо применимы как специалист.
  1. Станьте QA-фрилансером, чтобы выполнять небольшие проекты по ручному тестированию. Платят мало, но вы научитесь мыслить как тестировщик, писать контрольные примеры и сообщать о результатах. 
  2. Если цель — тестирование веба (а это чаще всего), создайте свой кривой-косой, но полноценный сайт без шаблонов и готовых CMS. Так вы поймёте, как среда работает изнутри и будете знать места обитания всех типичных багов.
  3. Найдите программу любого курса по тестированию, ищите по ней материалы и накапливайте теоретическую базу, чтобы успешно пройти первое собеседование.

Плюсы и минусы работы тестировщиком

▍Плюсы

  1. До определённого момента работа тестировщика проще остальных технических специальностей и доступна многим, кому интересна ИТ-сфера. Переходить ли рубеж к тому интервалу, где работа становится максимально сложной, решение каждого. Если дальше не пойдёте, вас из тестирования не выгонят, вы всё равно будете востребованы.
  2. Потребность в тестировщиках не исчезнет до тех пор, пока есть информационные технологии, связь, интернет, роботы, автопилоты и т.д.
  3. Тестирование — не столь изученная область, как программирование. Если у вас есть талант и трудолюбие, вы сможете сказать своё слово миру (написать книгу, создать методологию, преподавать и т.д.).
  4. Карьера тестировщика довольно свободная: можно сидеть в офисе с гибким графиком, можно работать удалённо, а можно стать фрилансером, набрать проектов и тестировать их по сдельной оплате.
  5. Тестировщику легче вернуться на работу после долгого перерыва, например, из опыта создания своего стартапа, фриланса, декрета, иных обстоятельств.
  6. Работу в тестировании можно сочетать с учебой без вреда для обоих видов деятельности.
  7. Вы научитесь «видеть продукт» со всех сторон, узнаете все функциональные возможности, посмотрите на софт глазами инженера и глазами потребителя. Это прямой путь в менеджеры продукта. Общая картина продукта поможет вам в любом случае — например, если вы решитесь уйти в разработку.

▍Минусы

  1. Команда недолюбливает тестировщиков 🙂 Нет, ну вы вот сами прикиньте: вы делаете продукт, пишете код, документацию, а потом на него нападает кучка коллег и заводит баг за багом на каждую мелочь. Ну как это вынести в адекватном состоянии?! Хуже только быть единственным тестировщиком в команде — тогда всё, ты конченая сволочь. Шутки шутками, но нередко команда считает, что именно тестировщики задерживают выпуск релизов и клиентских сборок. В общем, не любят люди, когда находят ошибки в их работе. 
  2. На первом этапе вы работаете с повторяющимися задачами, иногда работать становится невыносимо скучно.
  3. Тестировщики ищут ошибки разработчиков, искать ошибки тестировщиков некому. Поэтому вы будете крайними в некоторых неприятных ситуациях.
  4. Работа тестировщиков часто бывает незаметна руководству — придётся привыкнуть быть серым кардиналом, невидимым героем.
  5. Сверхурочная работа — бич тестировщиков. Рано или поздно вам будет нужно срочно оттестировать релиз или сборку, которую нужно выкатить завтра или «вот прям щас» или же остаться и проверить внесённые программистами исправления. И вы останетесь, а вот оплачивается такой героизм далеко не всегда (я вообще не встречал).
  6. На тестировщиках лежит огромный груз ответственности за полноту и охват тест-планов — если что-то упустить, отвечать уже придётся за пропущенные баги.

Как стать тестировщиком

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

Однако в вузах нет специальности «тестировщик». Если рассматривать государственное образование, то проведение тестов изучается только в рамках программирования. Минус в том, что практики при обучении в вузе всё равно не получить, если не работать параллельно на реальных проектах.

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

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

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

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

Если говорить об обучении уже практикующего специалиста, например, ручного тестировщика, то здесь тоже немало вариантов: от специализированных курсов до самостоятельного изучения языков и инструментов, которые понадобятся в новом направлении. Как пример, если интересно тестирование веб-приложений, можно начать с изучения Selenium или Katalon Studio и Java.

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

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

Обеспечение качества сейчас — бурно развивающаяся перспективная сфера, особенно в России и СНГ, и это очень радует и вдохновляет постоянно развиваться в этом направлении.

Какие бывают

В ИТ-среде в свя­зи с тести­ро­ва­ни­ем и каче­ством при­ня­то три обозначения:

QA — quality assurance, самый глав­ный по качеству;QC — quality control, кон­тро­лёр качества;Tester — тестировщик.

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

QA — это тот, кто дума­ет о каче­стве про­дук­та в целом, при­чём не толь­ко о конеч­ном коде, но и все­го про­цес­са раз­ра­бот­ки. Например:

Как понять поль­зо­ва­тель­ские сце­на­рии, в кото­рых веро­ят­нее все­го воз­ник­нут ошиб­ки? Как их собрать? Как систе­ма­ти­зи­ро­вать? Как ниче­го не упу­стить? (Напри­мер, как понять, какие имен­но пред­ме­ты люди могут дога­дать­ся засу­нуть в мик­ро­вол­нов­ку, и как защи­тить­ся от иди­о­тов, кото­рые засу­нут туда динамит?)Как соеди­нить запро­сы людей, тре­бо­ва­ния биз­не­са и реаль­ные воз­мож­но­сти про­дук­та с точ­ки зре­ния каче­ства? Что если наш про­дукт совсем не дела­ет то, чего поль­зо­ва­те­ли могут ожи­дать? Напри­мер, если они будут сушить в мик­ро­вол­нов­ке кош­ку — это чья про­бле­ма? Будем ли мы с этим что-то делать?Кто, как и в каком поряд­ке будет исправ­лять ошиб­ки? Как мы будем повтор­но тести­ро­вать места с ошибками?Что и как тести­ро­вать от вер­сии к вер­сии про­грам­мы, что­бы это было доста­точ­но быст­ро, но не в ущерб качеству?

Мож­но пред­ста­вить, что QA — это дирек­тор по каче­ству, глав­ный чело­век на пути у багов. Он не менее важен, чем глав­ный архи­тек­тор или ИТ-директор. Мно­гие его функ­ции могут пере­се­кать­ся с функ­ци­я­ми дру­гих ИТ-директоров.

QC — это тот, кто сфо­ку­си­ро­ван на тести­ро­ва­нии само­го продукта:

Что имен­но тести­ру­ем? Какие функ­ции, кноп­ки, состо­я­ния, сценарии?Какие резуль­та­ты тести­ро­ва­ния нам нуж­ны? Какие исхо­ды пра­виль­ные, а какие — ошибки?Как авто­ма­ти­зи­ру­ем тесты? Что нуж­но обя­за­тель­но прой­ти ручками?Как син­хро­ни­зи­ро­вать рабо­ту несколь­ких тести­ров­щи­ков? Как рас­пре­де­лить зада­чи, обла­сти, слои?

Мож­но пред­ста­вить, что это такой глав­ный бри­га­дир тести­ров­щи­ков. Его рабо­та — что­бы тесты шли ров­но и чёт­ко, без про­блем. Разу­ме­ет­ся, очень полез­но, если он уме­ет непо­сред­ствен­но тестировать.

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

Академия интернет-технологий IMT

Сайт: https://www.imt.academy
Стоимость: от 6000р. за месяц

КУРСЫ QA БУДУТ ПОЛЕЗНЫ:

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

После прохождения онлайн-занятий студенты знают, как отличить баг от фичи, могут описать баг-репорты, имеют представление о тестировании разнообразного софта – игр, различных приложений для компьютеров или мобильных девайсов. Практические занятия позволяют воспроизвести рабочий процесс, что помогает прочувствовать все тонкости профессии, освоить навыки, определиться, каким видом мониторинга заниматься далее. Даже если человек никогда не был связан с IT и с нуля стартует в этой сфере, то полученные теоретические знания, практический опыт в тестировании помогут найти работу на должности Junior QA Engineer.

Варианты карьеры QA-тестировщика

В QA-тестировании существуют общепринятые названия специальностей на английском языке. Это навыки и умения с технической стороны – hard skills. Рассмотрим карьерный рост в соответствии с этими названиями:

  1. Trainee QA Engineer (стажёр) — начинающий специалист, имеющий только теоретическую базу без опыта работы.
  2. Junior QA Engineer (новичок) — сотрудник с опытом работы в должности QA-тестировщика до 6 месяцев. Такому инженеру нужно иметь представление о процессе разработки, написании тестов, что такое дефект и как с ним работать.
  3. QA Engineer (QA-тестировщик) — специалист, с опытом работы более 6 месяцев. Владеет навыками написания сценариев тестирования, проведения тестирования продукта, составления отчетов по обнаруженным ошибкам, анализа результатов и улучшения показателей, отслеживания правок и оптимизация этапов разработки. Может обучать сотрудников из предыдущих пунктов.
  4.  Senior QA Engineer (старший QA-тестировщик) — опытный программист с высоким уровнем квалификации. Помимо самостоятельного выполнения задач, обучает сотрудников и берёт на себя ответственность за выполнение более сложной работы. Знает и умеет использовать разные виды тестирования.
  5. Lead Software Testing Specialist (ведущий инженер) —более 5 лет профессионального опыта, может руководить группой инженеров, оценивает риски, составляет сроки и уровни бюджетирования, определяет варианты тестирования и координирует его процесс.
  6. Разработчик — поработав в тестировании некоторое время и получив необходимый опыт, некоторые специалисты уходят в разработку программного обеспечения.

Тем, кто любит общение и взаимодействие с коллегами подойдет развитие по типу soft skills:

  • Менеджер — работает с командой, ставит задачи подчинённым и осуществляет контроль за их выполнением.
  • Бизнес-аналитик — посредник между заказчиком и командой, проводящей тесты.

QA-тестирование представляет собой неограниченную вселенную для развития карьеры.

Склонность к исследованию

ФОТО: PATIWAT SARIYA / SHUTTERSTOCK

Юлия

СТУДЕНТ ОДНОГО ИЗ ПЕРВЫХ ПОТОКОВ ПРОГРАММЫ ALMAMAT #WOMEN_IN_TECH

«Меня всегда интересовала сфера IT, и я знала, что есть такая специальность, как QA-инженер, но не понимала, как к ней подступиться. На основной работе до декрета я следила за качеством выполненных проектов, предлагала методы их улучшения. Тестирование близко мне по идейному наполнению, ведь от работы QA-специалистов зависит качество проекта. Ко всему прочему, меня заинтересовала и порадовала возможность работать удаленно».

Сабина Хасанова

SOFTWARE QUALITY ASSURANCE ENGINEER В SETKA

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

«Классные дни – когда, есть интересные задачи, где надо включать мозг. Потому что в реальной жизни много ситуаций, которые ты не можешь воспроизвести при тестировании. Это может быть связано с платежами или с клиентским сайтом. Например, интернет-платеж прерывается из-за неполадок в соединении или платежный шлюз дал какой-то ответ. Тебе нужно придумать, как это протестировать. Ты находишь расширения для браузера или сервисы, которые помогают решить твою задачу. Тебе нужно отлавливать на сервере какие-то запросы, использовать Regular Expressions, чтобы подменять ответы или находить нужное. Это своеобразный брейншторминг, и это интересно, я люблю».

Александр Хатилов

ИНЖЕНЕР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С 30-ЛЕТНИМ ОПЫТОМ РАЗРАБОТКИ ПО И ТЕСТИРОВАНИЯ.ИМЕЕТ 12-ЛЕТНИЙ ОПЫТ РАБОТЫ В КАЧЕСТВЕ QA/QE-МЕНЕДЖЕРА В COMPAQ, IBM, GAP, EBAY, KOHLS, WILLIAMS SONOMA

Про специальность QA-аналитика.

«Надо иметь аналитический склад ума и поработать в разных компаниях».

QA-инженер / тестировщик это

Книги на английском языке

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 испытанных временем книг по тестированию программного обеспечения, которые помогут освоиться в этой профессии. А еще рекомендуем наш обучающий курс по тестированию. Здесь в доступной интерактивной форме под руководством наставников вы изучите актуальный материал, научитесь использовать его на практике и получите новую профессию с возможностью трудоустройства.

Что делает тестировщик ПО, кто он?

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

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

Говоря о том, что нужно знать тестировщику ПО, стоит упомянуть следующие дисциплины и понятия:

  • система контроля версий Git;
  • основы баз данных и тестирования ПО;
  • HTTP, а также особенности разных операционных систем (BASH, CMD, PowerShell);
  • сетевые протоколы;
  • язык запросов SQL;
  • инструменты, используемые для управления процессом тестирования, в частности JIRA, TestLink и другие;
  • системы отслеживания ошибок;
  • основы хотя бы одного языка программирования, в приоритете Java, JavaScript, C#.

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

  • осуществление контроля качества ПО;
  • выявление, фиксирование и анализ ошибок;
  • формирование отчетов для команды разработчиков;
  • разработка автотестов и сценариев, использование готовых решений, ручное тестирование.

Они могут заниматься не только программным обеспечением, но и осуществлять проверку мобильных и десктопных игр, обновлений, иных продуктов.

Образование

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

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

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

  1. МГТУ им. Н.Э. Баумана – Московский государственный технический университет имени Н.Э. Баумана.
  2. НИУ МГСУ – Московский государственный строительный университет.
  3. МГУТУ имени К.Г. Разумовского – Московский государственный университет технологий и управления имени К.Г. Разумовского.
  4. СПбПУ – Санкт-Петербургский политехнический университет Петра Великого.
  5. УрФУ им. Б. Н. Ельцина – Уральский федеральный университет им. Б. Н. Ельцина (Екатеринбург).
  6. НГУ – Новосибирский национальный исследовательский государственный университет.
  7. ТПУ – Национальный исследовательский Томский политехнический университет (Томск).
  8. КФУ – Казанский (Приволжский) федеральный университет (Казань).
  9. ЮФУ – Южный федеральный университет (Ростов на Дону).
  10. СКФУ – Северо-Кавказский федеральный университет (Ставрополь).

На территории России более 300 ВУЗов, выпускающих специалистов в сфере информационных технологий, программирования.

Если нет возможности поступать в высшее УЗ, то есть и ССУЗы. Насчитывается больше 100 заведений, включая:

  1. Санкт-Петербургский технический колледж управления и коммерции.
  2. Университетский политехнический колледж Санкт-Петербургского политехнического университета Петра Великого.
  3. Колледж связи №54 им. П.М. Вострухина (Москва).
  4. Московский приборостроительный техникум Российского экономического университета имени Г.В. Плеханова (Москва)
  5. Нижегородский радиотехнический колледж.
  6. Омский авиационный колледж имени Н.Е. Жуковского
  7. Новосибирский химико-технологический колледж имени Д.И. Менделеева.

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

Дополнительное образование, курсы

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

Дополнительное образование предполагает поступление в профессиональное учебное заведение, где предоставляется лекционный материал, проводятся практические занятия. Это может быть колледж или ВУЗ, обучение очное, заочное, совмещенное с дистанционным прохождением материала.

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

Важно уточнить, государственного ли образца будет диплом, так как это станет подтверждением достойного уровня образования

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector