Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Почти год назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровалась в ней, а теперь учусь в другой. Мне стало интересно сравнить методики преподавания, чтобы понять, что-то не так со мной или с курсом? Предыдущую часть можно посмотреть здесь.
Тестирование на уровне WebUI
После блока «Введения в Linux» во второй школе у нас было занятие «Тестирование на уровне WebUI». В первой школе у нас не было отдельной лекции по тестированию Web-приложений, но было занятие, на котором рассматривали инструменты для работы с документацией, оно по сути наиболее близко к «Тестированию на уровне WebUI», поэтому их я и сравню.
В первой школе на занятии нам сначала рассказали о удобных инструментах для скриншотинга, потом обзорно рассмотрели полезные расширения в Google Chrome – информация нужная, но без практического закрепления бесполезная. Судя по всему, они здорово облегчают жизнь тестировщика, но на практике мы их не применяли и оценить, насколько, пока сложно. После обзорно рассказали про графические инструменты, которыми тестировщику «надо уметь пользоваться»(с): Photoshop, Gimp, XMind, Zeplin, Figma. Также рассказали о сниппетах кода и логах: как читать и на что обращать внимание.
Очень подробно рассмотрели DevTools: разобрали все вкладки, посмотрели как выделять и находить элементы, как изменить данные на своей версии страницы, где смотреть коды ответов, какие вкладки наиболее важны для тестировщика. Этот инструмент мы разобрали очень подробно, плюс, на него была практика, поэтому в голове это всё как-то отложилось.
Когда мы рассматривали DevTools, выяснилось, что большинство студентов не знакомы с HTML и CSS – без понимания кода сайта было сложно разобраться в DevTools. Нам добавили небольшой блок по верстке, с конспектами и тестами для закрепления, что помогло составить общее представление об устройстве кода сайта и с DevTools потом было чуть легче работать.
Во второй школе на занятии «Тестированию на уровне WebUI» мы повторили устройство стандартного Web-приложения (так называемая «трехзвенка» – front-end, back-end, база данных), поговорили о протоколах передачи данных и отличии http и https, преподаватель рассказал о HTML, css и JavaScript, рассмотрели особенности тестирования Web-приложения. Надо отметить, что ничего особо нового в этот раз я не узнала, даже наоборот – DevTools мы, можно сказать, совсем не рассмотрели, если бы не опыт работы с ним в первой школе, я бы вообще не поняла, что это такое. Судя по отзывам одногруппников, у большинства сложилось такое же впечатление. Возможно, этот инструмент действительно не так важен, как нам говорили в первой школе. Да, Google Chrome популярный браузер, но всё же не единственный. Заданием к этой лекции было протестировать учебное Web-приложение по заказу билетов на самолет. Пожалуй, такое задание можно было выполнить и без лекции, ничего нового она не принесла. Но это я успела поучиться на других курсах, а вот для одногруппников, кто первый раз слышал некоторые вещи лекция оказалась трудной и запутанной.
«Тестированию на уровне WebUI» и «Тестирование на уровне REST-сервисов» (лекция и практика) у нас вел новый преподаватель. Перестроиться на стиль преподавания другого человека оказалось неожиданно сложно – казалось, что материал рассказывают недостаточно подробно и понятно. Правда, надо отметить, что это стимулировало общение в группе – раньше мы как-то почти не общались, а на фоне трудностей с пониманием материала объединились. Обсудили моменты, которые нам не понравились, и один студент написал наши пожелания преподавателю. Было очень приятно, что наше мнение учли и материал изложили более подробно, структурировано и чётко.
Тестирование на уровне REST-сервисов
В первой школе про REST API нам рассказывали очень быстро: в конспектах я поставила себе тайминг, так вот, что такое и для чего нужен petstore.swagger.io нам рассказали за 1,5 минуты, про Postman рассказали за 8 минут. Плюс было домашнее задание – протестировать форму регистрации. Но тестировать там было нечего – нам дали ссылку на сайт и написали какой запрос нужно отправить. Мы должны были посмотреть ответ на запрос и оформить баг-репорт по всем правилам. Из этого занятия я не вынесла ничего, осталось неясно: что такое REST API, для чего нужен swagger, как работать с Postman.
Во второй школе тестированию REST API было посвящено два занятия – лекция по теории и практика. Лекция по теории шла около часа, но даже после лекции понимание темы пришло не сразу. Но практическое занятие, которое шло больше двух часов, расставило по местам всю недостающую информацию. Когда два часа разбираешь с преподавателем непонятные моменты, то их просто не остается. Конечно, мы разобрали работу Postman на самом базовом уровне, без коллекций, без тестов, которые можно составлять прямо в программе, но это все равно огромный прорыв.
В домашней работе надо было протестировать приложение с помощью Postman – отправлять запросы и смотреть на ответы приложения. Эта работа меня неожиданно увлекла – вспомнились лекции по тест-дизайну, пришлось подумать как лучше все проверить. После выполнения домашней работы я стала намного лучше понимать механизм работы Postman и зачем вообще нужны такие инструменты.
Заключение
Сейчас на курсе начинается всё больше практических занятий, на которых мы применяем полученные теоретические знания. И это просто прекрасно! Как я поняла из курса первой школы – теоретический материал без крепкой практической базы абсолютно бесполезен, в голове остается именно то, что ты делал сам. Наверное, именно поэтому работодатели так неохотно берут студентов с курсов – нужна хорошая практика, а лучше – стажировка, чтобы реально научиться тестировать. Продолжение следует.
Начало истории можно посмотреть тут: часть 1, часть 2, часть 3, часть 4.
Комментарии (20)
novmicha
26.04.2022 09:25+1Удивительно, но на курсах более технически сложных, вроде Микросервисной архитектуры удивительно похожая мурня происходит, только в поправкой на другой базовый уровень. Тут влом показать как постман нормально использовать. А там межсервисную аутентификацию показывают на слайдах, потому что консоль запачкать видимо боятся. Онлайн курсы они такие ...
aTrazanov
26.04.2022 11:13Цель любого онлайн курса для начинающих тестировщиков - дать возможность человеку попасть в любую компанию для того чтобы начать набираться опыта и попытать свои силы в данной специальности.
От того что курс будет классный или не классный ровным счётом ничего не изменится, при собеседовании человека без реального опыта работы всё всегда сведётся к одному и тому же алгоритму, теория, небольшой тест на логику, небольшой профессиональный тест и всё. Далее всё зависит от случая/удачи/целей компании.
Postman/SoapUI и прочие клиенты вообще сложно изучать человеку без опыта тестирования, без конкретной поставленной задачи.
Так что субъективно неважно что за курсы ты пройдешь. Главное чтобы ты мог это указать в резюме. А дальше намного более важны навыки того как ты можешь себя преподнести на интервью, и повторюсь от удачи.
100chuk
26.04.2022 13:42всё всегда сведётся к одному и тому же алгоритму, теория, небольшой тест на логику, небольшой профессиональный тест и всё
Вы не поверите, но на этом этапе валится 90%. :)
aTrazanov
26.04.2022 18:07Увы, верю. Но считаю что если отнестись серьезно к обучению - курсы в достаточной мере дают возможность этот барьер преодолеть)
NSergeev
26.04.2022 11:41+1Ох уж этот бум на тестировщиков, где каждый слесарь думает, что это легко. Это как с HRами и риэлторами многие думают, в итоги имеем там брак 80%
По тестировщикам: да, вход, кажется действительно легче, чем в разработку, НО, каждая Галя из кассы, Петя из рыбного отдела должны давать себе отчёт - а есть ли у меня внимательность, математическое мышление, хоть какой-то базис по жизни?
Одно дело, когда молодежь пытается запрыгнуть, другое - когда 40-50+ люди, которые и винду то переставить не могут и рингтон на звонок поменять.
Я вот лет 15 шил, перепрошивал ПО на смартфонах. Накатывал кастомные ядра и прочее. Могу немного в командную строку, знаю банальщину типа пингануть роутер и прочее, НО, почитав слащавые "зазывалки" в утопию QA, понял, что это не моё по ряду причин. Многие же, не дают себе отчёт.
Да, лучше попробовать и жалеть, чем наоборот, но вы видели ценники на эти курсы? А я только за методичность и никакого самообразования - оно малоэффективно на старте.
П.С.
Учительнице - успехов, буду рад, если взлетит. Ну и ждём "часть №Х" - я получила оффер.
astenix
26.04.2022 19:11В целом выглядит так: учусь на двух курсах, и там и там не очень хорошо, что-то рассказывают, но в целом непонятно.
Правильно?
Karamilllka Автор
26.04.2022 20:37Нет, во второй школе всё в разы понятнее и интереснее)) Но процесс обучения редко бывает легким и однородным, поэтому какие-то темы усвоить легче, какие-то сложнее. С преподавателями тоже бывает по-разному: человек может быть профессионалом высшей категории, но при этом ему не так легко учить.
Учителя некоторые этим страдают (сама была грешна по молодости) - тебе кажется, что материал очень простой "ну что тут понимать-то?!", а дети не понимают, потому что учитель не "разжевывает" в достаточной мере. Для этого в школах есть методисты - опытные учителя, которые ходят на уроки к молодым педагогам и рассказывают где они ошиблись и как надо вести урок. У преподавателей в онлайн-школах их заменяет обратная связь от студентов. По крайней мере, я не думаю, что кто-то отсматривает чужие лекции и говорит как надо было рассказывать ту или иную тему.
ProProfi
26.04.2022 20:37Екатерина, скажите, а вы оставляли первой школе какой-то отзыв о том, что вам понравилось и не понравилось? Возможно, это помогло бы им исправить те ошибки в преподавании, которые вы обнаружили.
Karamilllka Автор
26.04.2022 20:41Да, после каждого занятия и лекции можно оставить отзыв. Кстати, первая школа довольно хорошо на них откликалась (я об этом писала в какой-то из первых статей), но чтобы внятно объяснить преподавателю где он повел занятие не верно, надо разбираться в теме, на тот момент я не могла дать подробную обратную связь. Вот недавно, кстати, из первой школы мне звонили, уточняли про качество курса - сейчас я смогла довольно подробно всё сформулировать и передать им.
samoreklam
Когда вижу упоминания "курсов тестировщиков" У меня сразу проявляется предвзятое мнение, что кто-то, кому-то пытается впарить курсы "тестировщиков" .
"Кто-то" --- это человек продающий курсы.
"Кому-то" --- это люди, которые насмотрелись роликов на ютубе, и наслушались историй, про "как войти в ИТ" . И мечтающие, сменить свой род деятельности на ИТ. (естественно, о котором у них сложилось мнение, полученное от продавцов курсов и выдуманных историй и хайпа на этой теме)
Забавно тут читать, что вместо того, чтоб учиться тестировать. Люди "учатся" пользоваться программами.
Посмотрите мою статью https://habr.com/ru/post/543696/
Это гораздо ближе, к реальному тестированию. ( Имея навыки в подобном, уже более реально думать о "работе в ит" )
На курсах, чему-то подобному учат? Что-то мне подсказывает, что нет.
shushu
не то что бы я не согласен с вами, но приведенная вами статья имеет очень узконаправленный спектр. Тогда как "статья" автора имеет (по крайней мере планировалось) более абстрактный уровень.
lxsmkv
С одной стороны да, это "перепродажа общедоступных знаний" как я это люблю называть. И определенная доля скепсиса вполне оправдана. С другой стороны, в подобных курсах собраны необходимые практические навыки для работы с большинством приложений на рынке (а это в основном веб). Появляется какое-то представление об архитектуре приложений и так далее. Все это действительно нужные знания. Да, их можно все нагуглить бесплатно. Однако, самообучение не всегда эффективно, даже если у тебя есть к нему способности. Я это совсем недавно на своей шкуре испытал. У меня нет проблем с самообучением. Но когда нужно подготовиться к конкретному проекту и сроку, то натаскивание через интенсив по факту оказывается эффективнее. Иначе можно залезть в дебри там где не надо. А самоучки любят лезть во все дебри.
Другой пункт критики это то, что курсы скорее всего не научат тебя находить ошибки. Они покажут как происходит процесс тестирования, как применяются инструменты. Они сделают из тебя линейного сотрудника. Но потом получаем картину: один ловит по несколько багов в день, а у другого все в порядке, всё работает. Вот этому на курсах не научат. Потому что это от человека сильно зависит. Его ментальная установка. Один попал в айти, выдохнул и расслабился, и просто выполняет рутину, а другой каждый день роет носом землю. Это и индивидуальное критическое отношение к качеству. Например вера в то, что в любой программе есть ошибки, просто ты их еще не обнаружил или тебе не хватет знаний чтобы их найти. Все это от характера кандидата зависит.
Потом от общения в команде, да, как ни странно, сильно многое зависит. Как ты себя зарекомендуешь. Дадут тебе разработчики зарепортить баг, или отфутболят. Умеешь ли ты последовательно аргументировать? Быть где нужно мягким, а где нужно твердым? Этому тоже на курсах скорее всего не научат.
aTrazanov
А вы где то работаете по своему профилю? У вас большой стаж? Или сели за компьютер и вдруг осознали как такое тестировать?)
Даже не смотря на микроскопическое количество знаний которое дают для изучения на этих курсах для начинающих тестировщиков - это намного более полезно для повышения квалификации, чем вдруг взять и начать читать вашу статью.
samoreklam
По профилю не работаю.
Занимаюсь программированием (своего проекта). Сейчас после "20 лет" кодинга, стараюсь "Войти в управление", т.е. научиться управлять компанией. (сфера, тяжело состыковываемая с моим опытом и тяжело укладывается в голове)
Занимаюсь программированием не 20 лет, а чуть меньше. Примерно 18. Но это совсем не так как многие представляют. У меня за это время, не было вообще тормозящих развитие проектов. Т.е. не было такого, что "пишу год или два, программу офис". Или что-то сделал, и отдыхаешь, ничего не делаешь. Я постоянно что-то делал. И разумеется не захламлял свою голову изучением всяких фреймворков.
За всё это время, я так и не узнал что значат слова: DevOPS, Тестировщики, Backend, Frontend, rest api, rust, junior, middle, senior, SRE-инженер,Data-Scientist и т.д. (и сейчас этого не знаю)
Если, кто-то хочет научиться "тестировать" то яб рекомендовал начать с изучения книги "Микропроцессоры Intel". Далее что-то про "Дизассемблирвоание", потом практика.
И при желании, уже через пол года обучения человек, будет из себя что-то полуценное представлять.
Ах, да чуть не забыл. Я не знаю что это: Postman/SoapUI
И насчёт "осознания , как тестировать". Именно так и было. Сел за компьютер и понял, как тестировать. Точнее никогда ничего не тестировал! (кроме своего проекта). Со временем, просто видишь и понимаешь, на сколько "почти всё вокруг" плохо сделано. И видишь, где проблемы. Ну и получается, что ты говоришь о какой-то проблеме, а люди думают (в меру своего разумения), что ты как-то это проблему искал. Какие-то программы использовал. (о существовании которых ты даже не подозревал)
И ещё добавлю, видели сколько платят за обнаруженные ошибки? Не думаю, что человек который может зарабатывать на своём ремесле, будет заниматься подработкой обучая людей , которые прочли статью "Как войти в Ай-Ти". Исключения конечно есть, но они чрезвычайно редки. Эти исключения преподают в университетах.
Моя статья, была написана не для людей которые "хотят в ит" и не для людей, которые "думают что они в ит". А для тех , кто непосредственно занимается кодингом или профессиональным поиском проблем в софте.
А для начинающих, прочтение выше указанных книг, тоже не много кармы в квалификацию принесёт. По нескольким причинам:
1) Этой квалификации у них нет и даже её зарождения.
2) Объёмы книг, больше 1000 страниц и каждая страница по делу.
3) Мало их прочитать, надо их выучить и понимать смысл написанного. А для этого, надо читать и перечитывать их по 5 раз.(буквально). И после практики, опять к ним возвращаться и снова учить.
4) И когда, человек осознает, что понимает что происходит. Поймёт, что так усердно учил. Вот тогда и начнёт ЗАРОЖДАТЬСЯ квалификация.
Я достаточно жёстко говорю правду, т.к. меня раздражает , когда людям говорят то, что они хотят слышать. Дают людям надежду, и за это забирают у людей их время и деньги.
И на этом не всё. Когда человек, надеялся и верил , что вот он приложит усилия. Будет заниматься. Будет учиться, Будет практиковаться, будет платить. И его старания ему воздадутся, пусть даже через какое-то время, сменой "ненавистной работы" и жизнь наладится. А она станет только хуже. Т.к. этот путь, ведёт к неоправданным ожиданиям.
И вот каждый человек с таких курсов, которому говоришь жесткую правду, о том что будет.
Думает что - ты дурак. Просто это ты, ничего не умеешь, ничего не знаешь и из-за своей озлобленности на всех и комплексов, а также лени, пытаешься сбить их с пути истенного. Но они не "поддадутся твоим речам" и так и будут, прилагать свои усилия и тратить время, на то, чтоб "стать лучше" и сделать очередной шаг к улучшению своей жизни.
aTrazanov
У меня есть пример из жизни когда человек абсолютно незнакомый с тестированием сейчас является ведущим специалистом в компании. И начал он путь именно с курсов, на которых можно сказать просто ознакомили с тем чем занимается инженер по тестированию.
Благодаря этому он решился пойти на собеседование - и устроится на свою первую работу, и уже непосредственно там (за символическу оплату) - он смог получить достаточное количество знаний чтобы идти дальше.
В целом я понимаю о чем вы говорите, и во многом вы правы. Но следует помнить - IT это не всегда только технические знания. Особенно когда речь идёт о тестировании. Круто когда есть сотрудник который может взять на себя любую технически сложную задачу и с усердием её протестировать, но этот же человек банально скучает на монотонных/рутинных тасках и допускает обидные, порой даже ужасные ошибки. Поэтому хороший ручник, вдумчивый, который может задать кучу нелепых вопросов, но благодаря им будет найден баг/будет переделана спека/появится идея наведенная такими вот вопросами, ровно настолько же ценен для компании как и технически подкованный специалист.
На самом деле вообще решил ответить - исключительно из-за того насколько далеки друг от друга статьи "Отличия курсов для начинающих тестировщиков" и "Как найти 0day". И не очень правильно новичка макать в такое носом)
А статья замечательная, вы человек талантливый и настырный. Желаю вам личных и профессиональных успехов в будущем!
aTrazanov
Как это поможет научиться тестировать веб приложения к примеру?)
samoreklam
"Как это поможет научиться тестировать веб приложения к примеру?)"
У меня вся статья посвящена этому.
Если вдруг, вы скажите "Драйвера это другое", "Ядро это другое". Дочитайте статью до фразы "везде. не важно, драйвера или приложения прикладного уровня, или сетевые устройства"
Дополню. - "или любые Веб-Приложения"
aTrazanov
Это не применимо к общепринятой парадигме тестирования (на текущий момент точно). Инженер по тестированию в лучшем случае должен проверить приложение на верхнеуровневые уязвимости информационной безопасности (излишние данные в ответе серверов/подмены запросов/взаимодействия напрямую с системой минуя UI посредством API и тд)
Это не является тестированием веб приложения, вы сами пишите:
Вы же не будете заводить дефект на свою команду разработки, тогда как у вас приложение образно говоря на каком-нибудь Django. Как верно подмечено это баг ОС, просить ресёрчить на эту тему команду разработки контрпродуктивно, особенно когда горят сроки (а они всегда горят). Да и к тому же, а что они могут сделать?
Следовательно - ваша статья это точно не про тестирование современных веб приложений в минимальном его представлении. И конечно никак не может быть учтена как must have в копилке знаний автора для последующего трудоустройства.
p.s. Лично мне наоборот кажется это не проблемой, а шагом к более динамичному развитию, иначе с такими рассуждениями можно продолжать разрабатывать на ассемблере, и проверять каждую open source библиотеку построчно - что очевидно скажется на производительности труда.
100chuk
Зачем пугать новичков сетевыми штуками? :) Это меньше 5% от всего рынка разработки.