![](https://habrastorage.org/getpro/habr/upload_files/d0b/ef3/9d3/d0bef39d3e54b3ab9bbec6c17c47f4b8.jpeg)
У нас было пять стажёров, четыре специалиста-тестировщика, десять подготовленных презентаций, пятнадцать практических заданий, одна CTF, целое море различных книг, статей и курсов, а также желание получить хороших специалистов по тестированию в свою компанию. Не то чтобы это было категорически необходимо при подготовке трейни, но если уж начали организовывать стажёрскую программу, то к делу надо подходить серьёзно.
Меня зовут Лера, я инженер нагрузочного тестирования в R-Vision. В апреле у нас в компании стартовала первая стажёрская программа по подготовке специалистов-тестировщиков. Как автору идеи запустить стажировку мне пришлось взять основной удар по подготовке на себя. Но один в поле не воин, и в этом деле мне очень помогал и поддерживал руководитель отдела тестирования, а также коллеги из различных подразделений разработки наших продуктов. Сегодня я расскажу, с чего началась наша стажёрская программа, как она проходила и, главное, — чем завершилась.
С чего всё началось
Идея организации стажёрской программы пришла внезапно, вместе с необходимостью получить всё и сразу — хороших специалистов в кратчайшие сроки. Нескольким командам требовались тестировщики со стандартным наборов скилов: функциональное тестирование, тестирование API, базовые знания SQL, но подбор занимал много времени. Проблема зрела и копилась, пока однажды я в шутку не предложила: «А давайте организуем стажёрскую программу?».
![](https://habrastorage.org/getpro/habr/upload_files/365/a03/6aa/365a036aa672ee45edba195332cd0f7c.jpeg)
Как автору такой потрясающей идеи мне было предписано подготовить всё к обучению: составить программу, подобрать дополнительную литературу для обучения, подготовить лекции и практику для оценки усвоенных (или не очень) знаний.
От подготовки к реализации
Первой задачей было определить, какие именно скилы тестировщиков наиболее востребованы в различных командах. Для этого мы с руководителем отдела тестирования организовали созвон с тимлидами, во время которого они постарались составить список самых важных для них компетенций, чтобы в дальнейшем внести их в план обучения. Таких компетенций вышло не очень много, но все они максимально разнились: от подробного знания сетей до баш скриптов и git. Естественно, не обошлось без техник тест-дизайна, начальных знаний вёрстки и тайм-менеджмента.
Такой объёмный список компетенций должен был поместиться в два месяца (сразу скажу, мы справились быстрее) обучения, причём последний должен был включать непосредственную работу с командами и реальные проектные задачи.
За месяц лёгкой паники и большого количества кофе мне удалось породить план обучения, в котором каждой новой теме отводилась неделя-две изучения. В итоге получилось двадцать основных тем: теория тестирования, сети, базы данных, клиент-серверная архитектура и тестирование API, вводная по автоматизации тестирования, нагрузочному и безопасности.
Вот так выглядел список тем обучения:
Жизненный цикл (ЖЦ) разработки ПО, место тестирования в ЖЦ, определение тестирования, цели и задачи тестирования, критерии старта и завершения тестирования;
7 принципов, причины возникновения багов, 4 уровня независимости тестирования, виды продуктов (веб, десктоп, мобайл и т. д.);
Тестовая документация: тест-кейсы, чек-листы, тест-планы;
Техники тест-дизайна: эквивалентное разбиение, граничные значения, попарное тестирование, таблица решений и т. д.;
Анализ требований, тестирование требований, управление требованиями, частые проблемы требований;
Тайм-менеджмент: методика Getting things done, инструменты приоритизации, пожиратели времени, личная эффективность;
Agile и Scrum;
Баг-репорты, типовые проблемы, анализ причин возникновения ошибки, использование баг-трекинговых систем;
Эстимации, покер-планирование, приоритизация;
Виды тестирования;
Windows, Linux, виртуализация и докеризация;
Клиент-серверная архитектура, однозвенная и многозвенная, виды серверов;
Модель OSI, сетевые протоколы, сетевые утилиты, протоколы передачи данных, rest, soap;
HTTP (S), методы HTTP, коды ответа HTTP;
HTML и CSS, JS;
DevTools, Fiddler, Postman, тестирование API;
Теория баз данных, SQL;
Работа с git;
Регулярные выражения;
Основы автоматизации, нагрузки и безопасности.
Все технические темы дополнялись практическими заданиями, а также лекциями по продуктам, особенностям коммуникаций, тайм-менеджменту и лучшим практикам от других направлений разработки.
Стажеры во время обучения работали на полставки в день. Из этих четырёх часов полтора часа отводилось на лекцию, затем полчаса на обсуждение вопросов и проверку домашнего задания, и два часа — на практическую работу.
Что говорят стажёры о нашей программе
![](https://habrastorage.org/getpro/habr/upload_files/cf5/79f/f16/cf579ff16244444f34b9b794d339b565.png)
Анастасия
Мне понравилось практически всё время обучения. Было здорово, что теория подкреплялась практикой и примерами. Очень интересными были взаимные опросы, когда мы задавали друг другу вопросы на проверку знаний, и классно было обсуждать их подробно, а не просто проходить вскользь. Здорово было заниматься практикой не на оценку, а выполнять задачи и сразу разбирать возникшие проблемы. Так было с SQL, работой с API и с jmeter.
Сложно было с лёту знакомиться с gitlab/github и с работой на сервере (через mobaXterm/winSCP), немного не хватило знания основ или какого-то введения, может быть, касательно основных структур сервера. И то, в целом это было решаемо, сейчас особо вопросов не возникает. Могу ещё дополнить, что не хватило введения в автоматизацию практического и теоретического, всё-таки с кем-то в этом легче разбираться, но думаю, это можно организовать снова внутри или между команд.
![](https://habrastorage.org/getpro/habr/upload_files/b1c/948/0db/b1c9480db0df8d64e898ea4805dc47e1.png)
Владислав
Понравился подход к обучению, а именно то, что мы не сидели и не слушали информацию ради того, чтобы знать термины. Всё, что мы учили, делали на практике, и это здорово. Причём мы понемногу и на автоматизацию посмотрели, и на нагрузку, и с базами данными поработали, и с API и ещё кучу всего опробовали. Очень круто было, когда на созвонах устраивали перекрёстные блиц-опросы и проводили своего рода микрособеседования, задавая друг другу вопросы.
![](https://habrastorage.org/getpro/habr/upload_files/03b/da5/e39/03bda5e3950dbef329274fb2a1e863fd.png)
Илья
Очень трудно выделить отдельные понравившиеся моменты, поэтому назову лишь несколько наиболее важных:
1) Гармоничное сочетание теории и практики. После каждой лекции мы выполняли практические задания, и это позволило закрепить новые знания, чтобы применять их в дальнейшей работе.
2) Изучение реальной системы с первого дня стажировки. После перехода в команду продукта IRP у меня не возникало серьёзных проблем с устройством самой системы, так как её мы подробно изучали в процессе стажировки.
3) Изучение продвинутых видов, инструментов тестирования и общих технических навыков (протоколы, SQL, основы взаимодействия с командной строкой).
Каких-то неприятных моментов или сложностей в процессе стажировки у меня не возникло, но хотелось бы услышать больше информации по автоматизации и ИБ в целом.
![](https://habrastorage.org/getpro/habr/upload_files/ac1/f9d/305/ac1f9d305e57d295020a3bca9fc4fe0e.png)
Андрей
Теоретическая часть стажировки — пушка (особенно презентации). Нельзя не отметить, что с первой или второй недели появились лекции от множества ребят из компании на различные тематики.
Самым крутым и важным было знакомство с продуктом и философией компании с первых же занятий. Практика была не абстрактная на каких-то «книжных задачках», а реальная на задачах из компании. Объём знаний, который мы получили в течение стажировки, впечатляет!
![](https://habrastorage.org/getpro/habr/upload_files/f07/21f/2c3/f0721f2c3ae2b2b04c4507ac4e68c2d1.png)
Андрей
Понравился способ подачи теории по нарастающей, то есть нас не грузили сразу сложной для понимания информацией. Полученные знания мы закрепляли на практике, а запомнить теорию, которая сама по себе открыто не используется в работе, нам помогали разговорные перекрёстные опросы. Также было интересно послушать разных людей из сферы разработки, иногда с разными точками зрения на создание продукта. Под конец немного не успели потыкать нагрузку и автоматизацию, но с заложенной базой считаю не очень сложной задачей разобраться в этом самому.
С какими проблемами мы столкнулись
В ходе стажёрской программы были, конечно, и проблемы: организовать процесс так, чтобы было удобно и наставникам, и ученикам; убедиться, что вся теория и практика была усвоена верно и не осталось никакого недопонимания; организовать первичную загрузку рабочими задачами невысокой сложности. Однако, все эти проблемы были не критичны, и мы учимся на своих ошибках, поэтому серьёзно на проведение стажировки они не повлияли.
![](https://habrastorage.org/getpro/habr/upload_files/ee5/655/498/ee56554982f625ed66edfdf166a1862f.jpeg)
Что по итогам
После месяца «интенсива» и познания большинства теоретических и практических премудростей мы распределили стажёров по командам: каждый их них успешно прошёл интервью и выполнил практические задания.
Сейчас все стажёры работают на должности младших тестировщиков в различных командах и показывают отличные результаты! А ещё нашим опытом вдохновились коллеги из других подразделений, которые тоже решили запустить подобную программу.
Чтобы быть в курсе следующего набора на стажировку, следите за нашими вакансиями или пишите нам в TG: @natali_sychyova.