{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Как мы изменили отношение к возможности попасть в ИТ

Не так давно, а точнее 9 месяцев назад, я смотрел ролик на YouTube одного из блогеров, который рассказывал от профессии тестировщик. Естественно, там прозвучало, что это одна из доступных возможностей попасть в ИТ. Где-то в середине видеолекции промелькнула тема практики по тестированию, в которой рассказывалось, где молодому еще неопытному специалисту по тестированию можно попробовать попрактиковаться.

Тогда прозвучало всего несколько идей, таких как краудтестинговые платформы utest.com и test.io, а также ряд сервисов, которые эмулируют несложные действия с элементами веба, где можно просто поискать ошибки:

http://testingchallenges.thetestingmap.org/ — подборка разного вида полей, в которых надо найти ошибки либо провести определенные проверки. <o:p>

https://playground.learnqa.ru/puzzle/triangle — тренировочная площадка, на которой необходимо протестировать простую программу, которая определяет тип треугольника по его сторонам.

http://qainterview.pythonanywhere.com/ — простейшая форма с ошибками, в которую нужно вводить число, чтобы получить его факториал на выходе.

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

1. В некоторых компаниях, где я преподавал, было очное обучение (к примеру 80 часов), где ученику дается настолько большой объем информации, что он просто не может усвоить его за период обучения.

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

3. Практика – это главный камень преткновения. Где-то ее очень мало, например, в одной онлайн-школе я использовал собственные наработки и тестовые программы, ставил себе бесплатную JIRA и TestRail, писал специальные ТЗ, по которым в дальнейшем составлялись тесты, в общем делал все, чтобы только дать ученику хоть какое-то понимание, с чем ему придётся столкнуться в будущем.

4. И последнее, это цена. Сейчас многие хотят попасть в ИТ (и не от хорошей жизни) через тестирование ПО, но астрономические цены от 40 000 рублей ставят под большой вопрос возможности каждого что-то изменить в своей жизни, особенно, если это касается регионов. Я лично проходил курс по веб-дизайну в одной очень крупной онлайн-школе и так был разочарован обучением (после первого квартала), что потом был отдельный квест, как вернуть свои деньги (я думаю Вы видите много отзывов в интернете о таких ситуациях).

Все эти наблюдения натолкнули меня на то, что курсам по тестированию нужна «новая жизнь», новые идеи. Именно с этого началось создание проекта TestGrow.

В чем же заключалась идея? Основная задача, которую мы поставили перед нашей командой было создание курса по тестированию ПО в формате выполнения практических задач. Для того, чтобы ученик смог усвоить весь материал, задач должно быть много и все они должны давать ему опыт и практику. Второй немаловажный критерий – это доступность обучения. Мы хотели создать курс, который сможет позволить себе большинство людей в нашей стране, желающие сменить профессию и/или получить минимальный опыт в тестировании. Это означало, что мы должны снизить стоимость курса, но как это сделать?

Мы нашли выход! Мы полностью отказались от преподавателей, прямых эфиров и видеоконтента. Это было непросто, но мы кардинально изменили формат обучения. Весь теоретический материал выполнен в виде интерактивных художественных лекций, где ученик ведет диалог с главными героями нашей платформы в вымышленном мире Земля-XV90, пытаясь помочь им в войне с багами. Для этого даже сделали небольшое интро с отсылкой в Звездным войнам:)

Вечная борьба в багами

За время проекта мы написали почти 300 листов теоретического материала. Я даже как-то подумал, что если проект никому не будет нужен, можно выпустить свою книгу по тестированию ПО:)) Важно сказать, что всю теорию мы сделали абсолютно бесплатной и каждый, при регистрации на сайте, получает доступ к более чем 75 лекциям по тестированию ПО, которые включают:

1. Основы тестирования;

2. Тест-дизайн и анализ требований;

3. Веб тестирование;

4. API тестирования;

5. SQL и работа с базами данных.

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

В итоге дополнительно к платформе мы приняли решение написать полноценный интернет-магазин. Как оказалось, написать работающий интернет-магазин было не так сложно, как напичкать его определенными ошибками. Это была та еще задачка. Основная проблема заключалась в том, что ошибок должно быть много и они должны быть «управляемы», то есть воспроизводится при определенной ситуации. Каждый раз, когда мы добавляли ошибку, мы «нечаянно» ломали старые ошибки и так по кругу. Можно сказать, что это было самой сложной задачей проекта, которую нам приходилось решать. Кроме этого, встал вопрос о том, как ученику заводить ошибки и проверять корректность их заполнения. Для решения этой задачи мы реализовали собственный баг треккер по аналогии с интерфейсом JIRA. Сначала мы ожидали, что мы сможем по ключевым словам анализировать, насколько корректно пользователь завел ошибку, но после проведенного бета тестирования решили отказаться от этой идеи и оставить проверку ошибок за реальным человеком. Как ни крути, а фидбэк реально нужен.

Как это работает? На нашей платформе есть десятки различных модулей (помимо интернет-магазина), которые эмулируют работу небольших интерфейсов реальных программ, например, расчет стоимости доставки товаров, поиск данных по категориям, добавление\редактирование\удаление различных записей, модуль переводов тестового интернет-банка и другие формы. Ученик получает требования к модулю, выполняет тестирование и заводит ошибки, которые заранее заложены в каждом модуле. Наш оператор получает уведомление, проверяет корректность заведения ошибок и сразу отправляет обратную связь пользователю.

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

Кроме этого, мы реализовали возможность для ученика работать с тестовой базой данных, реализованной на Postgre. При изучении SQL ученик постепенно выполняет написание запросов от простых селектов до вложенных и многотабличных запросов с использованием JOIN. Все запросы выполняются к БД, поэтому ученик может видеть результат выполнения написанных им запросов, а также есть возможность подключения в БД напрямую через pgAdmin, где после прохождения обязательных задач ученик может получить самостоятельно еще больше практики.

И последний блок, с которым нам пришлось изрядно поработать – это практика тестирования API. Как я упоминал ранее, мы написали интернет-магазин на микросервисной архитектуре, следовательно, у нас было реализованы сервисы на уровне бэк-энда. Чтобы сделать обучение интерактивным и интересным, нам пришлось изрядно его кастомизировать. Во-первых, необходимо было решить задачу, чтобы каждый ученик мог работать со своими данными и не задевать других пользователей. Для этого нам пришлось сделать отдельные сервисы по созданию учетной записи для каждого пользователя и генерацию данных в БД, которые были бы присвоены только к одному уникальному ID. Таким образом, каждый ученик сможет работать только в своей «песочнице» со всеми доступными методами. Во-вторых, необходимо было проверить, что каждый ученик правильно выполнил запрос. Для этого мы в каждый сервис добавили уникальный uuid, который является уникальной хэш функцией для каждого пользователя и метода. При выполнении задания ученик указывает данный uuid в специальное поле и таким образом мы проверяем, что задание выполнено правильно.

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

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

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

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

Ссылка на платформу: testgrow.ru

Спасибо за внимание!

0
3 комментария
Алексей

В целом идея неплохая как бизнес идея. Сейчас желающих много войти в АйТи)

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

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

Ответить
Развернуть ветку
Павел Синицин

мне тоже очень интересно, кого берете.
факультетов по QA в рос вузах нет

Ответить
Развернуть ветку
Евгений Кирилюк

И кого Вы нанимаете ? 20 летних с 30 летним стажем после МГУ ? )

Ответить
Развернуть ветку
0 комментариев
Раскрывать всегда