Советы сеньоров — новая рубрика, в рамках которой опытные специалисты будут давать практические советы джуниорам — общие лайфхаки по обучению, какие книги и ресурсы читать, какие навыки осваивать и многое другое. В первом выпуске говорим о тестировщиках.
Ярослав Пернеровский, Test Automation Lead в GlobalLogic, 12 лет в тестировании:
В самом начале карьеры сложно сказать, какие знания надо прокачивать, так как технические требования формируются конкретным проектом и технологиями. Если человек технически грамотен, то он сможет разобраться в любом вопросе, для этого ему понадобится помощь коллег либо комьюнити.
И тут уже критически важно владеть так называемыми «софт скилами»:
- правильно задавать вопросы;
- грамотно объяснять (касается также и написания баг репортов, тест кейсов и т.п.);
- уметь слушать.
Без наличия умений структурировать свои мысли устно и письменно, очень сложно будет двигаться дальше.
Если все же стоит цель именно «прокачать» что-то, то тут самое важное сконцентрироваться на чем-то одном. Например, очень сложно «выучить все тестирование». Гораздо проще освоить «тестирование конкретного приложения». Для этого нам понадобится само приложение и гугл. Остаемся с приложением один на один и пытаемся «тестировать» именно его. Искать проблемы, пытаться эти проблемы документировать, гуглим, как правильно это делать, делимся репортами с разработчиками или знакомыми. Пытаемся разобраться, как оно работает, какие технологии под капотом и т.д.
Что касается навыков, которыми должен владеть начинающий тестировщик, то в первую очередь это язык. Можно, конечно, Java или Python, но лучше английский! Хотя бы на уровне — читаю блоги без словаря.
Также нужно очень четко понимать, как работает то, что собрался тестировать. Уверенный пользователь екселя тут не совсем сработает. Надо понимать, как процессор обрабатывает команды, зачем нужна операционная система, базы данных, что такое веб-сервер. Что такое язык программирования, базовые навыки программирования тоже очень пригодятся.
Тестирование — это не самое простое занятие, как может показаться со стороны, это постоянно развивающаяся отрасль, в которой каждый день что-то происходит. Старые подходы сменяются новыми, сложные вещи упрощаются, тестируемые системы усложняются, разрастаются, уходят в облака и т.п. В таком ритме очень важно уметь и хотеть постоянно и непрерывно учиться.
Вообще самый полезный ресурс — это google.com, к нему следует обращаться в первую очередь.
- Один из самых раскрученных технических ресурсов — Хабрахабр;
- все о тестировании;
- блогЛеши Лупана;
- и, конечно же, DOU. Особенно QA дайджести цикл статей «Краш-тест резюме»;
- также рекомендую блогМакса Дорофеева. Это не о тестировании, но будет крайне полезно.
Также сильно рекомендую просмотр на YouTube и Vimeo докладов из разных конференций по тестированию: SQADays, QAFest, разнообразные QA Meetups, тыщи их.
Ну и не лишним будет ходить на эти конференции и митапы при первой же возможности.
Обычно все советуют начинающим читать Романа Савина. Я не советую, точнее предостерегаю от того, чтобы читать ТОЛЬКО Савина. Он сильно упрощает, а местами даже вредит, давая ложное чувство простоты.
Как по мне, настольная книга начинающего тестировщика — это Lee Copeland «A Practitioner’s Guide to Software Test Design».
Еще полезная книга — Lisa Crispin, Janet Gregory «Agile Testing: A Practical Guide for Testers and Agile Teams».
Для общего понимания, что может ждать человека на работе, также полезно ознакомиться с «Scrum и XP: заметки с передовой».
ИТ-курсы сейчас не критикует разве что ленивый и на это есть причины. Я считаю, что сам факт наличия курсов — это позитивно, но курсы не всем одинаково полезны. К сожалению, агрессивный маркетинг и идиотская реклама сделали свое черное дело и теперь войти в айти хотят все, но не всем это дано. Курсы нужны в первую очередь тем, кто уже сам давно начал разбираться во всех тонкостях, но кому не хватает структурированности и практики. Кто уже может работать и без курсов, но еще не совсем уверен. Хорошие курсы дают эту уверенность, хорошие курсы часто проводят практику на реальных проектах. Еще лучший вариант для таких людей пойти на стажировку в большие компании, и там зацепиться.
Но если человек идет на курсы с мыслью — «я плачу деньги, меня должны научить», то так не работает. «Научить» чему-то абсолютно новому за полтора-два месяца по 4 часа в неделю невозможно в принципе, можно только «рассказать». Но рассказы быстро забываются и нужный навык не формируется. Потому, если вы сами до этого не пытались разобраться, то курсы вам не помогут. Точнее они вам покажут, за ваши же деньги, что айти — это не для вас.
Я бы хотел, чтобы люди, которые собрались начать карьеру в тестировании, приходили сюда не ради денег, а потому что их это реально интересует, потому что они живут в этом мире и очень легко в нем ориентируются.
Если человек повелся на рекламу, а внутри у него страх и непонимание, то стоит задуматься, может все-таки что-то другое?
Алена Соколова Test Manager в Luxoft, около 8 лет в тестировании:
Работать. Именно работать. Сколько бы теории не было прочитано, без практики она улетучивается, забывается, не понимается. Это не значит, что не надо читать литературу по тестированию. Надо! Я, например, получила удовольствие от чтения и знания, которые помогли мне систематизировать опыт, полученный путем набивания шишек, готовясь к сдаче ISTQB CTAL по книгам Рекса Блэка. Пусть многие не согласятся, но, по моему мнению, книги для подготовки к ISTQB полезны для понимания базовой терминологии (CTFL) и описывают различные техники тест дизайна, подходы к тестированию и процесса в целом (CTAL). Еще замечательная книга, которая помогла мне освежить... да что там, не освежить, рассказала, что, как и почему надо делать, чтоб не работать как обезьянка — «A Practitioner’s Guide to Software Test Design»автора Copeland Lee. Однозначно стоит читать, разбирать задания в конце главы и практиковаться, пытаться применить на текущем проекте.
Быть проактивным. Помните про 7 навыков высокоэффективных людей Стивена Кови? Первый, базовый — быть проактивным. Нет, конечно, можно получать лычки за выслугу лет, можно попасть под руку менеджеру в нужный момент и резко возвыситься. Только знаний и умений это не даст. Проект закончился — и вы не можете найти работу, потому что есть опыт только в просиживании на теплом месте.
Что должен уметь среднестатистический джуниор тестировщик? Иметь представление, как описывать тестовые сценарии и правильно оформлять дефекты, знать, что такое тестирование черного ящика и понимать, чем регрессионное тестирование отличается от функционального. То есть задачи у джуниора, по сути, только технического характера (да, конечно, есть немного коммуникаций, письменных и устных, но их так мало, что ими можно пренебречь). Джуниору важны знания, непосредственно относящиеся к проверке функционала.
А вот мидлу уже нужно, кроме технических навыков, иметь представление о процессе, о планировании и эстимации, о сроках, о приоритетах. Понимать, чем отличается риск от проблемы и куда бежать, если идентифицировали первый или наткнулись на вторую.
Еще мидла, как мне кажется, отличает умение вовремя сказать, что он не успевает, не справляется. Джун часто не понимает, когда наступает этот момент — либо он через пятнадцать минут говорит, что не знает, что делать, либо у него уже все сроки прошли, а он все еще ждет, пока выполнится неоптимально написанный запрос. Синьор же, по определению, должен уметь выполнить задачу сам, без привлечения помощи со стороны.
Все вышесказанное — исключительно моя субъективная оценка: реалии вашей компании и проекта могут быть совсем иными. Именно поэтому я не говорю о прокачке знаний в доменной области. Где-то нужно понимать нюансы тестирования веб-приложений, а где-то, что такое своп и сколько у него ног.
Думаю, известные всем ресурсы, но все же упомяну:
- место, где можно отлично подучить и попрактиковать SQL;
- место, где много статей, блогов и литературы.
И еще пара интересных ссылок:
- сборникразличных книг по тестированию;
- и еще один сборник, но в формате интеллект-карты;
- блог по тестированию, который я очень уважаю.
Артем Быковец, Agile Coach в Levi9 / CEO & Coach в Start-IT Training Center, 7 лет в тестировании:
Хороший тестировщик как швейцарский нож. В первую очередь, как и у швейцарского ножа, у него есть одно предназначение — нож должен резать, а тестировщик должен хорошо тестировать. Поэтому тестировщик должен понимать, что такое тестирование, в чем заключается его задача, а также правильно приоритизировать свою работу в течение дня. Так как он задействован во множестве разных функций и контекстов, его разрывают, подкидывают какие-то задачи, причем не всегда относящиеся напрямую к тестированию — коммуникации, встречи, выяснение требований, объяснения разработчикам что, почему, как и куда, и в целом, если тестировщик не будет уметь справляться с мультизадачностью, мультипоточностью, ему будет тяжело в работе.
Кроме этого есть еще множество дополнительных навыков, которые от него ожидаются. Для каких-то проектов ему может понадобиться знание клиент-серверных технологий или знание SQL (если ему придется работать с базами данных), для некоторых проектов полезно знать объектно-ориентированное программирование и хотя бы какой-то один язык, а еще и дополнительные инструменты поверх этого, также может пригодиться знание инструментов тестирования производительности. Все эти навыки очень проектно зависимы и очень тяжело угадать наперед, куда именно ты пойдешь работать и какие знания тебе пригодятся.
С другой стороны, чем шире твой арсенал знаний, тем интереснее ты потенциальному работодателю. Ну и плюс, если ты способен все это быстро учить на ходу, то это очень полезный навык, который поможет в дальнейшем адаптироваться к изменениям проектных требований и контекстов.
Исходя из этого, сложно составить список маст-хэв навыков, которые тестировщик должен знать и уметь. Из основных — тестировщик должен уметь думать, быстро учиться, не бояться пробовать новое, уметь искать информацию и находить ее, уметь приоритизировать свое рабочее время, ну и, конечно же, уметь тестировать — тест дизайн, работа с документацией, грамотно описывать дефекты. А все остальное потом прибывает. Опять-таки, если швейцарский нож будет тупой, то все остальные его примочки уже никому не будут интересны.
Где же брать все эти навыки? В интернете огромное количество разных ресурсов, однако с ними надо работать очень осторожно, так как статьи пишут все, кому не лень. И советую смотреть комментарии под статьями — если 90% оставляет отрицательные отзывы, то не стоит это читать. Также не рекомендую читать статьи, которые подписаны индусами и нашими восточными коллегами, особенно это касается материалов, которым по
Если говорим про курсы, то лучше выбирать тех людей, которые показали какие-то результаты, а не просто создали красивый лендинг и обещают светлое будущее, молочные реки и кисельные берега.
Если мы говорим о практике, то лучше походить на конференции и послушать людей, которые уже с этим всем сталкивались.
По книгам сразу не советую читать Савина. У него есть очень популярная книга, которая выпадет вам первая в гугле — «Тестирование Дот Ком». Это хорошая книга для домохозяек, которые не знают, что такое тестирование. Брать за основу эту литературу нельзя, потому что описанное в ней очень сильно отличается от реальности. Если вы любите тяжелую литературу, такую, чтобы закипал мозг, можно почитать Канера. Но он тяжело заходит и все ли в нем полезно — скорее, нет, чем да. Из того, что действительно я рекомендую, как хорошую литературу для тестировщиков — это, пожалуй, «Как тестируют в Google», книга нашего белорусского коллеги Святослава Куликова «Тестирование программного обеспечения. Базовый курс»и Рекс Блэк «Ключевые процессы тестирования». Ну и я, как Agile Coach и ценитель Scrum, рекомендую почитать Agile Testingпервое и второе издание. Потому как, скорее всего, современному тестировщику придется работать в скрам команде и необходимо грамотно выстроить процесс, а иначе качество будет страдать. И чтобы качество не страдало, лучше учиться не по книжкам Савина, а по книжкам типа Agile Testing.
Еще советую замечательный сайт проекта Алексея Виноградова — Radio QA. На этом сайте — можно вступить в Slack канал, в котором тестировщики со всего СНГ (и не только) — всегда отвечают на умные вопросы и делятся опытом, лентяев там не сильно жалуют.
Ну и напоследок, никогда не забывайте обучаться. Обучение — это непрерывный процесс. Во многом помогают конференции. Поверьте, вы всегда найдете пару полезных докладов. Вы сможете познакомиться с профессионалами и задать им вопросы. Не закрывайтесь в ракушке, а выходите в мир общаться.
Сергей Иващенко, Lead QA Automation Engineer, 7 лет в тестировании:
В первую очередь джуниор джуниору рознь. Если говорить о джуниор тестировщике с 1 годом практического опыта и intermediate English, то ему стоит задуматься, в какую сторону ему хотелось бы идти дальше.
Прежде всего, нужно понять, что нравится в работе и каком направлении стоит работать?
К счастью, есть очень много путей.
Для проектного развития нужно учить доменную область продуктов, которые вы разрабатываете, чтобы рассматривать систему с точки зрения бизнеса, а не только технической стороны.
Для общепрофеcсионального развития надо посещать профильные конференции/семинары или смотреть доступные в интернете видео с прошедших конференций, слушать профильные подкасты. К примеру:
Также хороший тестировщик, в моем понимании, должен уметь читать и понимать код. Зачем? Да хотя бы потому, что тестировщики не всегда могут создать тестовые сценарии, рассматривая систему как «черный ящик». Более того, умение программировать и автоматизация — это уже не ремесло избранных, а просто инструмент, которым надо и нужно пользоваться. Отсюда вывод: учите языки программирования. Обладая ими, вы всегда сможете освоить «новомодные» фреймворки и понимать, как вы тестируете и зачем.
В этом выступлении я даю пару советов, как начать автоматизировать и где учиться этому.
А на этом ресурсесобран «ящик с инструментами», которые могут пригодиться автоматизатору на Java.
Также рекомендую сдавать профильные сертификации, которые помогут получить новые и структурировать имеющиеся знания.
На ДОУ мы уже имеем цикл статей для подготовки к ISTQB экзаменам:
Михаил Чуб, Senior Test Manager в Infopulse, 13 лет в тестировании:
Вы прочитали «Тестирование Дот Ком» Савина, прорвались через массу новых непонятных терминов на курсах для начинающих тестировщиков, прошли пробное интервью, подписались быть тестером в волонтерский проект, корпели над резюме и разослали его в десяток компаний, тренировались перед зеркалом, преодолели собственный страх и прошли успешно одно из собеседований. Ура! Теперь вы — джуниор! Казалось бы, можно теперь вздохнуть и осмотреться. Но нет, ведь это только начало :)
6 небольших историй помогут вам расставить приоритеты в дальнейшем саморазвитии.
История 1: Федор
Федор всегда был перфекционистом, отчасти и поэтому тоже его взяли на работу джуниор тестировщиком. Однако в работе это часто мешало: наш герой делал её хорошо, но не укладывался в сроки. На одной из конференций по тестированиюФедора пленили усы его спасителя — Карла Е. Вигерса, предлагавшего всего-то практиковать правильную приоритизацию. Со свойственным ему перфекционизмом, Федор разобрался в вопросе, и теперь был желанным участником любых встреч по планированию :)
История 2: Надежда
Еще с тех времен, когда она была старостой группы в университете, Надежда привыкла быть в ответе не только лишь за себя. Эта привычка регулярно подводила её в работе. Надежда с завистью смотрела на своих коллег — джуниор тестировщиков и завидовала тому, как они совсем не напрягаясь разрешают свои несложные задачи. Сама же она «болела» за качество продукта в целом, и в связи с этим список её более сложных задач рос быстрее чем таял, заставляя не на шутку переживать.
Не будь как Надежда — приветствуй дополнительную ответственность, она позволяет расти!
История 3: Устина
Устине нравилась её новая обязанность на проекте: предварительная подготовка отчетов о тестировании. Перед тем как показывать эти отчеты менеджеру проекта, их еще просматривал её тест лид. Едва ли в этом была большая необходимость, т.к. сам же тест лид и обратил её внимание на метрики тестирования, позволяющие взглянуть на ситуацию свысока. и научил пользоваться инструментарием для анализаи визуализации данных. К сожалению, даже мощный инструментарий Microsoft TFS не позволял настроить достаточно хорошую тестовую отчетность, и приходилось выгружать все данные по багам и тест кейсам в Excel, для анализа и обработки.
Тест лиду тоже эта её обязанность нравилась :) - это существенно разгружало его от сбора информации из системы управления тестированием и багтрекера, позволяя оперировать уже подготовленной аналитической информацией и сконцентрироваться на принятии решений. Впоследствии он рассчитывал и эти обязанности передать Устине, ведь она, даже будучи джуном, уже весьма неплохо оперировала метриками качества и процесса тестирования, и могла бы перенять ответственность за тестирование на одном из их маленьких проектов полностью. Осталось только формально запромоутить её до мидла.
История 4: Эдуард
В лицее Эдуарду очень повезло с преподавателем программирования, который привил своим ученикам интерес к предмету. Эдуард не сомневался, что выберет профессию программиста, однако на первую работу он внезапно устроился тестировщиком. Тестировать ему нравилось едва ли не больше :) Но и былое увлечение программированием манило. Знакомый автотестер из соседнего проекта обнадежил, сказав, что программировать все-таки нужно уметь. Это давало Эдуарду шансы соединить два нравящихся ему занятия в одно! Вместе с его тест лидом они подобрали наиболее релевантный технологическому стеку проекта курс по автотестированиюи запросили у образовательного отдела компании его оплату. После прохождения курса Эдуард не только козыряет новыми словечками вроде пэйджобджект или синглтон, но и умеет строить свой собственный фреймворк с нуля.
П.С. А еще иногда чекинит в гит юнит-тесты с проверкой на null, позабытые программистами ;)
История 5: Петр
Пётр, как ему казалось, оседлал волну новых веяний и трендов в мире тестирования благодаря тому, что внимательно следил за публикациями топовых блогеровв этой сфере. Однако в какие-то моменты он не был в этом уверен, т.к. чувствовал, что масса новых терминов и понятий танцует чехарду внутри его головы, мешая сосредоточиться и выбрать правильный вариант действий. Не в погоне за корочкой, а ради систематизации своих немалых уже познаний, Пётр начал готовиться к сдаче экзамена для получения ISTQB Foundation Level сертификата. Отмел курсы как слишком дорогие, купил книжку на Амазоне, вдумчиво прочитал её и попрактиковался на пробных вопросах. Взял и сдал. Теперь в голове про тестирование — все по полочкам, да и сертификат симпатичный :)
История 6: Павел
Уже целых полтора года Паша работал в компании, в которой из иностранных языков нужно было знать SQL да русский. Потому даже регулярные занятия по английскому, проводимые внутри компании, результата почти не давали. Внезапное предложение от старого друга — поработать на проекте для европейского заказчика, Паша принял, не задумываясь. Зная о своей слабой стороне — уровне английского, он принялся с рвением смотреть англоязычные фильмы на языке оригинала и слушать новости BBC. Кроме того, Паша выписывал все незнакомые ему по работе слова, с тем чтобы специальная программа на его смартфонепроговаривала эти слова вслух, пока он едет на метро на работу. Обилие англоязычной документации на проекте дисциплинировало Пашу и заставляло усерднее налегать на грамматику, чтобы поменьше ошибаться в описаниях дефектов и в письмах. Более всего он был горд за свою смелость по отношению к зарубежным коллегам. Несколько их каждый месяц на недельку приезжали в командировку, и Паша не упускал возможности поговорить с ними как о работе, так и «смысле жизни, вселенной и вообще» © И если поначалу его язык немел, и словарный запас регулярно подводил, то уже через несколько месяцев стал не только искренне смеяться шуткам (если смешные), но и мог иногда сносно пошутить сам :) И вот, через полгода, наконец-то, свершилось, то чего Паша долго хотел: он ехал в командировку! Если раньше, когда его одногруппники, работающие в других компаниях, делились впечатлениями о посещении Осло и Копенгагена, он мог похвастаться лишь поездкой в Горішні плавні, то сейчас он тоже сможет рассказать о всяком-разном, увиденном в Амстердаме :)
Будь как Паша — учи английский!