можно ли выучиться на тестировщика самостоятельно
Как стать тестировщиком и не разочаровать родителей. Порог входа и основы основ
Еще 10-15 лет назад наши родители не могли себе представить, что большая часть бытовой рутины будет решаться в пару кликов мыши. Однако сейчас количество сервисов существенно увеличилось, и люди могут позволить себе пользоваться тем, что более качественно и удобно для пользователя. Если вы в процессе использования какого-либо приложения или сайта задумывались о профессии, которая позволила бы вам делать продукты лучше, то эта статья даст вам небольшую инструкцию о том, как войти в профессию тестировщика.
Кто такие тестировщики?
Существует заблуждение, что «тестировщик» – это профессия, которая подразумевает поиск ошибок и проверку продукта до тех пор, пока он не отвалится. На самом деле это утверждение верно лишь отчасти. Тестировщик проверяет, что продуктом удобно пользоваться и что его функционал исправно работает. Соответственно, тестирование – это не поиск ошибок, а проверка соответствия ожидаемого поведения продукта фактическому. Хотя иногда есть необходимость помучить продукт, а то и вовсе его сломать, чтобы вас прокляли разработчики убедиться, на каких максимальных мощностях или как долго продукт может стабильно работать. Об этом вы можете ознакомиться в статье про нагрузочное тестирование.
Как начать тестировать?
Очевидно, для начала хорошо бы изучить теорию и иметь возможность на чем-то практиковаться, чтобы подкрепить знания в деле. И на этом пути у вас есть два направления:
Жизненный цикл продукта
Любому начинающему или действующему специалисту it-сферы крайне полезно знать жизненный цикл продукта, так как он сам будет являться его частью на том или ином этапе.
Жизненный цикл бага
На самом деле, жизненный цикл бага будет зависеть от разных факторов: например, от проекта, приоритета бага или решения команды. Здесь не всегда работают шаблоны, но важно иметь базовые знания, чтобы знать, как минимум, процесс работы.
Виды тестирования и уровни тестирования
Любой тестировщик должен понимать, какой вид продукта он тестирует, и какие виды тестов необходимы именно под этот продукт.
Как писать чек-листы, тест-кейсы
Необходимость написания тест-кейсов сегодня достаточно спорна. Все же, как показывает практика, в процессе написания продукт изучается лучше, задается больше вопросов, и выявляется больше деталей продукта. Поэтому изучение этого навыка поможет вам научиться структурировать ваши проверки.
Знание техник тест-дизайна
Знание техник тест дизайна помогают сильно сэкономить время, позволяя избавиться от ненужных проверок.
Умение пользоваться багтрекинговыми системами, системами написания тест-кейсов, а также хранением документации
Для постановки и контроля задач есть специальные сервисы, которые позволяют отслеживать, на каком этапе находится задача, ее приоритет и так далее. Одни из самых популярных – Jira, Redmine, Trello. Для систем написания тест-кейсов есть такие сервисы, как testRail, Qase, TestLink. В некоторых случаях вполне достаточно Google docs. Для хранения документации – Confluence, Notion и Wicki.
Понимание работы протоколов http/https, знание http запросов (Post, Get, Put, Option, Delete)
Для тестировщика важно понимать работу протоколов, а также знать структуру и типы http запросов, уметь читать ответы сервера. Не всегда проблема ошибки отображается явно на верстке, в некоторых случаях полезно проверять корректность общения между клиентом и сервером.
Умение работать с реляционными базами данных
Полезным навыком для тестировщика будет умение работать с системой управления базами данных (СУБД). Умение обращаться с СУБД заметно облегчит вам жизнь при работе на проектах с огромным количеством данных, для проверки целостности, а также корректной обработки данных. На начальном этапе от вас вряд ли потребуются высокоуровневые знания по работе с SQL, однако знание простых команд типа «выведение всех доступных баз данных» – SHOW DATABASES, «Просмотр таблиц, доступных в базе данных» – SHOW TABLES, Команды для создания запросов SELECT…; является достаточно необходимым.
Умение скачивать, читать логи мобильного приложения
Помимо описания путей воспроизведения бага, видеозаписи или скриншота, крайне полезно прикладывать логи работы мобильного приложения на момент воспроизведения бага. Это заметно облегчит жизнь разработчику в починке функционала. Также важно понимать, в какой именно отрезок времени воспроизвелся баг.
Умение гуглить
На самом деле было бы правильнее этот навык поставить на первое место списка, так как этот навык полезен не только для работы, но и в целом для осознанной жизни. По ходу работы у вас появятся 100 вопросов, и некоторые вещи для начала лучше уточнить у поисковика, чем у разработчика.
Английский язык
Большинство толковых документаций, полезных статей преимущественно пишется именно на этом языке.
Набор инструментов для проверок
Postman – инструмент для тестирования api. Это одно из самых популярных приложений, которое позволяет совершать отправку api-запросов, созданий коллекций запросов, создания полуавтоматических api-тестов.
Google Chrome Dev tools – консоль разработчика есть на всех браузерах, но по функционалу и удобству больше всех развилась именно эта, поэтому изучение стоит начать именно с нее. Это инструмент для проверки веб-сайтов, который поможет вам отслеживать запросы, проверять работу сайта, изменяя сигнал интернет-соединения, проверять верстку сайта на разных размерах. Также у GCDt есть шаблон с размерами мобильных устройств.
Эмуляторы Android Studio и Genymotion. Иногда в компаниях не всегда бывают устройства, заявленные в требованиях, и, чтобы не откладывать проверки, можно воспользоваться эмуляторами мобильных устройств.
Jmeter – инструмент для нагрузочного тестирования. У него достаточно низкий порог вхождения. Помимо нагрузочного тестирования, Jmeter можно использовать как-прокси сервер для отслеживания запросов, проходящих через ваш продукт.
Терминалы – как правило, они не имеют графическую оболочку и являют собой просто командную строку.Терминалы имеют более низкую нагрузку на систему, и поначалу может быть непривычно их использовать, однако потом трудно будет перейти на графику. В тоже время в некоторых случаях терминал не прощает ошибки, но умение работать с ним достаточно полезный и необходимый навык для тестировщика. В некоторых случаях с помощью терминала можно совершить больше действий, чем мышкой.
Список материалов, которые помогут вам познакомиться с основами тестирования:
Способы применить теорию на практике
С теорией определились. Что же делать с практикой? Самый простой путь – взять любой сайт, и начать составлять тест-кейсы, чек-листы, проходить по ним. При нахождении ошибок составить баг-репорты и отправить их в службу поддержки. Как минимум, +100 к карме от разработчиков вам упадет, будьте уверены.
Для набора опыта стоит попробовать себя в crowd-testing – на фриланс площадках для тестировщиков. Подробнее об этом можно прочитать в статье.
Также некоторые компании выставляют свои проекты с открытым исходным кодом, чтобы желающие могли потестить и оставить какие-то замечания или пожелания о своем продукте. Не стесняйтесь участвовать на различных бета-тестах игр или программ. Как правило, именно на этих сырых приложениях бывает куча багов, которые легко отлавливать.
Кроме того, можно вступать в профессиональные сообщества. Например, QA mobile community – сообщество мобильных тестировщиков, сообщество по автоматизированному тестированию, сообщество тестировщиков Казани. Это заметно улучшит качество вашего развития и увеличит шансы обрести хорошую работу. Вступайте в группы в соцсетях, которые помогли бы вам обрести новые профессиональные знакомства. На примере опыта коллег по цеху вы сможете обрести свой и избежать некоторых ошибок, хотя иногда полезно и ошибаться.
Как научиться тестировать ПО
Считается, что через тестирование можно легко зайти в ИТ. Мы спросили наших специалистов по тестированию, как это реализовать без поступления на профильные программы обучения в вузы. Оказалось, что можно ограничиться базой по информатике, одной книжкой по тестированию и правильным выбором, где получать первый опыт. Правда, приправить это надо собственной заинтересованностью и усердием.
Под катом — наши советы и ответы на распространенные вопросы новичков. Есть немного и о том, куда двигаться дальше, когда кажется, что потолок знаний близко.
Нужна ли тестировщику база в ИТ?
Откровенно скажем, желательна.
Большинство наших специалистов в той или иной форме увлекались ИТ с детства или как минимум учились в профильных вузах, т.е. уже имели какую-то базовую подготовку еще до прихода в тестирование. Часть из них начинали как разработчики (учились на разработчика) — отдельные “тестовые” направления еще лет 10 назад отсутствовали. Так что у нас перед глазами просто нет “антипримера” такого пути.
Сейчас в ИТ действительно много тех, кто такую подготовку не проходил. И им немного сложнее двигаться вперед. Чтобы справиться с задачами в тестировании, необходимо как минимум уметь поставить операционку, понимать, как развернуть тестовое приложение и необходимое окружение, как создать репозиторий в Git, погуглить ответы на свои вопросы, покопаться на специализированных ресурсах вроде Stackoverflow. По сути это и обеспечивает общая база по информатике.
Но и эти знания вполне можно освоить по книгам или курсам в интернете. Сегодня недостатка в источниках информации нет. Главное, чтобы была заинтересованность и время, которое можно на это выделить.
В тестировщики или в разработчики?
Тестирование тестированию рознь.
Требования к начинающему ручному тестировщику не очень высоки. Пожалуй, это и есть та самая “легкая дорога в ИТ”. Здесь нужно знать базовые принципы тестирования, о которых мы поговорим чуть позже, и иметь упомянутую выше базу. Правда, от ручных тестировщиков постепенно уходят, чтобы проверять программные продукты быстрее и эффективнее. Поэтому так или иначе со временем все “ручники” начинают писать код или заниматься метриками и анализом. Но это не значит, что нельзя начать свою карьеру в статусе джуна-”ручника”.
Автоматизатор тестирования уже ближе к разработчику. В базе знаний у каждого автоматизатора обычно значится как минимум один язык программирования — тот, на котором ведется разработка автотестов (это не всегда основной язык разработки на проекте). Занимаясь автоматизацией, также важно знать шаблоны проектирования и уметь применять общие принципы разработки — расширяемость, читаемость, легкость переиспользования. По сути автотест — это та же программа, которая должна соответствовать заранее заданному сценарию.
Чтобы начать работать автоматизатором, помимо знаний о тестировании в целом, необходимо иметь минимальные знания в объектно-ориентированном программировании, представлять, как написать простейший “Hello World!”.
Выбирая направление, вряд ли стоит смотреть на сиюминутную популярность специалистов на рынке труда. Средние показатели спроса и зарплат в ИТ — вещь очень специфическая, они зависят в том числе и от смежных знаний. Кто бы мог подумать, но специалисты по разработке на каком-нибудь Delphi сейчас в банковском секторе востребованы, несмотря на то, что в других отраслях язык не пользуется вообще никаким спросом. Здесь все работает по законам рынка: специалистов мало, а спрос на них остался, поскольку кому-то же надо поддерживать легаси.
Так и в тестировании. Сейчас есть спрос на JS-автоматизаторов. Он велик, потому что запросы у бизнеса большие, но еще не успели выучиться те люди, которые встали на данный путь с первым появлением интереса рынка. Как только они выучатся и пойдут работать, ситуация может измениться.
В этом изменчивом мире именно базовые знания — понимание, что и как тестировать в принципе, какие бывают подходы, — а также умение быстро усваивать информацию помогут быстро переориентироваться на смежный стек технологий.
Что почитать?
Тестирование, да и ИТ в целом, — бурно развивающаяся отрасль, поэтому часто можно встретить скептическое отношение к книгам. Слишком уж у них велик “цикл производства”. Писать, издавать, распространять — долго. Он растягивается более чем вдвое, если мы говорим о переводной литературе.
Однако одну книгу наш отдел тестирования рекомендовал почти единогласно — “Тестирование Дот Ком” Романа Савина. Это самая известная книга по теме, которая просто и доступно вводит в курс основных понятий и процессов в ручном тестировании. И хотя она издана довольно давно, базовые знания, изложенные в ней, до сих пор актуальны. Пожалуй, ее читали процентов 80 всех тестировщиков в странах СНГ.
Другие рекомендации легко найти в распространенных в интернете “списках N книг для начинающего тестировщика”. Но в целом наша команда тестирования считает, что базы из книги Романа Савина будет достаточно для запуска дальнейшего процесса самообразования.
Стоит ли идти на курсы, тем более платные?
Мнение о курсах у наших специалистов неоднозначное.
Любые учебные программы полезны тем, что они дают сразу много информации в структурированном виде. Информация собрана в удобные для освоения фрагменты, разделена по этапам. Уровень за уровнем можно идти по учебной программе, как в игре, и получать полезные знания.
Идти на курсы можно с одной из двух целей — либо закрыть какие-то пробелы в знаниях, либо закрепить уже известную информацию. В зависимости от целей усваиваться все будет по-разному. Но из-за обилия новых знаний осядет далеко не 100% полученной информации. С этой точки зрения самостоятельное обучение на конкретном проекте полезнее. Собранные сведения или найденный ответ точно задержатся в голове. Правда, на это уйдет немного больше времени.
Не все стены стоит пробивать своим лбом. И правильный баланс, где стоит послушать лектора на курсах, а где — попробовать что-то выучить самостоятельно, каждый определяет для себя сам. Этот баланс есть и в любой другой сфере: наверняка вы про себя уже знаете, легче вам учиться самостоятельно или слушать преподавателя.
Перейдем к конкретике. Несколько раз в беседах с нашими специалистами по тестированию всплывали курсы Алексея Баранцева, например по функциональному тестированию для ручных тестировщиков или по автоматизации. Но понятно, что ими спектр возможностей для обучения не ограничивается.
Курсы, упомянутые в негативном ключе, мы здесь приводить не будем. Все зарабатывают, как могут, и профессиональное образование — это такой же бизнес, как и все остальное. Поэтому прежде чем платить кому-то деньги за освоение профессии, стоит потратить время на исследование рынка.
Учебные программы лучше всего выбирать по отзывам. При этом не стоит смотреть отзывы на сайтах самих курсов или пропагандирующих их учебных заведений. Лучше искать отрицательные комментарии в социальных сетях. Позитивные отзывы часто оставляют те, кто еще учатся — кто не может высказать все, что думает об учебном процессе. Истина вскрывается, когда они выпускаются и начинают переосмыслять то, что с ними происходило. К слову, негатив вы, скорее всего, найдете о любом учебном заведении, вопрос лишь в том, сколько его будет и каково будет его содержание.
Хорошие курсы должны подразумевать не просто рассылку видеозаписей с последующем сбором домашнего задания. Необходима нормальная обратная связь с преподавателем или наставником, который объяснит, в чем ошибка, в каком направлении стоит двигаться, чтобы правильно решить поставленную задачу. А видеоролики можно посмотреть и бесплатно (а потом и задачки из интернета порешать).
Кому-то, вероятно, будет важно и комьюнити вокруг обучения. Совместные решения сплачивают коллектив, параллельно развивая софт скиллы, необходимые для последующей работы в команде.
Стоит ли ездить на конференции?
Конференции — очень полезный элемент ИТ-мира. В первую очередь это площадка для обмена опытом. Здесь редко можно найти доклад, который ответит на сиюминутный частный вопрос в какой-то конкретной ситуации. Зато можно наткнуться на подходы к решению схожих проблем, которые вполне приложимы к вашей ситуации.
На некоторых конференциях можно встретить “базовые” доклады, позволяющие почерпнуть начальные знания в новом для себя сегменте, например в автоматизации. Но чаще это, конечно, информация для более опытных специалистов. В целом конференция — это, скорее, место для нетворкинга и получения смежных знаний (рядом со своей текущей специализацией, например на другом языке).
Стоит отметить, что большая часть вопросов, обсуждающихся на конференциях, есть и в интернете. Единичные мероприятия могут дать какой-то действительно неочевидный опыт.
Многие доклады с конференций можно найти в записи онлайн. Главное не зацикливаться на их просмотре. Если смотреть много видео, но мало практиковаться, толкового саморазвития не выйдет. Во всем нужен баланс. Кстати, в отличие от просмотра докладов, личное присутствие на конференциях — это обычно еще и знакомства, общение с людьми, с которыми можно обсудить текущие проблемы и вопросы.
Где взять первый опыт?
Настоящий опыт тестирования можно получить только на работе в реальном проекте. Чем больше кода вы напишете собственными руками, тем эффективнее вы будете решать следующие задачи, потому что прочитанная теория без практики быстро забывается.
В реальном проекте обучение пойдет гораздо эффективнее. Будут возникать конкретные проблемы, их решения можно искать в Google или на форумах. Путь, проложенный самостоятельно, в будущем сильно поможет. Естественно, путь этот стоит прокладывать не с нуля — поэтому мы выше и рассказывали о том, где стоит искать начальные знания.
Вместе с общей базой любой проект даст определенную степень специализации. Может быть, это будет тестирование продуктов под разные операционные системы, клиент-серверные приложения или инструменты для серверов. Все это потребует своих сопутствующих умений.
Ценно, когда на этом пути вас сопровождают коллеги. Поэтому для начинающего очень важно правильно выбрать компанию. Для новичка лучше устроиться в крупную организацию, где уже определены стеки технологий для каждого вида продукта, выстроены все процессы, есть тестовая документация и множество команд, у которых можно подсмотреть решение или спросить совета. На первых порах системный подход к тестированию и идеология внутреннего обмена опытом гораздо важнее, чем обещанная зарплата. А еще, будем откровенны, в крупных компаниях ответственность за неверные стратегические решения довольно размыта, так что можно спокойно набираться опыта, не рискуя всем бизнесом своего работодателя.
В небольших компаниях и стартапах отношение к тестированию зачастую иное. Кто-то что-то где-то тестирует — и хорошо. Как надо тестировать правильно, они не расскажут. Наоборот, в обход всех процедур в пятницу вечером будут заливать новые релизы на продакшн, а дотестировать их уже потом.
На такие “дикие пляски” лучше идти более подготовленным специалистам, которые понимают, в чем здесь отступление от классических процессов. У человека без опыта работа в таком режиме породит только кашу в голове. Скорее всего, ничему хорошему он тут не научится.
В целом, если вам не повезло с местом работы, не обязательно срочно собирать вещи. Главное найти специалиста, на которого можно опереться в поисках правильных решений — эдакого ментора и советчика. Кстати, ментора не обязательно искать среди коллег. Это может быть и сторонний человек, который подскажет, что изучить и куда посмотреть. Правда, посторонний человек вряд ли будет погружен в тематику проекта. Общаясь с ними, вероятно, придется и про NDA вспомнить.
Джун, миддл, сениор. А есть ли путь дальше?
На своем проекте тестировщик обычно вынужден ограничиваться существующим стеком технологий. Смена стека, как и смелые эксперименты, обычно довольно затратна либо связана с изменением места работы. Однако и в рамках стека где-то до уровня сениора проблем вам хватит — это не один год упорного труда и самообразования.
Когда покажется, что вы уперлись в потолок, можно развиваться в управленцы или идти “вширь” — изучать новые фреймворки и инструменты, поднимая свою цену на рынке труда. Важно, что при изучении разных подходов у вас будет формироваться то самое комплексное видение, которое поможет лучше решать, казалось бы, нерешаемые задачки даже внутри вашего стека.
Как и в разработке, в тестировании есть малая доля задач, которые подразумевают более глубокое знание, например, математики. Разговор о ней начинается там, где математика всплывает и в самой разработке — в высоких нагрузках и т.п. Это еще одно направление возможного роста для тех, у кого в голове могут укладываться действительно масштабные логические структуры (и кому скучно в стандартных задачах тестирования). Таких задач на рынке совсем немного. Но за счет них возможность дальнейшего саморазвития сохраняется и для тех, кто не хочет идти по управленческому пути развития.
Дополнительные ссылки
Материалы по тестированию есть на http://www.protesting.ru/. Там много теории и немного практики. Можно найти базовую информацию о том, какие бывают виды тестирования, что такое тест-кейс, тест-план и т.п. Правда, ресурс этот развивается с 2000-х годов, поэтому некоторая информация успела устареть. Но по базе здесь можно найти ценные примеры.
Форум на ресурсе https://software-testing.ru/forum/ — это своего рода аналог Хабра для тестировщиков (по большей части для автоматизаторов). Там много полезной информации именно начального уровня — на Хабре в разделе тестирования больше более продвинутых статей, а тексты для новичков появляются все реже и принимаются аудиторией все хуже.
Спасибо специалистам по тестированию нашей компании за помощь при подготовке статьи!
Как стать тестировщиком с нуля
Основы тестирования можно освоить без курсов за 120K. Наш QA-инженер Антон в прошлом работал на стройке и самостоятельно переучился на тестировщика игр за полгода. В статье он расскажет, как нашел бесплатный курс, сколько часов в день тратил на теорию и зачем в перерывах между занятиями рубил дрова.
«Ребята, работаю охранником, мне 40 лет. На кого пойти переучиться?» Этот пост на Пикабу сразу меня зацепил: я мечтал бросить работу на стройке, но не знал, чем зарабатывать дальше. В комментариях увидел ссылку на бесплатный курс по QA. Посмотрел вводный урок о профессии тестировщика и на следующий день уволился.
Видео, после которого я решил учиться на тестировщика. Скриншот с YouTube
Составьте план обучения
После увольнения устроил себе долгий-долгий отпуск. Шучу 🙂 Сразу сел за курс и, вдохновленный, решил изучать его по 8 часов в день. Не считал, сколько месяцев буду осваивать основы тестирования, а потом искать работу. Не считал, сколько денег нужно на этот период.
У нас с женой было отложено около 90 тысяч, казалось, нам хватит надолго: машины нет, квартира своя. Ели гречку, макароны, сосиски, хлеб. Из развлечений оставили только прогулки по улице.
Отложенные деньги закончились через 4 месяца, а я еще не открывал сайты с вакансиями. Пришлось переехать к родителям жены: мы не могли даже оплатить коммуналку. Тогда я поставил себе дедлайн — через 2 месяца устроиться в IT-компанию.
Совет: сразу решите, когда закончите учебу и станете искать работу. Рассчитайте, сколько денег нужно на этот период. Не начинайте ничего без финансовой подушки.
Найдите базовый курс для тестировщиков
Я не хотел платить адские деньги за курсы: в интернете есть тысячи бесплатных материалов по основам тестирования. Но в них легко запутаться, особенно когда не знаешь базу. Поэтому я сосредоточился на бесплатном курсе Михаила Портнова «Тестирование программного обеспечения в США», который рекомендовали на Пикабу.
Курс — топ за свои деньги 🙂 Во время уроков Михаил Портнов шарит экран компьютера и показывает, как ищет баги и пишет баг-репорты. Иногда он отвлекается от теории и рассказывает истории из жизни, чтобы мотивировать новичков. В курсе 23 видео по 2 часа, есть проверочные онлайн-тесты и практические задания. Минус — нет обратной связи.
Пример домашнего задания из курса Михаила Портнова. Скриншот с YouTube
Чтобы лучше запомнить уроки, я конспектировал их от руки. Не забивал на домашние задания, старался сделать на «отлично» — как если бы от качества зависело, отчислят меня с курса или нет. В конце дня перечитывал свои конспекты и вслух пересказывал их жене.
Конспект от руки, как в универе
Совет: заучивайте лекции, делайте домашки, и тогда любой курс будет работать.
Ограничивайте и сортируйте информацию
К базовому курсу я подключал другие источники. Если в уроке попадался незнакомый термин — какая-нибудь «верификация» или «валидация», — то ставил видео на паузу и шел гуглить. Изучал все статьи подряд. Думал, чем больше прочитаю, тем лучше разберусь, но по факту либо читал одну и ту же информацию в разной подаче, либо углублялся в экспертные дебри, в которых ничего не понимал. В итоге решил смотреть не более двух-трех сайтов по непонятной теме.
Когда серфишь, список закладок растет в геометрической прогрессии. У каждой статьи по десять ссылок на другие статьи, а у тех статей — еще десять. Под конец обучения я боялся открывать свои закладки: там царил неудержимый хаос. Я так и не решился его упорядочить и потерял много классных ресурсов.
Совет: не пытайтесь прочитать весь интернет. Изучайте темы:
— как составлять тест-кейсы,
— как составлять чек-листы,
— что такое классы эквивалентности и как их выделять,
— что такое метод граничных значений,
— как правильно оформить баг,
— какие бывают виды и уровни тестирования,
— что такое клиент-серверная архитектура и как она работает.
Сохраняйте полезную информацию по этим темам в закладки. Сортируйте закладки по папкам.
Занимайтесь краудтестингом
Как только я прошел половину курса, захотел применить свои знания на практике.
Чтобы получать много заказов, нужно много девайсов. У меня был только комп, мой мобильник и мобильник жены. Я поставил виртуальные машины с различными ОС и Android Studio на свою винду. Так набралось 20 девайсов, которые я и указал в профиле. С инвайтами проблем не было.
Проблемы были с оформлением багов. Мне возвращали баг-репорты, потому что неправильно называл баги, описывал их не по ТЗ, прикреплял мало скриншотов. Я переделывал, переделывал и еще раз переделывал. В итоге за несколько месяцев на краудтестинге научился правильно оформлять баг-репорты.
Совет: сосредоточьтесь на качестве баг-репортов, а не на их количестве.
Отдыхайте от учебы (хоть иногда)
Освоением новой профессии я занимался по 11 часов в день: 8 часов на теорию и 3 — на практику. Во время обеда быстро грел еду и сидел с тарелкой за компьютером. Когда голова совсем закипала, позволял себе максимум 5 минут, чтобы встать со стула и пройтись по комнате. Никаких соцсетей, просмотра новостей и видосиков на Ютубе.
Такой экстремальный режим измотал меня: хуже запоминал информацию, быстро уставал. Поэтому решил делать нормальные перемены в течение дня — по 15–20 минут каждые 2 часа. В это время гулял вокруг дома, рубил дрова, помогал с домашней работой. Если не находил проект на краудтестинге, то вечером со спокойной совестью отдыхал.
Совет: устраивайте перемены по 15 минут каждые несколько часов. Полноценно отдыхайте по вечерам.
Смотрите, читайте, слушайте
Сложно учиться 8 часов подряд, даже с небольшими передышками в течение дня. Чтобы голова не закипала, я постоянно переключался между просмотром видео, чтением бумажной книги, изучением сайта и т. д.
Как это выглядело? Когда начинал тупить над видеоуроком, переключался на чтение книги. Когда начинал перечитывать абзац по сто раз, включал подкаст про тестирование и ложился на диван. Когда переставал слышать информацию, открывал форум по тестированию. И так по кругу. Иногда в течение часа менял источники каждые 20 минут.
Совет: переключайтесь между источниками информации, как только начинаете тупить. Заранее составьте список книг, сайтов, подкастов или воспользуйтесь перечнем, который я спрятал под кат в конце статьи.
Ищите вакансии на позицию интерна
Чтобы стать тестировщиком с нуля, я потратил полгода. Первые четыре месяца просто учился, оставшиеся два — учился и искал работу. Искать было тяжело, получил 15 отказов и почти отчаялся, но тут мне попалась вакансия Plarium Krasnodar. Они набирали тестировщиков онлайн-игры без опыта работы на позицию интернов. Интерны — это специалисты начального уровня: компания обучает их, так как видит потенциал.
Мое сопроводительное письмо в одну из компаний. Только за образец брать не надо, ладно?
Теоретические знания и опыт в краудтестинге помогли мне выполнить тестовое задание, а на собеседовании ребята расспрашивали про мое самообразование. Через день позвонила HR и сказала, что меня берут в интернатуру. Первые 3 месяца я обучался под руководством крутого тестировщика, потом сдал финальный тест и стал самостоятельно заводить баги. В этом месте звучат фанфары, и занавес медленно опускается 🙂
Не совет: я не знаю, как закончить статью. Писать что-то из серии «Иди к своей цели» или «Ученье — свет» не хочется. Поэтому беру помощь Хабра. Опытные тестировщики, давайте вместе сделаем статью полезной. Что еще можно почитать/посмотреть новичкам? Какие курсы рекомендуете?
Книги
«Тестирование программного обеспечения. Базовый курс», С. Куликов. Написана простым языком, с юмором.
«Тестирование программного обеспечения», С. Канер, Д. Фолк, Е. К. Нгуен. Книга сложная. Осилят не все.
«Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах», Р. Савин. Для новичков, без сложных терминов.
«Быстрое тестирование», Р. Калбертсон, К. Браун, Г. Кобб. Книга о том, как тестировать быстро и качественно.
«Кровь, пот и пиксели. Обратная сторона индустрии видеоигр», Дж. Шрейер. Прочитайте, если хотите идти в геймдев.
«Как тестируют в Google», Дж. Уиттакер, Дж. Арбон, Дж. Кароло. Общая информация о работе QA в большой корпорации.
Сайты
Сообщество программистов DOU. Новости, тренды тестирования и IT-индустрии в целом.
Software-Testing.Ru. В разделе «Библиотека» есть подраздел для новичков — «Начинающему тестировщику». Там много мегаполезных статей.
Testbase.ru. Коротко об основах тестирования. Помогает разобраться в терминах.
Группы ВКонтакте
QA тестирование и котики. Вакансии, приколы, практические советы.
Ключ седого тестировщика. Создатели сообщества регулярно отвечают на вопросы новичков.
QA Club. Много видеоконтента о тестировании.
QA NINJAS. Работающий тестировщик делится своим опытом в статьях.
Телеграм-каналы
QA — Курсы и образование. Обсуждение курсов, книг, мастер-классов по тестированию.
QA — Bad Company! Про компании, в которые стоит или не стоит идти тестировщику.