Подготовка к собеседованию на 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 каналы и чаты
Транскрипция видео:
насколько вообще в принципе важно когда ты в профессиях ходить на собеседование собеседование на Junior специалиста всегда самое сложное я проверяю что софт делает И что он это делает правильно что такое интерфейс Что такое абстрактный класс Почему они отличаются друг от друга скучно вообще все программисты которые были на собесах захотели глаза такие паттерны программирования слэш автоматизация Ты знаешь я однажды не сегодня несколько лет назад загугли мне кажется будет опасно для джунного честно
00:00:00 - 00:01:04
вариант первый ты получил какой-то новый навык вариант второй ты получил опыт вариант третий ты чувствуешь что тебе не доплачивают три любых Exception вселенем и почему они возникают Ну какая разница какой это тип тестирования Ну блин это так опасно Ты знаешь один раз ходишь случайно Привет это натив сегодня вечером поговорим ботине только ребята мы следуем традиции продолжаем нашу классную рубрику Разбираем вопросы собеседований сегодня очередь пришла к автоматизации тестирования на Java Во всем мне поможет разобраться наш ведущий
00:00:32 - 00:01:36
наставник групп менеджеров компании atihard Group Дима рак [музыка] Ну что еще раз здравствуйте Здравствуйте Дим в очередной раз рад видеть и особенно тебя рад видеть потому что у нас есть такая маленькая мини рубрика мы Разбираем вопросы собеседования понятно что ты в нашей школе являешься амбассадором направлением по автоматизации тестирования на Java я не мог тебе не позвать и ты запомнил эту фразу Да поэтому давай формат общения построим следующим образом я задаю достаточно простой вопрос ты даешь достаточно
00:01:06 - 00:02:20
хорошего конечно ответ и может от себя тяну еще какую-нибудь я добавлю типа отношения к этому вопросу посмотрим давай это будет важно потому что смотри у тебя есть опыт как прохождение собеседования так и проведение интервью собственно точно может дать оценку типа что встретиться что нет насколько это трудно сколько это false в общем собесед Junior Хорошо давай сначала с такого вообще зайдем смотри насколько вообще в принципе важно когда ты професси на собеседование сложно ответить на вопрос как всегда сложно Ну сколько важно надо
00:01:48 - 00:02:56
оценить себя да хорошо Почему ты хочешь оценить себя вариант первый ты получил какой-то новый навык вариант второй ты получил опыт вариант третий ты чувствуешь что тебе не доплачивают да то есть провести какую-то переоценку Как часто Ну давай я отвечу с головы допустим раз в полгода Это нормальный период вот я бы раз в полгода ходил при этом наверное не чувствуя какой-то там вины Ну блин это так опасно Ты знаешь один раз ходишь а потом купит работу поменялся случайно а вроде не планировал да А поэтому Ну раз в полгода раз в
00:02:21 - 00:03:28
годик Почему бы не сходить чтобы ну не застаиваться хотя бы уметь продавать себя просто наверное наперёд насколько тактично к такому решению если они узнают его ресурсный менеджер либо кто-то ещё из команды относится тот кто например повыше тебя либо с тобой в равный иерархии но отвечает за процесс взаимодействия с работниками компании с ними ресурсами менеджер как я как бы я отнесся к такому так себе наверное вот да Ну так себе скорее ответ Ну так себе то есть вроде бы ничего в этом плохого нет
00:02:56 - 00:04:01
но скорее к этому могут относиться негативно причин для этого на самом деле нет у меня такой кейс был там около двух месяцев назад собственно тоже сотрудница сходила прицениться естественно мира идти довольно узкий Да они такие Так а что какие-то фидбэки может там может дать у него спросили Вот я дал какой-то фидбэк в любом случае сотрудница поговорили что она мне просто ответил Ну мне хотелось понять что сейчас вообще есть ли проекты в Беларуси Да какие могут пойти на что я могу рассчитывать Вот она продолжает работать
00:03:28 - 00:04:28
в компании всё хорошо Ну таких кейсов за последние несколько лет было несколько э зависит от вашего менеджера если он не деспот это всё будет хорошо Сложно ли тебе в принципе было проходить собеседование самые сложные мои наверное три собеседования это самые первые три собеседования и все остальное это в принципе да потом каким-то чудом за счет коммуникативных навыков что ли кто-то превращается в легкую беседу Я что-то знаю работодатели что-то нужно мы общаемся торгуемся можно сказать да что я могу им
00:03:58 - 00:05:08
дать какой я ценность могу принести и какой у меня бэкграунд про это и говорили Я люблю говорить про себя как ты же знаешь тогда давай начнем У меня будет немного вопросов из блока посовским Я знаю что в своих видео Мы обычно проводим интервью только по хардовой части с тобой мы добавим несколько вопросов пософтовой части поэтому их будет немного но я тебе дам и первый вопрос звучит следующим образом Расскажи немножко о себе и о своём обыграунде Так у меня порядка 10 лет опыта я занимался ручным тестированием
00:04:33 - 00:05:37
автоматизацией менеджментом естественно лучше рассказывать в этот момент про то что актуально для текущей позиции если я на архитектор я буду про более техническое из своего бэкграунда рассказывать то есть как я улучшал процессы где-то вот такое тоже было если это все-таки будет какой-то более ресурсное какая-то позиция То значит я буду рассказывать о том что у меня была команда Из 17 человек или есть команда Из 17 человек я проводил интервью занимался целеполаганием развитием сотрудника ланталанами сборами фидбэка если это
00:05:04 - 00:06:15
будет ближе к Delivery части вакансии допустим то значит я буду рассказывать о том что более релевантно к этому То есть общение с заказчиком пресейлы апсейлы очень много всякого разного если это будет автоматизация то я пожалуй расскажу о том с какими библиотеками я работал языками программирования значит я работал с javy работал совсем немного с GS и питоном работал библиотеками типа селенью селенит работал Потому это Джиджи Юнит Аллюр могу настроить очень много разных сиаев допустим дженкин серкань вся из
00:05:41 - 00:06:46
моих топов вот ещё иногда имеет смысл добавить про доменную область это в частности продуктовые компании любят допустим опыт финтехе может быть очень полезен для компании из финтеха и тогда второй вопрос в этой граде самый интересный проект в твоей практике в общем наверное самый интересный чисто для меня будет самый первый проект это Лондонская биржа ценных бумаг благодаря lse Я кстати недавно коллег из лайт-тестинга видел как раз таки коллег по проекту Так что передаю привет всем здравствуйте Да в этом пересеклись
00:06:13 - 00:07:29
поболтались поностальгировали просто проект своими масштабами и ну именем очень вдохновлял Я с тех пор и начал интересоваться сначала белорусской Беларусь белорусской биржей потом перешел Собственно уже в инвестирование то есть как-то вот они меня цепочка событий запустилась Да это было очень круто вот этим Я горжусь этом занимался просто ручным тестированием Это был Старт моей карьеры провод тестированию собственно мы плавно переходим с тобой Hard части Давай начнем с такого простого вопроса на
00:06:51 - 00:08:01
разогрев ты автоматизатор Я не могу тебя спросить не спросить про ручную тестирование Что такое тестирование по тестирование по это использование того самого программного обеспечения с целью выяснения соответствия между актуальными и ожидаемыми результатами А если коротко то ты тыкаешь программку И убеждаешься что она работает именно так как хотелось бы тебе либо заказчику Когда следующий вопрос я думаю что этот вопрос себя будет включать немножко три вопроса таких три под вопросом Назови мне пожалуйста этапы типы
00:07:26 - 00:08:36
и уровни тестирования хорошо Поехали этапы мыслим логически что зачем следует Да что за чем следует вы тестирование Вот в такой хрестоматийной теории Да в начале мы анализируем требования которые в реальности не будет потом мы общаемся с заказчиком с попытке создать тестовую стратегию если коротко ответить на вопрос что Кто где и как будет тестировать зная о продукте что-то третья Вещь это создание тестовой документации для того чтобы была какая-то повторяемость записать что ты будешь тестировать
00:08:01 - 00:09:17
четвертый момент что-то типа тестирования на ранних стадиях Может быть там прототипа может быть дизайна то есть не самого рабочего продукта иногда реально получалось что-то дизайнеров тире бизнес аналитиков получить чтобы на это посмотреть и протестить потом само тестирование а потом условно некоторые бакфиксинг Вот то есть такое повторяемый в принципе процесс Ну и потом уже эксплуатация продукта когда мы обрабатываем скорее обратную связь похоже будет на багфиксинг но это уже все таки нам отвечают что-то говорят наши шов не
00:08:39 - 00:09:58
очень мы пытаемся его как-то переделать вот так вот хрестоматина идеально это выглядит в идеале сейчас все уже знаешь перемешалось и там каждый из этих процессов в том числе каждые две недели Повторяйте смешаны друг с другом так это про этапы про типы Ну вроде я не ошибаюсь функциональная не функциональное понимание под этим Да ну вот есть функциональность Ладно все-таки функциональная я проверяю что софт делает И что он это делает правильно Я хочу делать не знаю онлайн переводы значит онлайн переводы должны работать
00:09:19 - 00:10:32
на разные суммы и не функциональное тестирование это уже ответ на вопрос как быстро так красиво допустим то есть туда вроде как относится Могу ошибиться но юзабилити Security и всякого рода лот стресс перфоманс тесты Вот то есть Может быть заказчик даже не написал что 1000 переводов должна быть совершена в одну секунду но лучше это проверить Если вы работаете только нагрузочной нагруженной системой допустим вот так же как никогда там не будет написано что система должна быть безопасной Ну это Априори да то
00:09:55 - 00:10:58
есть это в общем тоже своеобразный не функциональный вид но они могли вот по-моему Security могло из одного во второй перейти вот тут уж надо истик открывать за разные годы и проверять И после типов ты у меня спросил про уровни уровни Да а с уровнем просто на любую конференцию с тестировщиками вы приходите и вы увидите обязательно там пирамиду тестирования Юнит тесты интеграционные тесты и ну системные тесты либо НТМ тесты Вот ещё иногда наверх этой пирамиды акцепт-тестинг засовывает Но я этого Я так понимаю для
00:10:27 - 00:11:35
меня есть три уровня тестирования условно uni-тесты самые маленькие и подробные тесты которые как правило пишут разработчики и ручные тестировщики этого не касаются интеграционные тесты это когда мы берем два компонента и пытаемся их подружить друг с другом То есть как правило между ними есть какой-то протокол взаимодействия пытаемся его потестить если коротко это растопить вот в большинстве случаев сейчас и соответственно системное тестирование Когда уже у нас все вот такой вот большой кучей и мы пытаемся эту кучу А
00:11:01 - 00:11:54
до Я как это делал бы пользователь протестировать ну а acceptones ну вот выдернули из вот этого системного немножко тестов отдали типа пользователям вот там проверить допустим я не согласен выделением буду спорить субъективное мнение это христоматийная теория которая с реальностью с практикой очень редко имеет какую-то связь требование нифига нету вы смотрите на какие-то Stories да Вот приходишь на проект Все говорят Надо протестировать ты говоришь Давайте требовать в джире там что-то у нас было то есть надо
00:11:27 - 00:12:45
заниматься сразу эксплуараторией получается тестингом то есть брать и из всех этих этапов переходить к пятому по счету тыкать систему чтобы понять что она делает так же как и делись На функциональное нефункциональное Ну какая разница какой это тип тестирования Да какая разница На каком уровне в автоматизации Вот как раз таки уровня тестирования очень важны в ручном тестировании почему-то ручных это спрашивают Ну какая разница тебе Ты умеешь тестировать раз ты умеешь тестировать веб Ты умеешь тестировать
00:12:09 - 00:13:13
мобилки десктоп всё последний дисклеймер собеседование на Junior специалиста всегда самое сложное Потому что ты показываешь что ты знаешь а знать надо много а собеседование на мидлений Там и так далее архитектор это они реально проще потому что показывают что ты умеешь Угу если ты умеешь если ты делал значит всё будет хорошо А если не делал Ну значит плохо давай тогда про технике тест-дизаймы каких ты знаешь и что это для чего это что такое классное слово техники с дизайна как будто мы какой-то такой ну прям крутой
00:12:40 - 00:13:48
деятельность занимаемся в реальности банальщина несусветная кстати одна из моих самых любимых книг по тестированию это легко Плант это с дизайн чего-то там практичнее с дизайн гайд по-моему как-то так называется А в чём суть представляем себя в голове допустим форму на которой нужно ввести возраст допустим сколько вам лет и на основании этого спустят на сайт или не пустят да э-э естественно если 18 то у вас и больше значит пустят если меньше то не пустят Да не будем же мы тестировать все значения от 0 до 120
00:13:17 - 00:14:21
там пяти да до самого старшего человека наверное достаточно протестить всего два и тут мы переходим к понятию техника тест-дизайна это класса эквивалентность ограниченное значение первое да то есть мы пытаемся сократить количество возможных тестов и количество возможных входных данных для этих тестов чтобы тестировать эффективнее это вот единственный способ применения этих самых техник с дизайна То есть если я применяю классы эквивалентности на вот этот пример с годами то я возьму пятилетнего человека и 50-летнего
00:13:49 - 00:14:55
человека два разных класса одному скажет нет нельзя второму можно если возьму граничное значение я проверю цифры 17 18 19 17 летнего не пустит 18 по ходу Пусть и 19 пустит соответственно отлично дальше идем глубже А что если у нас появляется условный там пол Да мужчина женщина А еще появляется имя фамилия и куча разных полей Нам получается нужно протестить мужчин 18 лет женщин 18 лет и еще мужчин по имени Иван Петя и так далее наверное нет одна из моих любимых и полезных техник это попарно тестирование так
00:14:22 - 00:15:36
называемый который является скомбинировать довольно большое количество тестов с кучей полей в вот такое вот меньшую выборку с полями в которых вот значение повторяются парами чтобы это не значило укоп он там по математически Это хорошо расписано есть еще стоит транзишен Да игра как на русском диаграммы переходных состояний То есть ты можешь перейти из этого крана приложение в этот экран из этого состояния в это состояние Да и соответственно вот твои тесты должны быть направлены чтобы менять состояние
00:14:59 - 00:16:12
системы Это просто с другой стороны попытка посмотреть на тесты аналогично аналогично как на классе эквивалентности то есть из состояния Я на форуме Можно перейти в состояние меня не впустила А можно эти состояния меня впустило в общем то же самое Да дисижен Table таблица принятия решений вот тоже примерно та же история Где в табличке мы выписываем все возможные показатели на основании их принимаются решения что будет там дальше после того как ты это всё наводи наделал разные есть еще там серо-ящичные белые
00:15:35 - 00:16:50
ящичная чтобы это не значило допустим Мне нравится с точки зрения белого ящика проверять Ну смотреть на код и Бог ты мой на русском наверное тестирование веток и тестирование стоит и brange Давай на английском давай вот каверишь когда мы во все ветки кода пытаемся войти считать если их то значит наверное есть две ветки он либо случился либо не случился либо там стоит примерно то же самое без кода я его не объясню на пальце Вот такая кучка всего порядка десяти но дофига на самом деле все используют 2 ограниченное значение
00:16:13 - 00:17:35
Classic валентности и иногда умнички используют првасинг во время допустим автоматизации так двигаемся потихонечку к автоматизации автоматизацию нас немыслимо без языка программирования давай так что такое интерфейс Что такое абстрактный класс чем они отличаются друг от друга скучно Все программисты которые были закатили глаза таки я однажды не сегодня несколько лет назад загуглил и нашел список из 50 отличий Некоторые из этих наличие гласили в том числе вы знаете в интерфейсе вы перед названием интерфейса пишите слово
00:16:55 - 00:18:13
интерфейс а перед классом класс и это отличие между прочим Да вот но чтобы Не умничать будем говорить Да адекватнее класс может содержать в себе состояние Что значит состояние по сути переменная какие-то поля класса интерфейс не может там могут быть только это опять-таки ничем не заболевали там могут быть только константы могут дальше в интерфейсе не может быть тело метода те кто использует Java 8 Plus тоже могут меня за плевать потому что Java 8 Plus 8 это так было восьмой появились принципе дефолтные методы
00:17:33 - 00:18:58
которых есть их реализация умничаю царя то есть в интерфейсах появились в интерфейсах в идеале не было тело метода в абстрактном классе может быть мне очень когда-то понравился Вот и вопрос именно ответ точнее идейный то есть идейно интерфейс задает методы которые ты должен заимплементировать потом в наследнике абстрактный класс в нем очень много уже всего сделано что 7 методов Ты уже замплимитировал в нем а потом от него взял и унаследовался другим классом и там только отличие то есть Интерфейс Это
00:18:15 - 00:19:35
как Контракт в твоем следующем классе должны быть Вот это это и это абстрактный класс он скорее как дает что-то вам общего но еще некоторые отличия вот это вот идейная разница ее Мне кажется важно понимать последнее что еще добавлю метафизика немножко получается в автоматизации практически не использую вот может быть очень зря Ну вот как-то там контрактов я там сильных не задаю между классами последняя вещь которую хотел вспомнить от нескольких интерфейсов можно написать имплемент первый интерфейс запятая 2 3 5
00:18:57 - 00:20:16
10 класса можно только от одного Вот и снова шарписты могут меня за плевать скажут что там множество исследования Так что все зависит так Ну смотри про оп не буду я его скипанул у нас ссылочка появится нас отдельный ролик Ладно хочешь ответить Я этот сам на собесах на самом деле сейчас задаю иногда ребята но я его задаю никакие принципы есть А сколько там у нас сейчас принципов есть потому что по классике 4 Но если на какой-то пятой уже по классике вот их всю жизнь Я жил было три Ну да А где-то в
00:19:35 - 00:20:53
девятнадцатом то ли что уже всё разрешили говорят Ладно абстракция четвёртый Вот ты не знаешь как сделать абстракцию Да она просто как бы существует вот такой метафизический тоже принцип немножко ну вот наверное четыре Но если скажешь три обоснуешь что не согласен четвёртым Это тоже нормально Мне кажется будет опасно для джунного честно Ну да лучше сказать больше чем ты понимаешь что такое это будет холевар потом закопают это точно а в чём разница между перегрузкой и переопределением метода Давай по-умному
00:20:16 - 00:21:23
перегруженные методы это методы которые имеют одинаковую сигнатуру но разные количество входных параметров очень красиво для разных параметров сигнатура вообще огонь Теперь по-простому у тебя есть метод Public воет сам да то есть суммирование какой-нибудь оно может принимать у тебя допустим входной параметр не знаю int а int B два параметра потом ты подумала такой блин там же еще есть не целочисленное значение флот а флот B и ты пишешь Еще один метод Да паблик воет сам сигнатур та же осталась и пишешь флот А запятая
00:20:49 - 00:22:04
флот B и там уже суммируешь вот такие вот нецелочительные значения Это перегрузка да то есть разные типы может быть разное количество этих параметров переопределение все классический пример котики собачки там зверушки вот это вот всё да то есть у нас есть класс верхний в котором есть метод в котором Ну что-то происходит не знаю допустим код абстрактный какой-то код делает мяу потом ты наследуешься и метод будет тоже в принципе также называться Ну ты пишешь сверху уже вроде выбирать можно не писать Вот и в теле этого метода уже
00:21:26 - 00:22:43
пишешь не мяу А как моего кричащего кота там он такой Очень гадкий какой-то то есть метод который делает другое чем дело в классе родители Какие паттерны программирования слэш автоматизация Ты знаешь сразу коммент насчет этого вопроса Я тоже его чуть-чуть иначе сдаю но тоже задаю Назови все паттерны которые ты знаешь кроме вот я обычно так то есть причем Factory все знают они где-то там в пятом классе как будто проходятся среди автоматиза Следующий вопрос Он может называться синглтон его тоже все называют
00:22:05 - 00:23:21
тебя Зачем тебе какой-то принц сингл Томский вообще-то было что-то полезное на в индийское детство принцесса Нури Так что еще Factory естественно просто не Пейдж факторы а просто там абстракция либо Factory декораторы обертки Я думаю хватит жить Факторе что это Окей тут уже про конкретику Википедии вообще-то написано очень опасный источник каждый может его редактировать Википедии вообще написано что ну и в одной книжке которая называется дизайн патронс в ней написано что существует три типа паттернов точно есть поведенческие точно
00:22:53 - 00:24:20
есть структурные есть какие-то третьих не помню это нормально не существует Ну это называется ну короче что-то чертогах разума есть но такое Не факт что достану так вот пойдет Factory в общем-то структурная сами по себе что это значит Как структурно твои классы взаимодействуют друг с другом если честно идея И первого и второго очень простая У тебя есть веб-приложение какой-нибудь там работа Buy Да у тебя есть страничка поиска у тебя страничка там конкретный Джо б работы которая там есть Вот соответственно когда ты
00:23:40 - 00:24:48
приметишь Factory Ты должен создать класс для страницы поиска класс для страницы конкретной тесты будут как бы забирать отсюда методы Ну и взаимодействовать с этими страницами используя вот методы этих классов и там и там различия между вот этими двумя паттернами в реализации структурное они одинаковые а вот внутри Factory это то если вы видите собака findby это значит Factory то есть там на аннотациях работает немножко похитрее немножко поумнее но дисклеймер я его не очень люблю потому что плохо работает с
00:24:21 - 00:25:36
динамическими веб-страницами а там где что-то происходит в моменте вот это вот все на бейдж Факторе очень просто поймать так называемый Style Element reference acception вот поэтому чаще Я его не использую Что такое selenium selenium инструмент для взаимодействия с браузером подчеркну и все да такие смотри объясню селениум появился вообще как только расширение для браузера Да это прекрасный там селением рекорд или как он назывался или просто сиреневым он назывался А сейчас у нас вообще Эра сиреневым
00:24:58 - 00:26:15
2.03040 Вот это просто записывалка для браузера в которой ты мог записать и воспроизвести Все очень просто и лаконично да а потом что-то тестировщики автоматизаторы схватились за него такие тоже для тестирования а там блин ни одного ассерта даже нету чего-то он начал использоваться для того для чего планировали Если честно мне кажется так об этом Об этом иногда можно подумать как-то вот смотришь Вселенной нет ни одного асерта Все асерты вы берете естественно G там же Юнита другие библиотеки чтобы что-то проверить
00:25:36 - 00:26:40
селениума недостаточно сиреневым делает но не проверяет Ну сейчас сиреневым уже как бы естественно шире чем просто записывалка и воспроизводил к селению это еще селением веб-драйвер как библиотека для разных языков программирования это сиденье он говорит для раз параллеливания в разных браузерах Ох как удобно уже не красивая там уже поверх уже Селеной это иракуб там докер Вот это Все накрутили короче серьезно оленем селеноиды да да Главное начало вот одно и то же выбрать Ну и кстати записывал к стало тоже в разы
00:26:09 - 00:27:23
круче я последний раз там может пару месяцев назад открывал Такой типа ничего себе раньше было прям хуже То есть он прям Может генерить код плохой код с плохими локаторами Вот это записывал три любых Exception вселенем и почему они возникают на усача элементы эксепшен в переводе с английского элемент не найден нет такого элемента ну его либо нет либо ты не на той странице его ищешь второй допустим ты ожидаешь что элемент будет не знаю видимым или невидимым или кликабельным он не такой что не такое и появляется Exception То
00:26:48 - 00:27:57
есть я ждал 10 секунд пока элемент начнет быть вот таким он не такой Я Ну раз уже сказал про стел элемент референс Exception до этого это очень сложно попробую на пальцах объяснить сиреневым говори с браузером говорит Смотри я с помощью локатора еще элемент браузер говорит Вот тебе его ID ID это 1237 допустим какая-то цифра все время такой понял я его запомнил все с дальнейшие действия там клики прочее с помощью вот этого айтишника происходит в какой-то момент браузер такой хобана и перезагружается там с помощью
00:27:31 - 00:28:42
какого-нибудь там неважно какой-нибудь библиотеке которая перезагружает джеквери раньше был допустим вот селением такой случится дай-ка мне айтишником 1.33 У меня его нету уже этого айдишника Потому что после перезагрузки внутренние айдишники меняются а локаторы остаются в общем-то теми же то есть Казалось бы ничего не поменялось Ну стоял элементы дальнейшем то есть элемент имеет старое состояние с которым качать Что надо сделать просто перескать его еще один раз какие есть локаторы и Какие из них
00:28:06 - 00:29:07
хуже либо лучше других ID на эмоция СС X Pass Link текста Маршал Линк текст тег name один забыл один забыл какое-то но это не так важно самые используемые CSS expass и самый быстрый айдишник но в большинстве проектов на которых вы работаете как правило айтишников не будет как правило будут в лучшем случае какие-то атрибуты там да такие допустим атрибут который разработчики Либо вы сами автоматизатор добавляете Вот и соответственно используют тогда css-локаторы потому что через этот можно по любому атрибуту через найти экспанцы
00:28:37 - 00:30:13
у нас Аксис который оси топоры там как угодно их можно называть вот с автоматизаторы делятся примерно 50 на 50 они используют CSS а вторые используют экспасы Почему расскажу экспансы как-то проще выучить если честно хотя они на мой взгляд сложнее Я сейчас чаще CSS начал пользоваться но в экспасах есть две плюшки которых нет ни в одном из локаторов поиск по тексту потому что они подгружают собственно текст и значение и вторая Вещь это возможность ходить вверх-вниз по соседним элементам и так далее корзина
00:29:28 - 00:30:35
товаров у тебя 5 элементов такой говоришь А дай-ка мне третий Ну там третьего соседа от того который я нашел Вот иногда это очень удобно и поэтому часто автоматизаторы используют экспосы потому что безобразно единообразно я с помощью экспресса аксисов не аксисов могу найти все что угодно что такое Аксис Это вот те самые функции с помощью которых можно ходить вверх-вниз анцистердонт сиблинг parent Ну и так далее Да что такое апиум библиотека построена даже Ну скорее правильно сказать тоже инструмент построенный на базе селениям
00:30:02 - 00:31:09
с похожей архитектурой для автоматизации мобилок подходит не всегда Что такое тест NG и G Unit То есть он же Юнит две библиотеки из семейства X юнитовских так называемых которые позволяют управлять тестами Что значит управление тестами первое запуск второе группировка какая там допустим смог тест regression тест управление потоком выполнения тестов допустим запустить в параллели допустим сделать какое-то действие в случае падения либо в случае успеха допустим либо повторить если тест упал Что такое continue хорошо
00:30:35 - 00:31:48
что не спросил себя сейчас попёрло идея очень простая в том чтобы максимально часто кусочки кода вместе с собой интегрировать и тестировать Вася Петя написали два разных куска кода почему бы их прямо сейчас не протестировать вместо того Ну и не собрать водяную вместо того чтобы через неделю перед релизом когда у всех аврал Ну наверное будет посложнее вопрос как можно интегрировать автоматизацию тестирования в Sei вот я говорил слово тестовая стратегия в начале Вот на это зависит Моя идеальная такой
00:31:10 - 00:32:13
кубук да рецепт тестовой стратегии самый простой на любой чтобы это не значило мерж в деф да то есть конечно заканчивается Разработка какой-то фичи и программист создает пул request то есть запрос на я вот хочу чтобы мой кот попал куда-то лучше автоматически на вот этот процесс создания запускать смог тест автоматический То есть как внедрить Первое это на создании Пури Квеста автоматически запускать автотесты есть такая штука через выпуки делается довольно крутая второй момент достаточно простой такой
00:31:45 - 00:33:08
вся и для бедных Да запускать руками перед уходом домой Вот опять ты кого-то обижаешься нажимаешь кнопочку типа Билд тесты пошли ты пошел тусить на утро приходишь и разбираешь эти самые что там произошло Да что там произошло разбираешь это такой самый базовый вот идеальный вариант это реально на пол request запускать базы данных SQL Что такое Join Что такое Join вот физически очень простая вещь у вас есть две таблицы таблица допустим студенты ученики и табличка группы их названия и ты хочешь получить
00:32:27 - 00:33:48
информацию по студентам и по группам в которых они занимаются И вот для группировки этих данных существуют такой вот слово такой вот операторской или Join то есть а дай-ка мне инфу по студентам отсюда Join вот это вот что такое API и что такое Соуп В чем разница совсем чуть-чуть много плевался вот я не зашел Ну я обычно это как-то так позиционирую для себя что Saab на xml и сложный аресторе Sony и легкий но вообще и первое и второе у меня запомнилось из хабра по-моему архитектурный стиль То есть это какой-то
00:33:07 - 00:34:32
набор рекомендаций для программистов Как строить бэкент можно вот так взаимодействие через протокол набор рекомендаций следовать им или нет это уже решение самих программистов Поэтому иногда Вы можете получить там не знаю иногда можно и создавать через get-запросы и создавать через пост запросы вот такое видели тоже бывает Поэтому Что это такое Ну Давай такой архитектурный стиль взаимодействия бэкенда и фронтендо по htp протоколу Что необходимо проверить при тестировании описки какие инструменты можно использовать для этого
00:33:50 - 00:35:07
ну атеизии даже мануальщики автоматизаторы все принципе все способы нам работают первое что проверяем естественно статус код все должно быть хорошо второе что мы проверяем Я бы если честно проверил время ответа на всякий случай это не второе по приоритету но проверил бы потому что все хорошо но через два часа Это не очень хорошо если честно Вот лучше поймал какой-то сработал естественно тело ответа То есть если я просил погоду проверить что там погода И что она корректная в идеале еще как правило тело ответа она проверяется
00:34:29 - 00:35:41
такое по полям важным для вас да то есть там пасмурно там такая температура Да иногда можно упустить из-за этого что что-то удалилось либо что-то добавилось какое-то новое Поле поэтому проверяют еще схему Джейсон схему так называемую это без контента просто проверка что все поля на месте и что новых не добавилось бытовое применение автоматизации в твоей жизни где оно было Суши даже видосик есть на Ютюбе Конечно как же это два кейса один уже ну помер уже не интересно но тем не менее Инстаграм Вот был вот
00:35:05 - 00:36:20
который запускался накручивал считайте подписчиков это было интересно проект это вообще очень круто и второй тоже бытовое кстати еще живой это есть одна системка в которую какому-то человеку необходимо вносить какие-то данные Эта система такая довольно таки большая полей много а если честно там когнитивного такого труда прям немного да то есть данные довольно таки повторяющиеся поэтому простой Сиреневый скрипт который там по условной csv-шки с парой колонок проходится он работает да Вот такая вот бытовая автоматизация это
00:35:43 - 00:36:59
прикольно мы под проект Я рекомендую на самом деле студентам красавчик как всегда Что могу сказать ответы классные все было доступно даже я тут просветился без технического бэкграунда поэтому я очень надеюсь что ребята найдут тебе спасибо ребят Я надеюсь что сегодня Вы получили хорошие ответы на возможные вопросы которые встретится у вас на собеседовании ваши лайки и комментарии приветствуются ссылка на наш курс по автоматизации тестирования будет находиться в описании и помните всегда можно круто подготовиться к любым
00:36:21 - 00:37:21
собеседованием особенно посмотрев Наше видео и мы еще увидимся пока
00:36:55 - 00:37:04