Как я стал тестировщиком, не имея опыта в ИТ
Рассказ QA-инженера, который поможет новичкам понять, что нужно знать и уметь, чтобы стать специалистом в тестировании
25К открытий26К показов
Михаил Егоров
старший инженер-тестировщик в Bercut
Принято считать, что QA инженер — самая простая позиция по порогу вхождения в IT сферу. Но для новичков может быть не все так очевидно, поэтому давайте попробуем разобраться, что же нужно, для того, чтобы стать специалистом в тестировании.
О себе
Сначала скажу пару слов обо мне, почему, собственно, я могу рассуждать о том, как стать тестировщиком. Я работаю в компании Bercut. Компания создает и внедряет софт для мобильных операторов. Сейчас я старший инженер-тестировщик. Но так было не всегда.
Я пришел в Bercut второкурсником магистратуры. Позади был опыт работы продавцом консультантом в магазине компьютерной техники и очень общее представление о том, что такое тестирование. Мое образование и опыт никак не были связаны с IT и программированием, я понимал, что будет трудно, но очень хотелось развиваться именно в этом направлении.
С чего начать
Начать, пожалуй, стоит с определения тестирования. Самое доступное определение для тестирования, на мой взгляд это — проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. Подробнее разобраться с теоретической частью поможет книга Савина Романа «Тестирование Дот Ком или Пособие по жестокому обращению с багами в интернет-стартапах». Эта книга дает ответы на многие вопросы, связанные с теорией тестирования и проста в понимании. Я начинал именно с нее.
После этого советую ознакомиться со следующими понятиями, которые будут полезны для понимания процесса:
- стадии цикла разработки ПО;
- методологии тестирования;
- техники тест-дизайна.
Технологии, технологии
Естественно, одной теории о тестировании будет недостаточно, поэтому следующим этапом можно обозначить изучение технологического стека, используемого в какой-либо компании.
Я занимаюсь тестированием back-end’а (подробнее о front-end и back-end). И в моем случае, стек технологий, который мне нужен, выглядит примерно так:
- сетевые протоколы (HTTP);
- XML и Json;
- REST и SOAP;
- Shell;
- Testrail;
- базы данных (SQL);
- SOAP-UI;
- SVN – на уровне пользователя.
Навыки по стеку необходимых технологий можно развивать всю жизнь, так как это большой пласт информации, и охватить его полностью практически невозможно. Поэтому для первой работы достаточно основных аспектов (примеры в ссылках).
Естественно, стек может меняться от компании к компании, поэтому советую отталкиваться от требований, указанных в вакансии.
От теории к практике
После того, как я много чего прочел и изучил, пришло время переходить к практике, то есть, искать работу. Здесь я вижу несколько вариантов развития событий.
Первый, простой, но более долгий. Можно устроиться на стажировку, где получить все нужные практические навыки для работы на должности тестировщика.
Второй, заключается, так сказать, в работе над ошибками. То есть можно ходить по собеседованиям в разные компании и, исходя из вопросов, которые задаются, сформировать план развития, чтобы закрыть пробелы в знаниях.
Что касается меня, я начинал с позиции инженера технической поддержки. Это первая линия работы с заказчиком, прием звонков, заведение заявок. Этот опыт позволил мне получить представление о технологиях как компании, так и заказчика, о нюансах работы операторов, базовое понимание процессов.
Развитие
После трудоустройства нужно развиваться, чтобы стать специалистом. Для этого нам нужно:
- Активная позиция – принимаем участие во всех заданиях и проектах, где предоставляется возможность. Я, например, выступал на митапе тестировщиков внутри нашей компании, проводил обучения для заказчика, да даже написание этой статьи тоже является проявлением активной позиции. Поскольку, когда рассказываешь какой-то материал кому-то — это хороший способ самому в нем разобраться.
- Вникаем в продукт, который тестируем, наращиваем экспертизу. Функциональность, которую я тестирую, объемная и разбивается на логические блоки. И я стараюсь принимать участие в тестировании не только одного конкретно блока, а охватить как можно больше, чтобы сформировать целостное представление о продукте, а не быть узконаправленным специалистом.
- Чтобы освоиться, не стесняемся и терзаем коллег, поскольку в большинстве ИТ компаний по моему опыту (и опыту моих друзей) царит дружелюбная атмосфера в команде.
- Углубляем знания по технологическому стеку. В моем случае развитие строится на выполнении рабочих задач. Например, моя основная деятельность, это все-таки ручное тестирование, но для развития я прошу ставить мне задачи по написанию автотестов. На данный момент я не силен в этом и иногда оказываюсь в тупике, не знаю как выполнить конкретную задачу, поэтому для выполнения конкретного шага необходимо прибегать к самым разным ресурсам интернета (гуглить) или спрашивать более опытных коллег.
И еще важно никогда не сдаваться. Когда мне предложили стать тестировщиком, я согласился, но совершенно не представлял, чего ожидать от новой позиции. Конечно, сначала было сложно: учиться приходилось и на работе, и дома. Коллег я буквально засыпал вопросами. Постепенно я стал специалистом в ручном тестировании. Теперь моя цель – стать экспертом в автоматизации тестирования.
25К открытий26К показов