Как я в IT ходил. Или сказ о курсах Otus QA engineer. Basic. Часть1

Предисловие

Всем привет. Мне немного за 30 и я предпрениматель. С большим опытом, но не в нужной сфере. Долго ли коротко ли, решил войти в IT. Хотел с embedded зайти, но раствору не подвезли, так что крепко обдумав что есть чего нет и прочие pro и contra, чому бы нет, пойду в QA. На хабре частенько дальше первой статьи ничего не заходит, как и в жизни. Так что любые реакции и комменты мотивируют меня писать дальше. Добро пожаловать.

Пролог

Долго присматривался, смотрел отзывы, читал статьи тут на хабре, не буду тыкать пальцем…

Всё же остановился на отусе. Когда-то я что-то там пытаясь найти, наткнулся на Сергея Кольцова. А! C-Make это был. И я даже что-то понял. Понял мало (ибо неуч), но подача материала понравилась. И это было бесплатное занятие с, собственно, отуса. Я тогда пытался меню не ESP32 состряпать (ох как наивны были мои мечты). Потом я открыл STM32 и весь их environment. Ну и плавно пришел к таким вещам как С++ и FreeRTOS. И я долго облизывался на базовый курс отуса по С++. Потому что там был, так понравившийся мне, Сергей Кольцов. И тут о чудо. Распродажа базовых курсов по 10р. Чё я тогда не скупил все что можно было скупить я не знаю… Короче разочаровался я в Отусе. Если первая часть (про функции, которую я и так уже освоил) это интересно и прикольно, то вторая (собссно классы полиморфизм и прочее) — это выразительное чтение на камеру. Отстой. Прям даже бесплатно не хочется время терять.

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

«Быть спецом и быть преподавателем по специальности — разные вещи.»

Цзао Лы

Короче, нужно всегда помнить, что тупой человек может сидеть по обе стороны учебной парты. И всякие эти ваши объективные суждения… ну такое.

Отус победил и я купил курс «в рассрочку» с отсрочкой первого платежа. Это тоже замануха. Ну в смысле, это оказало на влияние на мой выбор. Курс стоит чуть больше 40р и идет 4 месяца. То есть условно можно расписать его по 10к в месяц. Напоминаю, на дворе май 2022.

Ключевое слово — торопиться

Ну и вот я такой воодушевленный начал врываться в IT. А вот не стоило торопиться.  

Чего я ожидал (да и ожидаю) от курса. Что по окончании, я могу смело идти на вакансию джуна. Как сварщик 3-го разряда после ПТУ. Много не заработаешь не везде возьмут, но там где нужно, если у тебя есть четкий минимум, милости просим, добро пожаловать. 

Вот тут надо остановиться и трезво оценить что нам предлагают.

За 40 тысяч. За 4 месяца. Нам предлагают. QA engineer Basic.

40 тысяч — это очень дешево. 4 месяца — очень мало. Для engineer. Вот для QA basic — в самый раз. А для инженера мало. 

И вот тут проблема советского маркетинга. Бессмысленного и беспощадного. ОБЪЕЕЕЕМ. Мы пихаем в курс всех и вся и всем надо дать сертификат, а у нас тут ещё лицензии, требования, а уровень подготовки и соображалки у всех разный… 

Вместо того, чтобы разделить аудиторию на группы. и дать каждой то, чего она хочет.

Вот школа — бесплатно. Вот базовый курс. Дешевый. Хочешь помощь — плати. И вот QA engineer. А в итоге в потоке все. И нулёвые и продвинутые, и половина из них уйдет забрав остатки денег.

Знаете чем крута западная система образования? Тем что колледж — это круто. У нас, если у тебя не высшее образование, то ты — не человек. В итоге высшее образование у нас скомпрометировано до состояния: «умеет писать без ошибок, читать инструкции, можно оставить без присмотра примерно на пол дня». Инженер — это круто. Я, проработал с железом больше 10 лет, починил тысячи узлов и конструкций, разработал и создал десятки устройств, что-то даже пошло в серию. Умею пользоваться Inventor и Fusion360. И я — не инженер. Так вот специалист — это тоже круто. И на специалистах держится любая отрасль. И помочь человеку определиться что ему не нужно гнаться за недосягаемым это часть маркетинга. В итоге те, кто мог бы остановиться и совершенствоваться фрустрируют, а те кто хочет двинуться глубже стоят и буксуют.

Ну чё ты докопался до этого инженера. курс и курс. Какая разница как называется. Вот теперь поехали разбирать.

Программа 1 го месяца.

0 Заполнить раздел «О себе» 
1 Качество ПО 
2 Методологии разработки программного обеспечения
3 Карта функциональности продукта 
4 Что такое требования и какие они бывают 
5 Тесткейсы и чеклисты 

Занятие 1-е Качество ПО. Преподаватель — Лиана Кузнецова. 

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

Как сформулированы цели и содержание. 

Цели занятия:
Определить основные цели тестирования
Обьяснить семь принципов тестирования
Рассказать об основных видах тестирования

Краткое содержание
Исследуем что такое качество. Рассмотрим семь принципов тестирования. Познакомимся с видами тестирования.

Классический академический подход. Все просто доходчиво понятно. Обзорное занятие, что с него взять.

Что бы я хотел услышать и увидеть. Что Quality Assurance — это не тестирование. Это Деланье продукта офигенным. Make your product awesome.  Это концепция которая напрочь отсутствует в постсоветском мозгу. Исправляй косяки до их появления, улучшай продукт на стадии планирования, продумывай удобство до воплощения. 
Эргономика, принудительная безопасность, удовольствие от использования, всё это как мотиватор покупки. Поле улучшений, на самом деле, безгранично.

Домашка
Создать документ в google docs.
Открыть доступ к файлу, используя функциональность «Опубликовать в интернете».
Отправить ссылку на документ в чат с преподавателем.
Seriously?

На «том же занятии дают список литературы. в котором есть «Тестирование программного обеспечения» Куликов. Книга в открытом доступе, качаем читаем. Читаем ПЕРЕД покупкой курсов по QA. Почему? Ниже поясню.

Переходим ко второму занятию. Методологии разработки программного обеспечения. Преподаватель Валерий Львов

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

Краткое содержание
Два наиболее распространенных подхода: «водопад» и Agile (на примере Scrum).
Роль тестирования в процессе разработки.

Перед Валерием стояла крайне сложная задача. 

  • принципы, фазы и этапы

  • в каких условиях какая из двух методологий предпочтительна

  • где и какая работа требуется от QA-инженера

  • основные артефакты работы тестировщика.

Это четыре отдельных занятия, на пару академических часов каждое. 

А тут за 90 минут надо ещё и на вопросы ответить. 

По отзывам в учебном чате «информации было очень много». А по мне — мало. Вот как тут всем угодишь.

Опять же у нас классическая лекция с большим количеством определений и объяснений к ним.

Собственно эта лекция должна идти в паре с первой. Понимание того как разрабатывается продукт дает вам понимание почему QA должен (но/ны) быть с начала и до конца на всех этапах продукта. 

Для тех кто не в курсе. Есть два подхода. 20-го века и Agile. 

В 20-ом веке заказчик шел к мэнэджэру, тот шел к директору, директор к инженеру, инженер к начальнику цеха, потом к бригадиру и в конце концов проект во всей красе попадал к токарю Василию. После чего выточенный болт отправлялся в ОТК (отдел технического контроля). ОТК проверяли соответствие болта требованиям и условиям договора, и всё это выдавалось заказчику. Это waterflow. Работает там где всё стандартизировано, где есть четкие требования и где цена ошибки высока. Например всё что связано с деньгами, безопасностью и личными данными (привет Россия 22). А ещё госзаказы.

Но ещё в далеком 1986-ом люди придумали SCRUM. (рекомендую посмотреть как это выглядит с тегом rugby, и вам станет проще понять принцип). А в 2001-ом вертевшаяся у всех на языке концепция обрела формулировку: «кто не шарит — тот %$#рит». Если цель заказчика выдать лучший продукт по лучшей цене, то все вместе садимся и работаем на результат. Дальше досаливаем всё это нюансами и получаем DevOps.

Так вот. Agile — это не гибкость. Это — ловкость. Есть классические виды спорта: бег, штанга, гимнастика. А есть какой-нибудь страйкбол в котором нужно задействовать ВСЕ ресурсы и умения организма чтобы победить. И когда у тебя каждый год появляются новые инструменты, мощности, фреймворки, способы коллаборации и типы продукции, надо работать быстро. Вы ещё обсуждаете формулировки контракта, а Angry Birds уже не в моде.

Не хватило реальных жизненных историй и примеров. Хотя, что Лиана, что Андрей, от них прям веет профессионализмом. Если сравнивать с ремонтом авто. Спроси почему именно такой тип резины используется в прокладке головки блока цилиндров — ответят. Но этот же профессионализм заставляет их быть осторожными с формулировками. Палка о двух концах. 

Едем дальше. 

Дальше должна была быть лекция №4. Что такое требования и какие они бывают. Преподаватель Валерий Львов

Цели занятия
Студенты будут знать про роль требований в процессе разработки ПО, понимать необходимость работы с требованиями для тестировщиков, понимать жизненный цикл требований. Получат практический навык документирования требований в нотации Use Case и его связь со сценариями тестирования.

Краткое содержание
Что такое требования;
Жизненный цикл требований и роль тестировщика;
Структура use case и связь их с тест-кейсами;
Практика составления use case.

Почему я так переставил, потому что на этом условная академическая часть курса заканчивается. 

И что, на мой взгляд, должен вынести отсюда ученик. 

«Как задача ставится, так она и выполняется». И когда всё пойдет прахом, заказчик придет и скажет «ну ты же специалист». 

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

Наводнение. Город затапливает. Народ бежит. Посредине на лавке сидит дед.
-Дед, спасайся сейчас все затопит.
-Меня бог спасет.
Вода уже деду по грудь, народ выгребает на лодках.
-Дед, залезай мы тебя вывезем.
-Меня бог спасет.
Вода уже под горло, вертолет собирает последних опоздавших.
-Дед, хватайся, мы тебя спасем.
-Меня бог спасет.
Ессно дед тонет, предстает перед богом.
-Вот, я тебе молился, все посты соблюдал, а ты меня не спас.
-А лодка кому была послана? Вертолет?!

Так вот. Специалист Quality Assurance это те самые лодки и вертолеты. А вот если их (QA) не послушали, то — спасательные экспедиции и водолазы. На этом месте обычно рисуют диаграмму стоимости исправления багов. 

Requirement — это то что вам придется раскаленными щипцами и обманным путем вытягивать из заказчика. Это хотелки. Зачастую заказчик сам не знает чего хочет. 

И вот после того как вы эти хотелки узнали, их нужно зафиксировать и донести до релиза через разрабов, дизайнеров и ограничения бюджета. А вот как вы их будете фиксировать, через use case or user story or something else, это вопрос техники. 

Домашка
Написать 3 юзкейса. 

Если быть точнее на 3-ем занятии нам рассказывают про декомпозицию продукта. Потом мы должны выбрать себе application и далее с ним работать. 

Сами пишем декомпозицию, сами пишем юз-кейсы, сами пишем тест-кейсы на втором месяце мы будем писать угадайте что? багрепорты… ну ты понел.

Собссно третье занятие, а за ним и пятое. 3. Карта функциональности продукта. 5. Тесткейсы и чеклисты преподаватель Екатерина Шляпкина

3 Цели занятия
декомпозировать продукт и выделить основные бизнес-сценарии.

Краткое содержание
Определим основную функциональность продукта. Разберем инструменты для построения карты функциональности продукта в форме диаграммы связей (ментальной карты, mindmap).

Цели занятия
объяснить какие виды тестовой документации существуют;
составить чек-лист;
составить тестовый сценарий.

Краткое содержание
тестовый сценарий (test case);
чек-лист;
план тестирования.

Я, конечно, могу представить как меня берут старым джуном, засылают одного на проект со словами: «декомпозируй продукт и выдели нам бизнес сценарии».  Но скорее всего уж если мне доверят столь крутую задаю я подойду к тимлиду или к заказчику и спрошу: «а каким образом эта глюковина должна приносить деньги?».

Вообще декомпозиция — это из серии «развивайте аналитический склад ума» и «научитесь мыслить нестандартно», вжуууух. 

Основная мысль с этого занятия, на мой взгляд, должна была выглядеть примерно так. Декомпозиция продукта (и фиксация этой декомпозиции) будет основой вашей стратегии по тестированию. Поможет не метаться от кнопки к кнопке, а спокойно организовать вашу работу.

Чего мне не хватило на этих двух занятиях. 

Практики. Нормального человеческого, смотрите как выглядит моя работа. 

Где лучше использовать чеклист, а где тест кейс. Ну и конечно же. ВЕЛОСИПЕДОВ. 
Я понял, почему я не могу вторую неделю сесть и сделать домашку. 

Ребята, изобретите велосипед. Вот вам мелок и асфальт 

Тут статеечка была…

Начинающие программисты боятся темноты

и ещё одна

Google-oriented programming

Весь код уже написан. Все тесткейсы придуманы…

Веб тестирование, документация. Валидация емейлов.

А вот тут ещё в комментах накидано…

180+ Web Application Testing Example Test Cases

Напишите юзкейс, напишите тесткейс… Это если чё, уровень мидла. И с точки зрения QA engineer, вы должны учиться всё это писать. Но подачу «вот так выглядит тесткейс иди пиши свои» я могу абсолютно бесплано посмотреть в интернете. Ещё и с подробными разборами.

Подведем итог. 

Хотя нет. Перед подведением итога заглянем на сайт отуса и найдем курс 

«Ручное тестирование» за 7тышш рублей 

Модуль 1
Введение в тестирование

Тема 1. Введение в тестирование
Тема 2. Основы тестирования
Тема 3. Принципы тестирования
Тема 4. Методы и типы тестирования
Тема 5. Подходы и уровни тестирования
Тема 6. Виды тестирования
Тема 7. Итоги

Модуль 2
Жизненный цикл разработки ПО

Тема 1. Понятие жизненного цикла
Тема 2. Модель Waterfall. Аналитика
Тема 3. Модель Waterfall. Разработка
Тема 4. Модель Waterfall. Тестирование
Тема 5. Гибкие методологии
Тема 6. Итоги

Модуль 3
Тест-кейсы и дефекты

Тема 1. Введение
Тема 2. Источники ожидаемого результата
Тема 3. Пишем тест-кейс
Тема 4. Заводим дефект
Тема 5. Итоги

Модуль 4
Техники тест-дизайна

Модуль 5
Тестирование Web-приложений

Модуль 6
Тестирование мобильных приложений

И вот теперь подведем итог.

За 10к, я получаю выразительный пересказ книги «Тестирование программного обеспечения Базовый курс (3-е издание)» главы 2.1, 2.2 и 2.3 частично. С картинками из этих ваших интырнетов. Или прям из книги. Ну в книге они скорее всего из интырнетов, но книга бесплатная, так к что кней претензий нет, а вот к Отусу вопросы есть.

47d8051f52fc2a6c81cbe57139c68cc3.png

Без песочницы, без практики, без реальных примеров. Но с ментором. Менторы — классные. Ну, по крайней мере, мне повезло. Ну и можно задать вопрос если чо-то непонятно. 

За условные 3.500 я получаю все тот же объем информации. 

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

de4fcf96a7ea65e709a17cebcd189352.png

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

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

А знаете, чего вам ещё не расскажут в первый месяц обучения?

Подбор заработков на тестировании

А потом вы заходите на ютест и в академии учите всё чему тут рассказывают — бесплатно. Правда на английском. Я не говорю, что нет других ресурсов кроме ютеста, это то, что я сам успел поюзать. Тут ещё работа пошла, надо денежки зарабатывать. Времени реально в обрез.

1st month resume

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

Пока что оценка курса «верните мои деньги».

To be continued

Впереди второй месяц обучения. Нас ждут новые преподаватели и, надеюсь, челленджи.

Бесплатное занятие Как правильно составлять баг репорт.

И ещё одно Исследовательское тестирование.

и ещё семь занятий между ними. 

Post Scriptum Какой язык учить в 2022?

Английский.

© Habrahabr.ru