Подготовка к собеседованию на QA Engineer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
Привет привет Сегодня очередной интересное видео на моем YouTube канале по автоматизации тестирования и сегодняшняя тема видоса будет собеседование на позицию Middle QR automation и также хочу напомнить что у меня есть мой Telegram чат где мы с подписчиками общаемся и помогаем друг другу ссылочки все будут в описании Также хочу напомнить что вы можете подписаться поставить лайки включить колокольчик это очень помогает продвижению канала и Давайте будем начинать и поехали Итак все запись пошла Итак Саша расскажи
00:00:01 - 00:01:12
о себе Почему ты выбрал сферу тестирования Почему хочешь заниматься авто тестами и в принципе Расскажи про свой опыт работы и как вообще тебе это вся сфера так в общем тестирование попал может сказать случайно я работал аварийным инженером тогда провайдеры Ну настраивал кабель там поставил сервера потихонечку такой который пилил Личный кабинет для провайдера провайдера локальный там Москве тестировать Я сказал что это такое тестирование ну так-то интересно кстати а почему кстати перебил тебя пишем
00:00:36 - 00:01:59
Но они такие там интеграционные используются контейнер и собственно ветки тест основного проект просто не отдельный проект Большой проект получается а почему кстати автотесты выбрал Ну и хочешь в этом развиваться а не в разработку пойти блин Надеюсь не то что выбрал это как бы диктует современный рынок Ну и они прилично по моему мнению немного интересней Ну не то что немного они намного интереснее нежели чем заниматься ручным тестированием я нисколько не хочу там уменьшить заслуги ручных тестировщиков
00:02:05 - 00:03:28
просто вот как следующий штат наверное да вот мне тоже кстати авто теста больше нравится чем разработка потому что мне кажется там как-то больше креативности и задачи более креативная и по наверное по дедлайна мне так сильно привязаны как разработчики делают там у них потому что очень часто бывает какие-то супер срочные задачи которые надо допустим через 5 часов уже сделать и все протестировать а в авто тестах это все-таки наверное больше то есть разработчики сделали задачу и задача переводится в автотест и говорят
00:02:51 - 00:04:00
Ну вот давайте у нас все готово нам нужно просто запилить автопроверку И там мне кажется по времени более плавнее Потом наверное естественно креативности гораздо больше можно там по-разному реализовывать в принципе очень здорово да то что буду во-первых меньше дозванов меньше стрессов лично мое мнение или достаточно много творчества Потому что ты можешь сам придумать проверки как разработка только не разработка Да это просто получается конечный продукт не доходит до самих пользователей То есть у
00:03:27 - 00:04:47
нас внутри итак хорошо Как ты думаешь в чем вообще суть тестирования приложения и для чего в принципе это вообще надо делать Блин плохо слышно Олег так а сейчас хорошо сейчас лучше да хорошо в чем суть тестирования приложения и для чего это В принципе нужно как ты читаешь приложение нужно чтобы во-первых знать что мы разрабатываем продукт Согласно требованиям и чтобы отдать качественный продукт пользователям необходимо так как все мы люди все мы добавляем разработчики такие же люди как и мы и мне кажется в принципе тоже если нашли
00:04:06 - 00:05:43
какую-то ошибку на моменте когда уже выкатили что-то в Production и это просто будет гораздо дороже чинить чем если бы нашли этот баг на начале например и поэтому твой ответ очень хороший то что вы должны на этапе разработки уже все протестировать отследить что качественно Все работает и в принципе хороший такой тестирования Ты знаешь и с чем тебе приходилось сталкиваться и тестирование Но это получается прием модульная интеграционная приемочная тестирование системное тестирование приходилось я сталкивался в основном с
00:04:57 - 00:06:21
интеграционным тестированием тестирования микросервис с модульным тестированием при написании автотестов А вот про Юнит теста слышал ведь слышу многие очень путают и считают что Юнит тесты должны писать тоже авто тестировщики Но это больше все-таки к разработчикам относятся автотестеры они должны в основном интеграционные только писать вот еще есть кстати нагрузочное тестирование стрессовое и так далее что занимался интеграционными тестами Ну точнее нигде допущена ошибка где возникает ошибка в каком месте и черный
00:05:45 - 00:07:05
ящик от когда у тебя есть только юань А ты можешь такой ну типа здесь ошибок я не знаю там в чем дело Да а вот смотри А как ты думаешь Вот если у нас есть доступ коду То есть у нас есть белый ящик И как ты думаешь Как именно доступ коду может помочь писать авто тесты Как реализовано с помощью лист А надо было через это реализовать Как там требовалось уникальный и из-за этого такая ну Казалось бы мелочь но возникла ошибку Я просто смотрю про когда паук квест увидел и не подсказала просто сказала разработчика то что он
00:07:02 - 00:08:19
стоит Да вот это здорово потому что вот реально с белым ящиком особенно когда у нас есть доступ коду иногда Нам нужен даже не нужно писать разработчикам чтобы они уточнили какой-то функционал и если например более-менее разбираешься глубоком уровне то код какого-то функционал ты можешь гораздо проще понять там что и как работает Это Окей Вот смотри Допустим мы нашли какой-то баг в его части Что ты будешь делать когда ты нашел баг части Я вообще посмотрю как На чьей стороне этот баг на стороне frontendo
00:07:55 - 00:09:14
или backend Смотри Все ли но все ли приходит от Брока может требуется для отображения фронта если это необходимый действительно возникает случае неполноты данных а но все равно же нужно как-то создать задачу в Джерри либо там где-нибудь еще соответственно заведу бак заведу дефект да да вот мы получается после того как бак заводишь надо назначена разработчика разработчик починит мы потом ручные тестировщики будут проверять малой там бак на фронте посмотреть разработчиками Если нет то можно через
00:08:43 - 00:10:15
конечно Конечно это да А вот смотри а ты говорил про фронт and и backed часть и вот смотри как вообще обычно у нас тестируются API либо evitest кейсы например вот если мы не через год Тестируем А нам надо руками что-то проверить как обычно это происходит Или как это ты делал обычно Через какие инструменты Ну соответственно юань Согласно требованиям Согласно макетам фигме бэк если по быстренькому то там Осман разработчика опять же обязательно что-то сделать это постман либо своих Это же просто как документация которую
00:09:49 - 00:11:18
можно прямо в живом времени просто потыкать запросы посмотреть что они возвращают вот тоже очень хорошая то что хороший инструмент что ты можешь их поставить какие-то там переменные сделать чтобы подставлять туда-сюда то есть говорил что-то про постман или про этот про свагер вот он бросать все работает а дальше либо тесты либо если не требуется автотест следующая задача хорошо Так посмотри окей Как ты думаешь Вот из чего чаще всего состоит в приложение Ну то есть три так обычно три части прям основных бывают знаешь какие
00:10:40 - 00:12:16
клиента сервера и базы данных Вот и обычно это все связывается через какой-нибудь архитектуру самой популярной чтобы клиенты общались допустим в приложении используется архитектура и смотри растопил нас общается что тебе запросами Вот и вопрос в том из чего в принципе у нас состоит http запрос и что в него входит запросам состоит из версий очи типе потом собственно вот а вот хедеры Какие чаще всего используются прям пример какой-нибудь хайдеров [музыка] устройстве с которого получается идет Запрос к серверу То есть например
00:11:31 - 00:13:15
заходим на сайт и у нас User Агент является например открывается мобильная версия этого сайта хорошо вот смотри есть определенный статус коды и вот смотри если у нас успешное обращение к серверу то какой статус код обычно отправляется возвращается либо 200 либо 201 то что ресурс создаст 200 просто успешный запрос а вот смотри есть популярная ошибка 404 знаешь что она значит собственно доступен Вот именно 400 ошибки это проблемы с отображением чего-то из-за того что клиент что-то не так делает а вот смотри
00:13:10 - 00:14:40
у нас есть четыре основных метода это то есть смотри В чём разница между методами Get и пост запросами а где там не имеет тело получается и у него уникальная строка то есть если я если дед кого-то передам то он откроет Ту же самую страницу если я передам человек Он уникален он открывает то же самое страницу пост есть тело Запрос который мы не видим удобно добавлять информацию достаточно большое А вот смотри как ты думаешь почему через Getz запрос никогда не отправляют какое-то тело во-первых Там все в открытом виде
00:14:04 - 00:15:38
передается Нам очень ограничено по моему по длине Да И вот смотрите у гет запросов есть такая особенность что у нас идет запрос всегда кэшируется в интернете то есть если бы мы передавали что-то в теле запроса например логин пароль то этот логин пароль он бы от кэшировался в интернете и навсегда там остался и с точки зрения безопасности проще и даже лучше отправлять под запросы и там уже складывать тело и других передаваемые данные Вот смотри есть еще такой вопрос Можем ли мы в Get запрос в теории поместить какое-то тело
00:14:51 - 00:16:07
мы можем Контракт будет сделан можно можно одни детки сделать да то есть возможность отправлять тело в качестве Get запросов зависит только от того как у нас в принципе реализовано веб-приложение то есть если мы нас будем например там позволили в Get отправлять тело то естественно можно но по правилам которые общеприняты обычно в детстве просах ничего не передается кроме каких-то параметров URL строчки так супер а вот смотри еще вот вопрос по статус кодом допустим у нас есть страница которая доступна только после
00:15:32 - 00:16:46
авторизации Что будет если мы через Getz запрос обратимся по какому-то определенному адресу без авторизации то что вообще происходит я к сожалению не помню там да да статус-код Обычно 400 первый присылается и там написано она 2 за то есть у нас нет авторизации для того чтобы иметь доступ к ресурсу так хорошо и посмотри последний вопрос по http смотри у нас есть статус котах 300 то есть 300 Это обычно перенаправление какой-то редирект и смотри Допустим мы Обращаемся по какому-то и он нас перекидывает на
00:16:09 - 00:17:31
какое-то другой ресурс и вопрос в том как нам достать ссылку которая ведет к редиректу Где находится а где находится там есть такой метод там лонгри Директ Например если мы через пост хотим достать эту ссылку через пост он должен нам прислать еще промежуточный ресурс присылает Да да я к сожалению не работал с этим но я знаю Все правильно смотри есть обязательно промежуточный ресурс и именно есть такой хедер который называется Location и в качестве Location обычно указывается конечная ссылка куда у нас будет
00:16:55 - 00:18:17
происходить редирект то есть правильно ответил Но именно не в теле запроса содержится эта информация а в а ну ладно теперь давай поговорим по Джаве Ну у тебя в http достаточно хорошие знания даже сказал бы очень даже хорошая вот теперь давай поджали пройдемся осмотри Какие библиотеки ты в принципе использовал для того чтобы отправлять http-забросики Не использовал только домашний проект а слышал ли ты про библиотеки либо ретро Fit какой-нибудь действительно прям такой очень громадный там очень много надо писать строчек
00:17:44 - 00:19:11
кодов для того чтобы отправить какой-то коротенький Ген запрос а вместо шорде мы просто пишем там гет и дальше мы что-то делаем Мне кажется самый популярный это шорт И все кто изучает достаточно молодцы потому что это действительно очень удобный инструмент и он масштабируемый на самом деле вот действуйте свое предназначение как зачем-то что он остаточки ехать вопрос Да Да А вот смотри ты в проекте использовал тот же классы да Ну да то можете использовать да да А как ты думаешь чем они лучше чем
00:18:44 - 00:20:09
например если бы мы ответ извлекали в виде строки например просто Ну то что можно их использовать дальше приложение в тестах либо просто удобнее с ними работать да такой вопрос представим что мы Обращаемся например по какому-то через метод и нам просто возвращается список из каких-то объектов через как бы ты достал этот список и прям может список какой-то добавил как бы вот это сделал получается я бы создал лист этих объектов и там по моему с-класс или с object Я уже там Return Ace обжиг весь класс и
00:19:26 - 00:21:05
имя класса соответственно какой будет такой класс Да можно так еще Кстати как вариант больше допустим через написать какой-то HD метод далее response потом вызвать метод jsonpad и далее просто вызвать метод лист указать что именно Мы хотим извлечь какую какой массив И через запятую например можем указать классе тоже правильно тут как бы просто и там указывать что мы хотим именно в список либо в массив Если хотите хорошо у нас есть вот извлеченный список с объектами И в нем в них например содержится пользователю пользователя
00:20:24 - 00:21:53
есть имя и возраст и смотри как бы ты отфильтровал этих пользователей и сделал так чтобы под фильтр попали только те люди у которых возраст больше чем 18 лет либо через то есть пробежал по листу соответственно промежуточный то что можешь дальше делать действие какие-то например фильтра ты можешь делать мап он тоже промежуточный и дальше коллег то он же терминальный То есть он заканчивается ничего не возвращает он просто делает то есть делают действия сколько я помню терминальный по моему уже все правильно То есть у нас нет чаще
00:21:15 - 00:22:41
всего вызывается чтобы перебрать Каждый элемент из коллекции и сделать с ним какое-то одно определенное действие это все правильно вот есть у меня вопросик по поводу Хеш карты Как часто ты использовал хеш-карту и в принципе для чего она нужна в принципе так в целом [музыка] достаточно удобно стерилизовать Угу хорошо хранить ключ значение какие-то различные пример там токин вообще не токены Да все правильно А смотри а что будет Например если у нас есть ключ и далее мы в эту хеш-карту Добавляем еще один ключ
00:22:46 - 00:24:04
точно такой же как и предыдущий Какое значение останется значение останется То есть например мы допустим разные значения всегда какое-то один ключ уникальные ключи могут быть у нас при добавлении одинаковых Ключей у нас остается только последний результат хорошо [музыка] в виде респонца и вот смотри как ты думаешь какой респонд в принципе всегда присваивает тип К объектам если у расташурда если мы хотим в дальнейшем доставать там какое-то поле либо из объекта какое-то поле достать тогда еще раз вопрос
00:23:35 - 00:24:57
да Смотри Вот у нас Мы отправляем запрос из ашурда и у нас возвращается например response в котором содержится статус скот тело запросы и так далее И если мы после респонца достаем какое-то определенное поле через метод Get какой чаще всего тип данных у нас присылает именно роста шорт есть ответ там есть поле далее есть у нас объект в котором тоже содержится поля и если мы не указываем какой-то определенный тип какой тип именно растут возвращает по-моему обжиг да А дальше как вот с этими обшивками
00:25:04 - 00:26:32
работать то есть лучше либо туринг либо там красиво класса да да И вот ты правильно сказал что обжиг и смотри так как у нас прилетает чаще всего Джейсон Джейсон у нас имеет тип данных ключ и значение и поэтому если мы извлекаем в виде респонца то чаще всего у нас ответ прилетает в линкешмаб и это ключ значение как раз таки и в качестве ключа навсегда string в качестве значения у нас всегда object потому что виде объекта Может быть как строка как какой-то логическое значение Как какое-то число вот поэтому Да все
00:25:48 - 00:27:06
правильно так смотри тут тоже еще вот такой интересный вопрос допустим у тебя прилетает ответ в нем содержится 50 полей и из этих 50 полей тебе нужно проверить всего лишь 10 штук как ты будешь осадить вот эти поля вот эти 10 штук я создам классный 50 полей либо если они например стоят из массива это там 10 штук это один из массива рисунок просто там соответственно объект на 10 полей и с помощью до этого объекта его объекты проверил ожидаемый результат То есть ты хочешь для каждого поля вызывать например
00:26:28 - 00:28:03
можно параметризованный сделать тест а вот смотри вот тут задача именно вот у тебя без параметров представлен и просто именно 10 полей проверить Да и ну то есть ты предложил вариант каждое поле доставать через get Например если мы стерилизуем в объект и каждое поле например проверять А вот смотри слышал ли ты про такую штуку как софт асерт да Нет вот сейчас немножко расскажу про него допустим твой вариант тоже он подходит И он часто используется Но есть один нюанс представим что у нас 10 полей которые мы
00:27:27 - 00:28:52
проверяем получается так что у нас второе поле по очереди оно сразу завалилось и соответственно дальнейшей проверки уже не будут идти потому что упал и тест прекращается такая штука которая позволяет то логика продолжается дальше и в конце мы можем вызвать метод произвести полный вот всех полей которые мы хотим проверить и можно использовать для более информативного отчета То есть например не будет показано что у нас одно поле не прошло там в самом начале например Это завалился у нас покажет что
00:28:10 - 00:29:27
например из десяти семь полей прошли и три неудачные То есть через Soft Accept мы можем Просто большинство полей проверить и сразу же посмотреть какие из них упали Ну просто Для более получения информации более такой Спасибо запишусь запишу себе хорошо вот смотри еще вот тоже очень интересный и очень такой самый популярный кейс который встречается в авто тестах смотри Допустим мы проверяем какой-нибудь вот мы регистрируем пользователя далее мы пользователя зарегистрировали через пост запрос и нам
00:28:51 - 00:30:11
возвращается ответ в виде этого же зарегистрированного пользователя и смотри как бы ты сравнил что пользователь зарегистрировался То есть то что мы отправили совпадает с тем что мы получили если мы будем все через позже классы делать как бы ты сравнил во-первых сравнил но статус код он создан 201 полям или сразу весь класс сматился в пользу просто класс Ага а вот смотри будет ли у тебя сравниваться класс если у тебя не переопределен метод iqos если не перепределен то не будет вот да да Потому что если мы сравниваем классы
00:29:32 - 00:30:59
без переопределения Eagles он нас сравнивает вообще хешкоды И даже если содержимое класса всегда одинаково то у нас будет показаться что эти классы разные ну так они отличаются А если мы переопределяем метод equals в самом классе то мы сразу говорим о том что мы сравниваем именно по содержимому и поэтому если мы хотим сравнить два класса то нужно вот еще как-то до этого говорил про лист и сет и вот смотри А вопрос такой Можем ли мы из Сета что-то достать например в листе есть метод Get А в сайте так такого нет и
00:30:34 - 00:31:53
вопрос Как нам из это что-то достать И вообще Нужно ли это делать с помощью достать если требуется да то есть у нас в сайте доступен только итератор то есть мы можем только проверить есть ли элемент в сети либо можем пробежаться по всему именно вот этому сету и там если условия совпадает например мы можем этот элемент либо куда-то добавить либо Удалить Ну и так далее вот все хорошо в принципе ответы хорошие теперь давай перейдем именно уже части авто тестам Что такое в принципе Application programming интерфейсу с
00:31:17 - 00:32:45
помощью которого общается клиент серверы сервер база данных между собой есть это собственно говоря протокол а есть ответ архитектурный стиль с помощью Джейсона или я мог сейчас еще передается свои данные А вот смотри Можем ли мы в архитектуру поместить жизнь вообще в качестве тела запросов Нет не можем А почему только поддерживает хочешь что мы можем даже вообще как реализуют так и будет работать а допустим помнишь я тебя спрашивал вопрос Что будет если мы отправим запрос на тот and Point который доступен только
00:32:10 - 00:33:44
после авторизации и смотрел Что чаще всего у нас отвечает за авторизацию естественно это какой-то хедер А что именно вот какой на хедер Да да все правильно Окей А вот теперь смотри вот такая ситуация допустим у нас в классе есть много тестов все тесты работают только после авторизации как бы ты сделал такую штуку чтобы у нас в каждом тесте не происходило авторизация каждый раз просто выделил Бобби хор Ага этот метод создал бы нет соответственно авторизации добавил так либо какой-нибудь класс соответственно
00:33:25 - 00:34:54
называл бы его либо один раз если требуется и авторизации единожды для одного пользователя каждого правильно То есть получается чтобы нам лишнего кода не писать и не загружать грубо говоря тесты мы можем просто именно логику получения вот этого токена вынести либо до запуска вообще всех тестов если у нас токи например там статичный он там раз в день например обновляется при свой Там какой-нибудь константу дали просто константу в тестах пихать хорошо но создал бы получается какой-нибудь Basic Basic Test
00:34:14 - 00:35:31
и соответственно проходил бы авторизацию и дальше уже с помощью cooki Ну передало куки просто да хорошо а вот по поводу UI А вот смотри у нас по идее Есть такое слово как дом страница Ты знаешь что такое дома страницы То есть это просто молодом деру элементов которые представляют собой веб-страницу в итоге может двигаться там вверх-вниз с помощью да да А вот смотри по поводу xpath Он нам нужен для того чтобы найти какой-то определенный элемент на странице при этом еще есть CSS селектор и вот смотри
00:35:04 - 00:36:39
как по твоему мнению В чем разница вообще между двумя вот этими способами и какой ты чаще всего используешь Ну я использую их спас так как с помощью секс селектора нельзя двигаться Вверх с помощью на Express поддерживает все векторы Ну все оси да да еще Кстати работает немножко быстрее но там разница настолько незаметно что Ну тут вкусовщина самом деле Лично я сам их спас использую так как он используется обычно в авто тестах используется и вот вопрос такой Смотри представим что у нас например есть стартовая страница
00:36:02 - 00:37:29
Яндекс например большая была в поиском далее снизу например новости сверху например погода слева почты и так далее и как бы ты вот эту главную страницу Яндекс разбил на паттерн Page object Я бы разбил по действующим элементам это Search компонент дальше компонент и больше наверное компоненты Да взаимодействовать То есть просто То есть просто мы какой-то компонент разбиваем страницу Разбираем просто на блоке Ну и далее там Обращаемся туда нужно получается это веб-драйвер и Понимаешь ли ты как работают в принципе сам
00:37:02 - 00:38:36
драйвер обращается кромвером и создает сессию передают запросы к сожалению не погружался настолько глубоко создавать сессию населению соответственно уже с помощью да ты все правильно рассуждаешь на самом деле все правильно То есть у нас просто создается получается сессия и через API у нас просто удаленно отправляются команды просто в браузер грубо говоря это клиент сервер тот же самый только у нас клиент это получается сам браузер который обрабатывает просто запросы которые нам сам вот этот отсылает
00:38:03 - 00:39:25
Смотри такой еще вопрос Можно ли драйверу добавлять какие-то хедеры то есть запросах у нас можем там ставить на все что угодно так сделать насколько я помню Нет сейчас настраиваешь там по умолчанию надо а нужно ли что-то дополнительно делать чтобы вот например хедеры к нему сделать по идее но есть такой браузер услышать мы можем устанавливать но для этого нам нужно просто локальный прокси сделать и уже из-за того что прокси является у нас http можем хоть что засовывать то есть хоть агенты Там какие-то кастомизированные
00:38:48 - 00:40:13
заголовки и так далее с чем сам сложный сталкивался и тестов Блин я наверное Особо ничем еще не сталкивался таким когда был недоступен там тип страница нам вот это самый такой сложный окейст А в таблицами ты тоже не работал да получается да просто отчет создавался но было пустая страница а именно вот в работе с элементами Мы работаем с таблицами и постоянно очень вот эти проблемы с ожиданиями Когда в поиске Мы в таблице что-то ищем и надо ждать пока обработаются результат но кот уже идет дальше И падает тест что
00:39:55 - 00:41:10
там элемент не найден например Это конечно самое сложное А смотри А ты слышал про флаки тесты вообще что-то моргающие тест нестабильны Да да перезапуске это вот хороший вариант А как ты думаешь как их в принципе перезапускать нужно Типа если фланке то перезапусти настройку к сожалению не помню Ну хорошо что в принципе знаю что такое флаги тесты и вот мне по поводу экс- стендов в зависимости от того какой тестовый запуск от используется либо тест Анджей либо Юпитер и там и там есть класс который отвечает за
00:41:18 - 00:42:41
тест-лист тонер или что-то подобное то есть мы можем переопределять методы которые отвечают за статус теста То есть он прошел либо не прошел если нам нужно например в текстовый файл поместить упавшие тесты да то мы можем переопределить метод который смотрит упали тест далее там через аллер В общем получить тестовый метод всё будет так отлично и вот у меня остались последние вопросы по поводу себя частью и вот смотри у вас на проекте дженкинс ведь используется так как Ага а вот и груве скрипты ты получается
00:42:12 - 00:43:37
с нуля не писал простые там типа получилось репетитория Там эту ветку делаешь которые были изменения далее там запустить тесты там с такими-то переменными но окружение и далее вот Аллюр отчетом commandline я писал эти скрипты Там же есть такая внизу слева такая типа синтаксис и смотришь такой читерский метод Не ну это хорошо на самом деле то что ты в принципе писал группе скрипты Ну в принципе взаимодействовал именно с нуля там что-то Создать написать что-то простенькое потому что многие в принципе
00:43:10 - 00:44:29
только там на проекте допустим только нажимают запустить там какой-то жопу и все а когда ты погружаешься более так именно глобально в дженкинс Как там крови скрипты работают Как там какие-нибудь триггеры работают То есть это хорошо темп gitlab сгитон работаю ну и тут можно сказать глубоко там создать ветку там ответвиться там смерть отделать по реквестом удалить изменения [музыка] нет нас нельзя так нельзя такой ну дженгинсы равна есть это и все так Ну в принципе я поспрашивал все такие самые популярные вопросы которые
00:43:58 - 00:45:28
относятся именно к автотестам и в принципе если оценивать твой уровень то на метла спокойно я бы тебе взял свою компанию Если бы ты проходил этого не я бы был прям таким что мне больше всего понравилось то что у тебя достаточно глубокие знания по http Далее по тестированию потому что ты очень хорошо рассказал что такое белый серый ящики так далее Потому что в принципе мне кажется очень различать именно вот эти методы тестирования и естественно Если черный ящик это у нас только ui-тест и особенно когда мы
00:44:47 - 00:46:02
просто вслепую что-то пытаемся сделать вот по поводу еще Java по поводу Стрим Мне тоже понравилось то что ты очень свободно называл допустим методы там фильтр мап и коллекции Ну и так далее freach То есть видно что ты действительно работал и у тебя есть прям такой опыт работы со стримами перебором там каких-то коллекций то есть видно что ты запросами очень много работал и знаешь что как извлекать там как перебрать элементы фильтровать и так далее вот по поводу когда я про софт тебя спрашивал в принципе это нормально то что ты
00:45:31 - 00:46:53
допустим например не знаешь такую библиотеку как софта потому что она далеко не везде используется но в качестве примера как бы вот я рассказал что можно несколько полей засадить Ну и продолжать АССР Даже если он упал вот и смотрю что такое сталкивался Да еще вот мне понравилось то что ты рассказал что можно допустим авторизацию получить токен например либо получить Cookie но все это делается через аннотацию be for потому что тоже есть определенные люди чаще всего которые только начинают они например
00:46:12 - 00:47:27
говорят в каждом тесте например прописывать получение токены и так далее То есть тоже видно что ты с этим работал знаешь как это в принципе работает то что мы можем вбивор У нас есть аннотации for там автор чтобы логику до тестов либо после тестов что-то делать и в принципе я бы уверенно на твоём месте отвлекался На какие-нибудь позиции потому что жена Мне кажется ты перерос она метла в самый раз идти и пробовать проходить собеса делать тестовые задания и мне кажется у тебя всё супер и все получится Вот спасибо
00:46:51 - 00:48:03
большое за обратную связь Спасибо огромное время да да А как тебе в принципе понравился Собес такой тестовый пробный чувствую сказал такой я ожидал как проект можно будет Ага вопрос Иди Ну да тут просто видишь тоже зависит от компании вот эти все собеседования и там именно например потоки ру по сети в основном сеньоров гоняют прям кита тонкости спрашивают и так далее Потому что сеньор просто да вот я именно выбрал такие вопросы которые отвечают именно вот то чем обычно занимается автотестер То есть он
00:47:27 - 00:49:00
должен знать http его часть самые основные такие проблемы как их фиксить каких обходить и так далее Java Вот мне кажется знание стримов и умение извлекать правильно ответы класс это тоже прям Это очень хорошо Надо уметь и по сути по сути же на собеседованиях по идее нужно проверять именно практически знания которые именно на проекте используются А если например гонять а я еще думаю будет какой-нибудь бамбук используешь Нет потом а лобок Да кстати тоже аннотациями позже и так далее вот я потому что по поводу Java то и вот этих
00:48:46 - 00:50:10
растошурлов А по поводу Java Я считаю что метлу вообще не обязательно знать как работает например метод файлайз который очищает там мусор карпаж коллектор как бы зачем это знать если в авто тестах Но это прям нигде не используется и естественно если ты собеседуешься на разработчика то нужно обязательно знать в авто тестах Мне кажется достаточно просто узнать стримы какую-то опеку и и вот вот так то что разработчик допустим моему там не надо знать там какие-то сложные там Может многопоточность я считаю что ни к
00:49:29 - 00:50:46
чему да Ну вот например рефлекшен E5 там который способен в пятом используется достаточно Да познакомился с ней такие вот вопрос Ой знаете достаточно хорошо стримы надо знать там функциональный интерфейс мое мнение это да иногда это используется просто от вопросов это Да тоже верно возникает от таких вопросов может избавить знание джала Да конечно конечно ладно в общем давай будем закругляться Спасибо что уделил время в общем знание У тебя хорошее Поэтому у тебя все получится Давай пробуй откликайся на собесы проходи
00:50:21 - 00:51:57
Спасибо тебе большое Олег запомнить за то что ты делаешь вообще особенно Нет не пригодился вот опять же я там понял как построить фреймворк вот ты сейчас подходит Спасибо Да не за что то что давай пока давай пока Давайте подведем итоги по теста в собеседованию как я уже говорил ранее Я прошел в принципе по всем темам которые чаще всего используется на практике То есть это поиск элементов из это там например Lucky Test и понимание вообще теперь работает и в принципе если вам понравился видос и если вы хотите тоже
00:51:14 - 00:52:53
поучаствовать в тестовом собеседования то Вы точно так же можете написать в моем Telegram чатике мы сами договоримся о собеседование и запишем видос проверим знания Можно конечно чем уточнить его углубленное либо что-то еще также не забывайте ставить лайки подписываться и также смотрите другие видео которые у меня есть на канале и всем пока [музыка]
00:52:16 - 00:53:20