Подготовка к собеседованию на 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 Kay Анастасия можешь немножко себе рассказать что хочешь например войти продажи уйти тоже очень интересная отрасль на самом деле нет меня именно тестирование действительно заинтересовало Это я сейчас не пошутила потому что были определенные предпосылки
00:00:00 - 00:01:34
мне на самом деле подсказал эту идею мой супруг потому что он заметил что у меня какой-то скрытый талант находить дефекты там где их вообще быть не должно просто у всех работает раз на мне зависла и выясняем Почему полезны полезные умение потому что очень часто бывает что когда ты попадаешь в проект который очень давно существует тебе берут как новичка значит там уже есть тестировщики они уже там Годами все проверяют и вдруг стажер или Junior который только что наняли находит огромное количество багов
00:01:26 - 00:02:37
потому что у него не замыленно глаз нету какой-то степени выгорания еще очень развита внимательность особенно на свежие глаза которые еще монитор не женщины сильно Вот и это прямо дает большой Профит компании все всегда удивляются Как же так начинающие тестировщик который там ну вроде как имеет маленькое количество практики и знаю только теорию В итоге эффективнее в тестировании чем тестировщики там с многими годами опыта которые еще к тому же и в конкретном проекте довольно давно сидят Так что это
00:02:04 - 00:03:15
отличное качество замечать ошибки поможет на старте Окей тогда мы значит симулируем собеседование на Junior начнем с каких-то общих вопросов которые как правило задаются и потом в частности перейдем Расскажи пожалуйста что такое тестирование для тебя [музыка] проверка соответствие это уже туда дальше идет где мы берем ожидаемое поведение Ну ожидаемое поведение либо это у нас идет документация как правило какая-то который мы опираемся либо если ну бывают какие-то проекты на которые мне допустим документации мы можем опираться на
00:02:40 - 00:04:12
лучший опыт так скажем То есть это либо опыт например конкурентов если мы создаем какое-то например это приложение которое достаточно типовое есть еще источники требований да то есть это можно провести мозговую сторону например в общем план какой-то опросы также проводятся различные Анкетирование Ну смотри опрос анкетирования мне Кстати часто рассказывают про про с Анкетирование Я не знаю откуда Все взяли просто проблема в том что кого опрашивать если еще нет продакшена нету приложения в релизе и
00:03:41 - 00:05:03
конечных юзеров у нее тоже нет а просто можно проводить но еще не время занимает Да проблем же часто в отсутствие документации только в том что там никто не может Выдумать эту документацию а просто нет времени ее собирать и в этом случае Да действительно помогает опыт пользования аналогичными системами там конкурентами не конкурентами неважно просто системный который примерно о том же построены примерно также А еще Откуда мы можем требования нет такой системы или не знаешь подобную систему это практически абсолютные вопросы не
00:04:32 - 00:05:49
так что знаешь какой-то там хитрой книжки написано каким-то хитрым там философом тестирования нет вот просто ты сидишь на проекте тебе говорят и дают ссылку или там возможность скачать версию продукта ты говоришь где документация тебе говорит нету а времени собирать документацию нету Вот ты начинаешь что-то делать Ну я так понимаю Просто по логике то здесь опять же возвращаясь к какому-то интернет-магазину то есть мы должны понимать что добавляем товар в корзину он должен там отображаться [музыка]
00:05:10 - 00:06:31
правильно то есть в англоязычной литературе так называется Common Sens здравый смысл то есть мы понимаем что например если Мы открываем нативное приложение на телефоне и оно там моргает и вылетает Да что что-то с ним не так это очевидно какой-то Баг и даже если документации не написано что приложение не должно вылетать и документация нас такой нет наш здравый смысл нам подсказывает что такого быть не должно и очевидно что это нарушение правил просто адекватной работы приложений какие-то другие вещи да Что
00:05:50 - 00:06:57
например мы знаем что большинстве интернет-магазинов корзина называется корзины она не называется не знаю дуплом вот и если в нашем магази корзина называется дупло то надо очень поспрашивать всех все ли нормально там может быть там кто-то Пошутил или еще что-то бывает допустим разработчики забывают так называемые плейсхолдеры То есть например у меня был опыт на проекте где разработчик в виде заглушки на карточку товара поставил свое лицо и это почти ушло в релиз то есть вместо какой-то заглушки было лицо одного из
00:06:24 - 00:07:40
разработчиков который еще растягивалась так смешно просто забыли Ну когда я посмотрел я понял что-то не так везде лицо разработчика это короче [музыка] цели тестирования какие-то знаешь вообще глобальная основа тестирование полной информации для заказчика также это улучшение в целом качество Ну окей окей ладно так какие-то виды тестирования знаешь такую классификация правильно есть виды тестирования они делятся под какие-то классификации некоторым проще прям сразу прям виды подробные огромный список кому-то Проще сказать что есть
00:07:02 - 00:08:26
такие классификации а внутри Есть конкретные виды вот как тебе удобнее расскажет наверное того что делится на автоматизированные то есть соответственно ручной это когда мы просто вручную проходим это когда либо разработчик либо более опытный пишет небольшую программу которая делает регрессивно можно на самом деле руками проводить и скорее всего ты будешь руками проводить а Юнит тестирование в принципе верно оно в принципе всегда автоматизировано его ручного не бывает вот надо аккуратно регрессивно можно за автоматизировать
00:08:16 - 00:09:29
можно не за автоматизировать это уже отдельный вопрос которые мы можем в принципе сейчас с тобой рассмотреть сразу тогда применимость автоматизации тестирования то есть в каких случаях мы решаем что мы должны применить Или можем применить автоматизацию В каких случаях Мы точно знаем что автоматизация совсем не подойдет или подойдет но в соответствии там с каким-то факторами определенным нужно очень большой автоматизировать если это какой-то небольшой допустим кусочек программы помимо количества тестов сценариев что
00:09:09 - 00:10:28
еще может являться критерием я Почему отсылку Сделала когрессивному тестированию потому что в принципе прогрессионном же у нас меньше вероятность найти дефект Правильно Потому что по сути Это проверка того что было уже проверено до этого когда она внедрялась мы к этому возвращаемся и нам не нужно настолько досконально То есть перепроверять это все и мы просто можем Хотя это звучит как будто я уменьшаю качество автоматизации тестирование абсолютно верная мысль регрессивное тестирование входит Спектр
00:10:03 - 00:11:15
видов тестирования которые можно автоматизировать а Можно не автоматизировать и мы можем проводить и руками и проводить автоматизацию просто существуют определенные проблемы автоматизации ее тяжело разогнать для нее нужно сначала написать свою фреймворк написать определенную структуру программ на основании Ну поверх которых уже будут писаться тесты и на это тратится большое количество времени потом тесты регрессивные автоматизированные которые запустится в первый раз Они тоже скорее всего упадут
00:10:59 - 00:12:05
и разработчику еще надо будет подумать они упали потому что он бак нашёл Или он сам как ну там ошибся в написании автотестов и автотест упал из-за того что сам автотест неправильно написан То есть у автотестирование как бы длинная дорога перед тем как оно какой-то пользы начнет приносить и поэтому действительно мы можем внедрить автотесты на регрессионное тестирование но если мы вот это учитываем что долго стартовать отлаживать эти тесты поначалу а потом в перспективе это приносит нам профиль но
00:11:32 - 00:12:42
есть виды тестирования например где мы в принципе не можем автоматизировать это Например тестирование Ну я тестирование мы еще можем как-то есть там и библиотеки где берется значит дизайн на него накладывается скриншот происходит по пиксельное сравнение А вот UX тестирование не можем потому что мы Тестируем удобство пользователя а компьютер не понимает что такое удобно Что такое понятно То есть например мы входим на сайт Там такие кислотные цвета что у человека эпилепсия начинается человеческим глазам плохо а
00:12:06 - 00:13:19
автоматизированному тесту поливать какие-то цвета он не учитывает Или понятность например мы что-то делаем и описание того что мы делаем на сайте какой-то странное и юзер теряется что же надо сделать какую кнопку нажать чтобы что-то получить автотесту ему все равно Ну он знает заранее какие кнопки За что отвечает у него нет человеческого понимания а есть виды тестирования которые без автотестирования не работают Юнит тесты назвала а есть допустим тестирование производительность сервера мы должны создать много виртуальных
00:12:44 - 00:13:58
пользователей которые должны что-то сделать там одновременно или в соответствии с какой-то логикой мы не наберем 1010 тысяч человек в одном помещении не с командованием сейчас заходим на сервер сейчас мы нажимаем кнопку а авто тестирование как раз к нам позволяет придумать эти виртуальных пользователей есть еще несколько видов может для себя отметить что применимость автотестирования надо посмотреть Да по видам тестирования Почему и так далее иногда на собеседование спрашивают А может быть по-другому спрашивают
00:13:23 - 00:14:24
спрашивают Например почему авто тестировщики до сих пор не заменили ручных тестировщиков почему людей не требуется авто тестировщики и желательно ответить что есть разные виды разные ситуации на проекте хорошо авто тестирование ручное разрулили Какие еще классификации Ты знаешь видов тестирования если самое такое базовую классификацию всеми любимую Это функциональная Не функциональное потому что быстрее проще рассказать собственно функциональное тестирование когда мы проверяем как в принципе программа работает выполняет свою
00:13:54 - 00:15:08
основную функцию тут загвоздка в том что я в разных источниках наталкивалась на разную информацию и на самом деле функциональному тестированию у меня вот есть вопрос есть можно ли к нему отнести так называемая тестирование графический юзер интерфейс То есть например когда наводим мышкой на кнопку То есть она меняет свой цвет то есть по сути функциона а проверка функциональности но нужно ли ее вот выделять из функционального тестирования отдельно или по сути это глагольствование действительно есть есть
00:14:31 - 00:15:52
просто понимание что такое функциональное тестирование это тестирование которое ставит свою целью если мы берем классификацию Да это виды тестирования которые завязаны непосредственно на выполнение программы своей основной функции Проблема в том что это очень растянутое определение и в интернете есть много классификации что считать функциональным тестированием что считать не функциональным например где-то тестирование производительность функциональная где-то нет где-то тестирование безопасности относится
00:15:12 - 00:16:04
функциональному где-то нет вот и в принципе на реальном собеседовании не обязательно эту тему прямо вот вверх поднимать сказать непонятно мне Я читала Понятно Ты лучше рассказывай как ты прочитала А если тот кто тебе собеседует он такой скажет А я вот не согласен что допустим UI тести Да через графический интерфейс Вот как ты говоришь оценка графического интерфейсе это там функционально или не функционально Вот пока тебе такого не сказали значит что ты говоришь правильно и ровно человек который тебя собеседует
00:15:37 - 00:16:45
он скорее всего сам толком не уверен и не помнят В какой вид Это отнесено в каком книжке В какой учебнике и ты проговоришь он скажет да да поехали дальше Вот так что вот как ты прочитала как как вот тебе кажется да более толковым так и рассказывай а по философствовать можно всегда потом тестирование ты отнесла допустим Какой еще там может быть ты имеешь ввиду вот функциональному то что вы например функциональным да вот ну я встречала еще такое мнение что можно к нему отнести тестирование безопасности Но если это конкретно
00:16:11 - 00:17:28
программа такая как антивирус это функциональность самой программы безопасности но опять же вообще логически Мне кажется не совсем корректно на самом деле это выделять потому что ну функциональности функционально Зачем обозначать это настолько подробно Если спросят наверное да в принципе отличный вопрос зачем вообще об этом говорить потому что например тестирование безопасности ручной тестировщики занимаются только если сильно захотят на каком-нибудь там пятом году опыта Вот но на собеседованиях
00:16:54 - 00:17:57
любят иногда типа узнать насколько ты знаешь понятия база вот очень много споров в интернете не только тестировщиков программистов тоже А надо ли знать то А надо ли знать это Особенно если это то что ты рассказываешь тебе в реальном жизни не понадобится даже в теории но мы не будем глубоко нырять достаточно вот перечислить виды и все и дай Бог чтобы на реальном собеседовании этого было достаточно тому кто тебя будет спрашивать эти вопросы так функциональная тестирование безопасностей uite тестирование это исполнила какие
00:17:25 - 00:18:49
еще виды более функциональному приятно локализации и иногда относятся тестирование как я понимаю что локализация например выпустили какое-то приложение условно говоря в 2010 году и тогда мы еще не знали о том что в 2020 мы захотим это приложение использовать еще в другой стране и соответственно мы должны локализовать это предложение к другой стороны то есть поменять возможно систему мир на какую-то возможно какие-то цвета из приложения убрать потому что некоторых странах определенные цвета запрещены
00:18:09 - 00:19:37
[смех] интернационализация Я понимаю что это выпуск приложения уже заранее настолько адаптированного все рынки максимально универсально то есть которые можно будет локализовать буквально чуть-чуть необходимости локализации Как таковой не будет прям жестко жестко Я кстати последние собеседование Мне тоже пытались рассказать про локализацию интернационализацию тоже очень сложными словами и тут еще добавился пример какого-то десятилетнего развития проекта смотри не знаю ничего про интернационализацию
00:19:13 - 00:20:32
не читал Я этих умных книжек но локализацию я сам тестировал стирная локализации не завязана на сроки развития продукта и так далее могут выпустить и допустим сайт или приложение изначально на весь мир в котором будет несколько так называемых локалей то есть в зависимости от страны от региона может переключаться специально опция Вот например ты можешь зайти на веб-сайт и если он рассчитан на несколько стран есть флажок обычно в правом верхнем углу флажок переключаешь страну и много чего меняется Вот ты должна сказать что же
00:20:02 - 00:21:08
происходит при тестирование локализации что ты будешь тестировать что конкретно меняется поподробнее ты немножко рассказал но там на самом деле много в первую очередь меняется язык обычно самое главное тестировщик ты не тестируешь правильность перевода как правило хотя на некоторых сервисов тебе как раз таки могут нанять как тестировщика который знает русский язык для проверки правильности пере вода на русский но это вот отдельная как бы исключение чаще всего ты проверяешь что в принципе переведены
00:20:35 - 00:21:40
все разделы сайта на какой-то язык при переключении локаль что нету пробелов что язык везде поменялся далее во многих странах существуют форматы разные да В первую очередь что мы смотрим Что как правило меняется формат даты времени например ты как интеллигенты человек который скорее всего знает английский и смотрел Какие фильмы английские американские Ты знаешь что там есть деление на до полудня после полудня и mpm вот а у нас 24 часовой формат формат поменялся времени дальше месяц день меняются местами очень часто США месяц
00:21:07 - 00:22:39
день год А у нас в Европе день это очень часто бак который бывает что еще меняется метрическая система размерные сетки если это какой-то интернет-магазин все правильно длина единицы веса из единицы длины размерности вот и соответственно при переключении локали если это задумано при переключении страны там допустим или региона может быть не конкретно по странам например там азиатские регион регион Европы Европы такая тоже локально Может быть эти вещи какие-то сложные десятилетние циклы интернационализацию жестковато
00:21:52 - 00:23:24
я говорю вот по опыту что действительно тебе придется делать если тебе придется тестировать локализацию вот то что я сейчас сказал Вот это действительно относится к нашей работе так если дальше говорить функциональное тестирование то могу сказать про тестирование помехоустойчивости например простой пример такой что есть игра приложения мобильная какое-то мы играем поступают звонок на телефон приложение должно поставить на паузу и вернуться к тому же момент когда мы в него снова зайдем какую-то ошибку
00:22:44 - 00:23:59
так еще раз протестирование [музыка] производительности нагрузочная стрессовая и стабильность [музыка] Как ты говоришь нагрузочная стрессовая и нагрузочная стрессовая стабильности все хорошо окей по поводу тестирования на помехи ты сказала что может влиять звонок или какой-то вот входящее что еще может повлиять что еще мы там можем проверить интернет отдельно то есть Интернет может подключиться полностью может что плохое быть соединение скорость может иметься но недостаточно для работы программы
00:23:24 - 00:24:53
электричество разряд батареи может Что происходит если полностью разрядиться Что происходит если Просто многие устройства имеют режим Энергосбережения поэтому они в режиме энергосбережения могут отключать некоторые свои функции которые могут повлиять на вещи которые мы Тестируем так хорошо чего еще помнишь в целом про нефункциональное если тестирование Но кроме браузерное тестирование То есть это проверка работы нашего нашей программы продукта на разных браузерах конфигурационная то есть на разных
00:24:19 - 00:25:29
версиях разных браузеров инсталляционная очень важная считаю проверка того как В целом устанавливается обновляется удаляется приложение особенно обновляется особенно если например мы вдруг пользователь часто наверное встречаются я одна из таких пользователей кто может пропустить одну версию например со второй грубо говоря на 5 обновится программа Должна обновиться тестирование документации тоже относится документации статическая или динамическое тестирование отлично супер хорошо про цветные ящики
00:24:57 - 00:26:13
разноцветные Я бы сказала черно-белые сказала черные белые Да ящик черный ящик тестирование методом черного ящика это когда мы его Тестируем с точки зрения пользователя то есть без доступа к коду то есть покрываем бизнес требования покрывает наш код собственно Хорошо хорошо отлично супер так еще у нас есть характеры тестирование будет позитивные сценарий негативные о чем это в первую очередь [музыка] Почему ты говоришь что мы должны в первую очередь позитивные всегда писать но это более приоритетным потому что
00:25:46 - 00:27:22
наверное больше пользователей в принципе ну Никто особо здравом уметь старательно сломать нашу систему плачу бывает особенно если система намного миллионов человек сутки проходит там уже такие хакеры накидываются особенно если в системе есть какие-то деньги или еще что-то по соотношению разве можно сказать что невалидных данных или все-таки корректные Ну по-разному зависимости от системы Если система допустим для детей то там будет очень много невалидных данных они будут тыкать на все вещи и так далее А если система для
00:27:20 - 00:28:32
каких-нибудь там инженеров то Разумеется там будет по-другому почему же у нас все-таки позитивные тесты приоритете Как ты думаешь времени времени у нас мало обычно то есть чаще всего особенно если мы работаем в аутсорс отстав в компаниях не продуктовых Где короткие спринты и очень узкие сроки разработки Дай Бог чтобы тебя хватило времени и сил успеть покрыть те сценарии которые у нас указаны в требованиях то есть позитивные кейсы то есть мы должны проверить что хотя бы система работает как надо Когда
00:28:00 - 00:29:10
пользователь делает то что от него требуется Потому что если мы еще добавим предположительные сценарий когда пользователь ведется не так как надо мы можем вечно придумывать эти сценарии никогда мы не напишем все вообще сценарии Какие возможно и потратим кучу времени на написание документации а к самому тестированию так и неприступен обычно у нас при 2 недели у нас есть пару дней чтобы написать тестовый сценарий и мы как правило в первую очередь мы целимся за документацию если она у нас есть или здравый смысл то есть
00:28:43 - 00:29:46
самый базовые сцена нормального человеческого пользования системы мы описываем и можем можем указать негативный сценарии нот который мы сами можем себе представить чаще всего да вот то что привело пример Неправильно логин или неправильно пароль нужен мы сами очень часто ошибаемся в логин или в пароле Но дальше мы в негативные тесты как правило не идем потому что все пора тестировать некогда дальше расписывать Именно поэтому мы позитивные тесты на первое место ставим они хотя бы проверяют как система должна работать
00:29:14 - 00:30:20
как задумано и у них какой-то есть ограниченное количество а негативные там можно вечно придумывать хорошо уровне тестирования или еще бывают виды тестирования по степени залитонности компонентов такое название чаще называют уровнями Какие так надо которых мы уже говорили это юнитазская тестирование отдельно взятого модуля чаще разработчики этим занимаются далее У нас идет интеграционное тестирование То есть это взаимодействие этих модулей между собой системное тестирование То есть это в целом уже
00:29:47 - 00:31:05
полностью система и интеграции иногда еще выделят приемочная тестирование его часто проводит так не очень формально То есть у нас по учебнику написано что у нас есть специальный ацетам сплан да Или план приёмочных испытаний которые должны подписывать заказчика исполнитель и так далее Вот но чаще всего такого не происходит и в принципе подразумевается что если ты провела смог Цените регрессию стадии в спринте тогда значит возможно уже и показывать Кстати по поводу смог сэнти регрейшн что это за понятие о чем они
00:30:28 - 00:31:46
так Ну если мы говорим про смог тесты то смог теста у нас открывают критически важный функционал внедрили допустим какую-то функцию и пробежались по самым основным моментам опять возвращаемся к этому самому интернет-магазина мы должны допустим пройти путь покупателя он должен оплатить самое вот основа программы должна работать критически важный функционал быстро пробежались по нему и все есть это тестирование уже вглубь программы более глубоких уровнях регрессивная тестирование когда мы что-то новое внедрили проверяем не
00:31:15 - 00:32:46
сломалась старая можно так оно есть обычно с Анти тестирования тестирования функциональности не всегда но чаще всего то есть то что мы написали в нашем текущем спринте а регресс то что не задействовано Как ты думаешь можно отказаться триггрейшн тестирования теоретически Я думаю что да я так слышала что иногда так делают когда сроки опять же сжатые какие-то регрессивном тестировании то есть меньше всего вероятность найти дефект отлично хорошо Давай поговорим про технике тест дизайна какие-то знаешь
00:32:01 - 00:33:16
техники и зачем вообще нужны какие-то техники тестированию структурно системный подход такой должен быть мы должны провести меньшее количество тестов но выявить большее количество ошибок чтобы у нас качество не страдала максимально если уже говорить про разные самые любимые на собеседованиях которые проще всего объясняют [музыка] разбить на классы диапазон значений либо определенный интервал может быть из которого мы берем значение Например у нас диапазон числовой давай без интервала сейчас прям
00:32:49 - 00:34:06
вообще по модному будем делать Вот есть ковалентное разбиение есть анализ граничных значений часто часто он это две техники на самом деле их часто объединяет в одну и вот во многих параграф написано эквивалентно разбиение и анализ граничных значений и все привязывается к интервалу а мы с тобой прям еще проще сделаем на самом деле Вот мы возьмем отдельный эквивалент на разбиение без интервалов есть у нас какие-то классы которые мы подаем на вход при тестировании классы эквивалентности какие-то может привести классы
00:33:54 - 00:35:14
эквивалентности если мы говорим не об интервалах Ну например можем возить с клавиатуры например мы можем вводить буквы можем вводить какие-то спецсимволы то есть по идее спец символ это один класс буквы это уже другой класс мы не должны допустим проверять все 30 Буквы там российского допустим русского алфавита можем проверить одну и предполагаем что остальные А кроме букв и спец символов Какие еще могут быть Классно Давай посмотрим [музыка] [музыка] а если мы абстрагируемся от клавиатуры Вот например у нас есть требования в
00:34:37 - 00:35:58
системе что мы должны иметь возможность загружать какие-то файлы а файлы бывают разных типов соответственно мы можем быть мы можем допустить что загрузив файл одного типа что все файлы такого типа будут загружаться нам не надо будет миллион файлов одного типа загружать вот у нас отдельные классы эквивалентности есть и Ну это то что действительно тебе понадобится потому что тестировать любые поля ввода в реальной жизни ты будешь думать хороший пример потому что на самом деле обычно да все приводят примеры цифрами
00:35:36 - 00:36:49
диапазонами там сам не знаешь по-любому пройти авторизации там 18 плюс или там на страховых примеру приводят разбиение по возрастам сложно Сложно дают очень часто Хотя в реальности это сложно просто это однообразно разнообразно получается про загрузку файлов это на самом деле на поверхности [музыка] хорошо И вот ограниченное значение Мы отдельно можем взять да что у нас есть любимый всеми числа интервал на самом деле мы еще можем применять не только числовой интервал но и алфавитный он работает для компьютеров абсолютно также
00:36:14 - 00:37:33
вот про него надо поговорим давай вот зачем нам нужно какой-то отдельную технику для проверки различных интервалов что это нам дает Как показывает практика чаще ошибки все-таки скрываются как раз таки на эти ограниченных значениях поэтому на них акцент в принципе и стали делать берем границы верхней и нижние Например у нас интервал 10 до 20 то будет значит границы такие 9 10 20 21 ну и иногда даже рекомендуется взять из этого интервала число тоже для проверки ошибка Если интервалы 10 до миллиона
00:36:56 - 00:38:23
значит 9 10 миллион миллион один столько же всегда правильно Да Давай поговорим про тестовую документацию Какие виды тестов документации Ты знаешь Ладно из чего в теории состоит тест-план в теория состоит из того вообще что нам нужно протестировать что мы будем тестировать где как мы это будем тестировать и критерии оценки приемки вот такое критерии начала и окончания тестирования Наверное тогда в других источниках мне чуть-чуть по-другому было написано хорошо тех источниках которые ты читала Какие
00:37:45 - 00:39:04
могут быть критерии приемки критерии окончания тестирования какой-нибудь посмотри и критерии начала тестирования тоже бывают это тоже кстати вопрос не просто из учебника Это тебе поможет на реальных проектах качать свои права как тестировщика допустим для того чтобы определить критерии начала тестирования должна понять какой тип проекта что у них есть чего у них нет иногда даже на собеседование Можно спрашивать например те приглашают в проект по тестированию нативных мобильных приложений и твой
00:38:53 - 00:39:58
первый вопрос как опытного тестировщика который знает чем собака зарыта у вас мобильные телефоны то есть на которых тестировать я обычно бывает он вы знаете Ну вот вот начинается потом выясняется что у них нет телефонов и телефон тебе надо будет искать самой и тут ты понимаешь что А у меня нет ничего у самого меня там один телефон свой и других нету но опять же тебе могут сказать в нашем проекте мы допускается тестировать на эмуляторах и симуляторах то есть на виртуальных телефонах которые можно раскрыть у себя
00:39:46 - 00:40:51
на компьютере а в других скажут нам нужны именно реальное устройство что вам сложно пойти купить за 15000 лишнее Android iOS и уже должна знать сложно тебе или нет Ну например или могут сказать Так мы Тестируем только на реальных устройствах и мы вам их пришлем вот от допустим живешь В стране где очень большие проблемы с пересылкой мобильных устройств потому что там они под каким пошлины подпадает еще что-то видишь это всего лишь один критерий начала тестирования который мы не только с план Можем написать в принципе для
00:40:19 - 00:41:25
себя понимать Да где мы находимся в то же время если ты устраиваешься на проект то ты понимаешь что наличие каких-то железок для тебя не проблема И это не критерии начала тестирования потому что тебе не нужны устройства в любом браузере работает неважно главное хотя бы какой-то был там компьютеры все и таких критериев может быть несколько они разные и для начала для окончания поэтому Повтори так в принципе ты сплан очень важным документ полезный в реальной жизни не только учебник чек-лист что это такое
00:40:52 - 00:42:12
по сути это просто список наших проверок очень краткий быстро пишущийся удобный но как бы тоже свои плюсы имеет свои минусы где-то он лучше подойдет допустим чем-то кейсы где-то хуже надо выбирать В зависимости от ситуации Так давай выберем какие у него в каких ситуациях Мы выбираем чек-листов каких это съесть каких-то коротких проектах где мы знаем что нам нужно Здесь и сейчас еще вчера нужно было сделать скорее всего нам больше подойдет Уже не актуально чаще всего просто спринт кончится то есть тот объем времени который мы
00:41:35 - 00:42:53
выделяем он уже как правило закончится заказчик может еще не разориться хорошо а кроме того что чек лист быстрее пишется и поэтому в сжатые сроки Нам его удобнее применять Какие еще могут критерии повлиять на выбор чек-листа такие критерии как размер вообще команда тестирования Если ты один человек будешь понимать то что ты сам написал прекрасно много людей скорее всего это будет не очень удобно в любом случае что к чек-листу что особенно когда кейсом такие что они должны быть максимально понятные любому человеку по
00:42:24 - 00:43:43
идее из проекта Так ну смотрите то что сказала критерии к чик к листу такие же как ты с кейса чтобы они были максимально понятными Но именно ты говоришь что чек-лист как раз таки другие может быть тяжелее понять Не потому что он там неграмотно написано потому что именно в нем вся суть в том что он короткого и простого содержания не всегда Стараемся сделать его понятным но то есть это всегда будет более понятно это как раз таки разница Потому что есть более подробный Вот И помимо того что значит время важно
00:43:08 - 00:44:15
при выборе размер команды то есть следует ли кому-то понимать кроме тебя этот чек-лист что еще для чек-листа плюс или минус Ну к минусам я еще могу сразу отнести конечно вероятность разночтений чек-листа Ну в принципе это думаю и так входит в понятие правовую есть еще такое понятие как сложность бывают такие проекты где очень сложные проверки допустим банковские проекты где взаимодействие нескольких серверов несколько брендов это надо 20 шагов реально сделать чтобы проверить какую-то проверку и Ну чек-лист не поможет
00:43:46 - 00:44:55
никогда То есть он будет слишком общими словами написан и без эскизов таких проектах невозможно тестировать даже тебе самой Потому что ты сегодня помнишь как это проект провести завтра уже не вспомнишь и будешь писать эскиз даже для себя иначе забудется Окей Из чего состоит обычно Так ну Дарт на атрибуты это идет номер либо идентификатор еще называется заголовок который должен тоже соответствовать определенным правилам Может может соответствовать может мы бывают по-разному да то есть есть источники где там я допустим про них
00:44:22 - 00:45:45
часто Рассказываю что есть требования Что Где Когда Ну в оригинале она называется Что когда где в английском но нашему проще Что Где Когда запомнить Да что где и когда произошло в названии указывается потому что очень многие разработчики как бы мы ни старались писать и потом позже багрипорт они не углубляются или другие люди им желательно Вот как можно быстрее понять чем суть мы можем указать и в названии в названии багре порта мы можем это требование применять не обязательно и как бы это не критично А вот без чего вообще тяжело
00:45:07 - 00:46:27
без шагов без чего еще ожидаемый результат как правило на самом деле баг-репорт может жить без номера без какого-то это не так критично название Может быть у нее не очень прям грамотно подобрано но шаги и ожидаем результата это по сути самое важное что у нас должно быть чтобы мы могли суть проверки понять через чтение А так может быть еще другие полезности в некоторых системах можно выставить приоритет несерьезно приоритетов некоторых нельзя еще бывает пост условия которые опять же в сложных проектах роляют Когда нам надо
00:45:49 - 00:47:08
что-то такое сделать системы до того как мы начнем тестировать предусловие пост условия когда надо починить всю систему назад если при нашем тестировании мы ее всю там наизнанку Так теперь давай про баг-репорт что это такое сейчас стоит собственно это уже отчет о найденных дефектах тоже содержит также себе идентификатор заголовок priority ожидаемый результат практически уже название северите приорите шаги ожидаемые фактически результат что еще обычно [музыка] видео что еще как что еще указано забыла честно говоря немножко еще бывает
00:46:59 - 00:48:32
Ну как бывает всегда указан статус текущий задачи А еще автор еще автор И еще бывает на комзасанина в данный момент ты как правило автор как тестировщик А засан в данный момент может быть либо программист либо ты если ты уже на проверку фикса этот баг-репорт вернулся назад Вот собеседование очень опасно говорить слова которые ты назвала про обязательный необязательные поля Я рекомендую так для себя помнить лучше поля которые ты считаешь обязательным или нет чтобы просто их не забыть но реальный человек который может
00:48:32 - 00:49:57
не согласиться бы сказать да как же мы без там А тачментов без скриншотов можем испортить два репорта у нас проекте такое невозможно У нас это обязательное поле ты говоришь что не обязательно А ты как бы тебе на самом деле неважно Обязательно что нет просто мысли так свои структурировали поэтому про себя Ты можешь помнить что это главное не забыть шаги ожидаемым а там в бага-репорте вот это вот это вот это Но вслух лучше не говорить эти слова просто перечитаю что помнишь Ну забыла бывает да Ну тем не
00:49:14 - 00:50:21
менее потому что иначе будет философский спорт что считать обязательными обязательными на собесе так ручки влажные волнения еще и на философский споры тебе не хочется Окей давай поговорим про жизнь цикл баг-репорта Что происходит с баг-репортом после того как ты его завела представим себе начнем с самых простых ситуаций вот допустим когда все хорошо нет никаких споров Ничего ты завела баг репорт например [музыка] что дальше происходит он возвращается ко мне разработчик может показал что он пофиксил а ты перепроверяешь нет не
00:49:47 - 00:51:04
пофиксил значит что надо сделать если не пофиксил Ну если не пофиксил надо разобраться что к чему потому что может быть у него все работает прекрасно у меня не работает может быть мы на разных окружениях Может это плавающий бак Так мы получается приходим к тому что если вдруг это какой-то действительно бак разработчик считает что это не баг Я считаю эти допустим вот ты перечитала Что может пойти не так да ты сказала разное окружение Что ты имеешь ввиду под окружением в этом случае он воспроизводит
00:50:49 - 00:52:10
[музыка] хорошо разное окружение операционных систем второе что ты сказала из-за чего может быть там непонятка это что после разных окружений что еще может быть железок разных операционных [музыка] Мы же говорим о ситуации когда он признал починил он признал говорю Да есть бак Я починил проверяю ты перепроверяешь воспроизводится ты говоришь а не выгрузил у себя то есть он его до починил Но вот выгрузить вы тестируйте на разных версиях проекта вот так называется у вас разные версия кода разная версия продукта он
00:51:36 - 00:53:10
починил на какой версии А тебе версия причину не попала либо ты случайно себе сама не забрала либо ваша система автоматизирована континента грейшн не Сделала свое дело и надо подождать или вручную палочкой тыкнуть Вот либо программист ошибся и просто забыл ее в принципе залить вся система она не на его физическом компьютере осталось довольный такой бывает это частая история программист довольно благ пофиксил у неё работает он тебе быстрее тикет возвращать А сам забыл его просто эту версию отправить на общий сервер
00:52:40 - 00:53:47
чтобы все имели доступ ен на компьютере Все работает хорошо так Вот ты проверила это все версии кода у вас одинаковая на которой есть Бага система у вас Ну допустим редко не бывает идентично но максимально сложно не должно повлиять даже разработчик разные компьютеры а благ у тебя все равно воспроизводится Что ты делаешь так и он у меня все еще не закрыт правильно на тебя он такой говорит Я починил привозит к тебе он возвращается ты перепроверяешь исключила все косяки Какие могут быть он у тебя воспроизводится вроде как он не починил
00:53:14 - 00:54:43
ничего а он тебе отправил как будто починил Чего ты делаешь [музыка] еще раз ничего там страшного нет ты ему отписываешь я проверил Вот версию Вот мое окружение вот все бак воспроизводится очень часто такое Ну да правда я что-то поспешил он учинить его еще раз и отправить его тебе опять не перепроверку и так баг может ездить очень долго и это вообще не проблема Проблема Когда в какой-то момент он тебе пишет говорит Настя ты знаешь что я занятой программист топовый Сто лет опыта и я больше не буду это
00:54:04 - 00:55:22
ковырять Все у меня нету вообще никакого желания с ним заниматься у меня все нормально Возьмите свой бак делай с ним что хочешь вот тут вот туда ты уже понимаешь что движение больше нет все программист не хочет с ним работать и надо как-то его этот баг что-то с ним какое-то решение принимать и тут ты можешь сделать что как ты говоришь здесь уже Да чтобы конфликт этим я не ставлю конечно в любом случае два варианта либо скажет разработчику что все-таки ну как-то повлияет уже на него потому что я же не могу надавить на
00:54:51 - 00:56:11
разработчикам в горизонтальной плоскости находимся он не подчиненный возможно Да руководство решит Что лучше таким образом поступить вот что делать если нету тимлидат Если да вот у тебя очень большие шансы как у Junior попасть единственное тестировщиком в проект если что Не будет никакого надсмотрена будут злые разработчики десятилетний опыт все-таки злые старые деды и ты будешь одна там И бах вот такая ситуация кому обращаться Ну не может быть такое супердемократичное государство где все друг другу коллеги но Нет старшего
00:55:52 - 00:57:07
позвоню может быть ты знаешь кто обычно старше самый старший менеджер может быть все правильно все правильно прожиг менеджер за ним все окончательное решение в проекте когда выбирается технологии допустим спор начинаются программисты друг с другом когда застревает вот такой баг где ты ну ты считаешь что он воспроизводится а программист по какой-то причине не хочет его чинить Да все в итоге обращение идет менеджер Project менеджер обычно старается держать руку на пульсе он для этого ежедневный созвоны проводят в которых он
00:56:37 - 00:57:48
обычно самый участвует тоже вот и до него доносится То есть тут главное что доносится не эмоции твои от конфронтации реальное положение вещей какую приоритет На что он может повлиять и так далее тут менеджер Может ли попросить разработчик все-таки постараться починить можете сказать закрой там его с каким-то статусом или отложив в быклок не то что его надо удалить а то что его можно отложить это очень важно что многие джуниоры просто удаляют типа его не было и все не понимают Просто не во время Ну всё окей а теперь
00:57:12 - 00:58:28
представим ситуацию когда ты завела бак разработчик даже не пытается его починить а говорить сразу как только выпадает Я не буду это делать вообще потому что это может быть несколько причин несколько статусов вот как в каких ситуациях ситуациях он может отказать сразу да то есть он даже не чеченеть не будет тебе возвращается баг Report не в статусе там фикс чтобы перепроверить в статусе вот в каком-то может быть мы что делаем вот пришел нам статую бакс остаться на дубликат наш Какие действия проверяем проверяем предыдущий то есть в
00:57:52 - 00:59:14
каком состоянии он находится Возможно мы его каким-то образом дополняем если у нас еще какая-то информация появилась по нему а бывает что ссылки на дубликаты нет и тогда мы говорим разработчику братан давай ты докажи что дубликат да Раз уж ты так уверен в моей практике такое было человек присылает статус дубликат Я говорю где дубликат он говорит я что-то поспешил от не дубликаты возвращает себе все просто вопрос решил за 10 секунд показалось он думал что я буду бегать искать из сотни багов конечно дублика Я
00:58:43 - 00:59:51
его попросил предоставить ситуацию и починил А если мы нашли дубликат туда мы проверяем что было с оригиналом если оригинал еще в работе то мы там свой можем закрыть просто линковать логическая связь в какой-нибудь Джи или еще где-то если же оригинал уже закрыт значит вновь возвратившийся и тут мы можем свой переоткрыть уже дублирует тот старый но работает над ним надо уже закрыт и очень часто во многих настройках проекта закрыты Они в принципе физически не переоткрываем иначе Project Manager у него система
00:59:17 - 01:00:37
отчетности Вот это всего она ломается поэтому хоть у нас дубликат тем не менее он переоткрывается и над ним нужно работать старый уже не откроется хорошо Какие еще бывают ситуации кроме дубликата так ситуации когда разработчик вернул наш баг Report без починки Ну опять же вернусь еще раз к тому Может ли это быть из-за того что например изменились какие-то требования была на митинге нет Это как-то оно само втихаря решилась не было официального митинга ничего и поменялись требования ты протестировал
00:59:57 - 01:01:18
по старым то есть кейсом чек-листам и тебе пишет статус ноты бак это не баг это вот соответствие мне сделал этом случае ты проверяешь Действительно ли так и меняешь свои требоваю тестовые документацию там чек-листы редактируешь действительно внимательно посмотреть правда ли это все бывает кроме дубликата и того что изменилось часть требований бывает он говорит бывает он говорит я не могу воспроизвести Canon 3 produce то есть зарегистрировала баг он перепроверяет перед тем как чинить а у него все работает Как он видит сразу
01:00:45 - 01:02:17
тепло мне нет такого Бога у меня как ожидаемое поведение работает и тут также проверяйте как мы обсуждали Да окружение кода еще что-то и так далее вот еще бывает бывает статус такой что типа вообще делать не буду Когда Когда например ты нашла баг-репорт в разделе системы который будет скоро удалена полностью ты допустим нашла на какой-то странице на веб-сайте те Говорят это страницу Мы через неделю выпилим полностью то есть нет смысла чинить Да бак есть нет никакого смысла чинить тут тоже особо не
01:01:42 - 01:02:58
спешишь ты спрашиваешь вы знающих людей Правда Мы это вот мы выпиливаем действительно тесно говоря Да действительно все вот Скоро кончится тогда действительно бак есть можно убрать потому что скоро не будет целого раздела в котором найден ситуации много вот и они все жизненные вот поэтому лучше для себя иметь четкое представление Что делать в любой из этих ситуаций чтобы там главное не торопиться Да ну и понимать Какие у тебя есть пути когда бак в каком-то статусе есть потому что бывает что разработчиками
01:02:24 - 01:03:39
просто лень заниматься они действительно придумывают отмазать это правда так бывает что у тебя косяк своей страны что там поспешила за репортить а благо допустим нет вот а бывает что-то третье произошло пока вот это все происходило Поэтому в этих случаях главное лишних движений не делать Внимательно читать комменты как можно больше информации предоставлять тебе разработчику от разработчиков получать эту информацию и тогда все будет нормально Вот и не спешит закрывать самое главное потому что очень любит на словах Да закрой
01:03:02 - 01:04:09
закрой закрой закрой закрой и даже может такое сказать никому не заверить не закрывать до последнего Окей окей так принципы работы разных видов приложений Давай обсудим какие ты можешь выделить прекрасная тема про нативные гибридные предложения Правильно Ну такая тема есть как я поняла эту тему нативные приложения это приложение написанное [музыка] специально под Android например либо подается под каждую операционную систему идут свои программы [музыка] объединяет и Android с приложения все нативные приложения что какой
01:03:35 - 01:05:12
принцип Какие вот особенности есть Да есть отдельно в основном они все-таки с интернетом работают большая часть функционала как правило там всякого много разрешение для обновления не спрашивают например нативные всегда без твоего разрешения как конечного пользователя не обновляются устанавливаются они как правило откуда и сторонних уже источников Play Market AppStore да хорошо Так от чего зависит их скорость работы наверное уже в первую очередь твоего устройства мощности железа конкретно устройство А
01:04:39 - 01:06:14
что еще важно на устройстве Чем может зависеть кроме мощности железа в целом твой интернет соединение с интернетом вообще беда это вообще неправильно это вот про интернет сейчас мы поговорим Кроме интернета и железо очень важна версия типа операционной системы Потому что есть определенные версии операционной системы которая позволяет что-то делать более старый допустим не позволяет железо может не меняется но при этом версия системы может сильно очень функционал вырезать или наоборот улучшать по поводу интернета в нативных
01:06:00 - 01:07:18
приложениях смотри на самом деле фишка именно нативных приложений в том что они могут работать без интернета им интернет для работы не нужен у них вся логика она устанавливается в память устройства это именно их особенности есть единственное для чего мы говорим нужен интернет нативных приложениях это не во всех только в тех которых требуется бизнес логика это подгружать какие-то данные которые может оперировать фотографии если это допустим какой-то почтовый фото какой-нибудь фото соцсеть Инстаграм допустим я кстати
01:06:44 - 01:08:02
сейчас даже не могу сказать точно нативность приложения или гибрид гибрид может по моему не можно войти в него отключить интернет и ты увидишь что если будет возможность переходить по инстаграму но не будут обновляться фотки это значит приложение нативное А если ты приложение заходишь включаешь интернет и пытаешься куда-то перейти И вообще никуда перейти не можешь найти пишите недоступны Значит на гибридный потому что гибридного приложения логика находится на веб сервере и без интернета гибридное вообще не работает нативная
01:07:23 - 01:08:31
работает А знаешь какие примеры нативных приложений которые не нужен совсем Ну например приложение [музыка] эти слова английский например словарь какой-то то есть там база то у него небольшая из этих слов Ты можешь загрузить эти слова новые себе добавить но и самого приложения этого базы есть еще проще фонарик ты нажимаешь на Фонарик Он тебе включается никакого интернета не нужно калькулятор калькулятор все математические все эти функции все устроены в ту систему калькулятор не нужен веб-сервис чтобы Значит на сервер
01:07:56 - 01:09:07
ходить спрашивать какой будет решение какого-либо примеры Допустим их много более сложные там всякие соцсети которые нативные допустим еще что-то они тоже могут работать без интернета просто там не будет свежих данных но приложение будет работать Вполне себе просто данные будут вот тогда когда они последний раз подгрузились Вот они примерно будут того срок и соответственно от этого на собеседовании мы можем говорить Какие же виды тестирования из того что мы только что перечислили может перечислить какие
01:08:33 - 01:09:51
в первую очередь [музыка] Ну вот ЮА ю X Как думаешь мне кажется имеет смысл Почему нет можно Он просто своеобразный потому что у этих приложений у них как правило есть гайдлайнс так называемые то есть дизайны установлены особенно Apple У них есть целая книжка Как сделать приложение чтобы мы его пропустили свой AppStore и там именно про то как оно внешне должно выглядеть вот конечно как правило активные Разработчики у которых они наизусть знают все эти гайд-лайны они обычно не ошибаются Ни в чем то есть
01:09:11 - 01:10:18
приложение не разворачивают это вот как пример Хорошо теперь поговорим давай про веб-приложение в чем у них фишка как они работают и как бы мы их тестировали [музыка] нет никакой разницы даже сайт это мы по-русски говорим сайт А в английском Блин ну прекрасно прекрасно нашла еще подтверждение того что это разные вещи но мы не будем уходить в сложную философию терминологии мы говорим применительно к тестированию для того чтобы нам ориентироваться лучше всего Вот в этих видах приложения Мы можем взять какие-то ключи до параметр
01:09:53 - 01:11:14
по которым мы можем друг от друга отличать Я даже многим рекомендую табличку себе нарисовать чтобы было проще запомнить Хотя это не сложно и по одним и тем же параметрам можно сравнивать приложения Вот мы только что поговорили про нативные Да сейчас мы говорим про Web пожалуйста Установка требуется Нет не требуется не требуется разрешение на обновление от юзера от конечного требуется значит опять же нам не подходит это От чего технически зависит взаимодействие с этим приложением от интернета значит еще
01:11:04 - 01:12:25
но технически если здесь тоже я думаю играет роль все-таки наш изначально устройство не особо браузер браузер играть значение то что браузер по-своему отрисовывают страницу кроссбраузерной подойдет Да вот как раз таки от мощности железа меньше всего зависит то как мы проверяем в приложении единственное Может быть там случае когда действительно зависит от системы если нам нужно проверить через браузер Сафари может браузер Сафари устанавливается только на macos взаимосвязь до операционной системы
01:11:50 - 01:12:58
тестировали это вот самый вот единственный крайний случай и все а так мощность не влияет в этом как бы силу так хорошо не подходит кроссбраузерная подходит тестирование функциональности подходит Да тестирование нужно или нет безусловно конечно безопасность Мне кажется тоже будет конечно конфигурационная принципе браузеров разные версии Конечно [музыка] все верно Вот надо сразу всё правильно назвала просто хорошо и есть у нас гибридный доход в чем там фишка так Ну как я это понимаю гибридные это
01:12:24 - 01:14:09
вообще больше про кроссплатформенность когда мы изначально разработчик пишет приложение которое будет подходить и под Android под разные операционные системы [музыка] веб-сайт сделали Он подходит под любой платформу браузер где Chrome откроется там работает чем вы приложение не гибридное так Окей Предлагаешь провести этот грань между веб и гибридным то есть Нужны у нас Аж три группы есть Да есть нативные гибридная и веб значит чем-то же гибрид на твой бы отличается Ну я так понимаю гибридные появились позже то
01:13:24 - 01:14:51
есть взяли лучший опыт из Веба и лучший опыт из нативных и объединили его в гибридных то есть гибридные насколько я понимаю например их проще дешевле если дешевле допустим в производстве потому что в принципе команда разработчиков будет меньше потому что не нужно столько много языков программирования будет каждый операционку нужно будет много языков программировании Мы же Соединяем и в и нативные представляешь нативную часть нативном языке написать веб часть на в к смотри во-первых собеседовании следует спрашивать обычно
01:14:10 - 01:15:34
что имеет в виду тот кто тебя спрашивает технологиями потому что по гибридными технологиями потому что нету общего понятия гибридности войти есть гибридное приложение как ты говоришь на стыке нативного и Веба это выбью applications так называемый есть гибридные фреймворки которые работают технически по-другому например есть гибридный фреймворк Самарин от Windows есть еще какая-нибудь обязательно гибридная технология и все они внутри они отличаются друг от друга по реализации но в реальной жизни сейчас
01:14:58 - 01:16:22
больше подавляющее большинство гибридных приложений это webview applications это то о чем мы говорим есть нативная часть есть они как-то соединяются теперь в чем отличие конкретно от гибридных от других видов приложений по работе У нас существует клиент виде нативного приложения если в приложение у нас клиент это тоже написано HTML и СССР в гибридном клиент написано качестве нативной части на нативном языке на Android на iOS Свифт или написан в стиле То есть это приложение это где-то сервер отдаленный куда из
01:15:41 - 01:17:23
нативной части Ходит постоянно запрос вот и это происходит посредством E5 так называемого общения прописывается протокол взаимодействия и из этого всего следует что у нас есть определенная особенности для тестирования гибридных приложений эти особенности они пересекаются как с в приложениями так и с нативными Вот как ты думаешь Какие из того что мы только что особенность тестирования гибридных приложений если мы знаем что клиент у нас нативная часть А как в приложении ты приходишь на собеседование тебе говорят у нас
01:16:36 - 01:18:04
гибридное приложение выбью модель Короче как ты бы тестировал какими-то тестирования В чем особенность установка требуется разрешение на обновление требуется нам в гибридном приложении Я думаю что да А вообще для меня сейчас это все звучит знаешь как будто гибридные требуют больше тестов но это как-то тоже опять не очень логично зачем зачем вот разрешение на обновление не требуется как правило потому что основная логика приложения как у Веба хранится на сервере то есть редко редко редко когда вот эту клиентную часть
01:17:30 - 01:18:52
нативную надо менять но ее специально обычно делают так чтобы не было буквально там минимум логики а вся логика хранилась на бэкенте это именно есть фишка Почему допустим вместо нативного будут выбирать гибридные В разработке Потому что им проще управлять его проще обновлять и проще на разных платформах реализовывать одну и ту же логику потому что вся логика хранится не на приложение не на устройстве А на сервере в котором ты в любой момент что ты можешь поменять подключение к интернету нужно нужно потому что вся логика находится на
01:18:24 - 01:19:31
севере хорошо ладно я понял окей Хорошо понял что нужно еще правильно все правильно сейчас последние пару вопросов итог подведем в принципе по абстрагироваться от разных типов от разных видов приложений если мы конкретно поговорим про интернет взаимодействие да про то что у нас есть там клиент сервер и так далее ты можешь сказать что такое допустим на веб сайте запрос Что такое ответ из чего они состоят знаешь самых наверное переваривание информации Я понимаю что мы создаем допустим запрос определенный
01:19:06 - 01:20:27
срок сервер берет Давай мы чуть это опустим ты прям круто взяла Смотри я тоже тут поясню Я думала рассказывай Я нет я не хочу знать ничего правый сайт вообще мне вообще не интересно я как человек который себе на проекты собеседует людей я точно знаю что и сайт никому нафиг не нужен на самом деле а нужно понимание других вещей смотри есть подход когда мы описываем с точки зрения поведения сетей этого исаи вот это вот все вот это вот это мы оставим сисадмином и это то что в англоязычной терминологии
01:20:11 - 01:21:34
называется словом интернет а есть в англоязычной терминологии другое понятие которое называется веб у нас в России Мы привыкли все называть словом интернет сети Интернет значит браузер интернет все Интернет мы выделимся стал понятие в за понятие вы отвечает протокол http и без относительно того Какие существуют транспортные протоколы передачи данных у нас есть протокол логических взаимодействия клиента и серверов в браузере и у нас там есть запрос есть ответ вот в рамках http в рамках протокола запрос
01:21:08 - 01:22:30
ответ что у нас запросе указывается И что в ответе приходит от сервера запрос любой наверное может быть ответ Ты имеешь ввиду сейчас стоит запрос Вот ты на браузере тыкаешь на ссылку какой-нибудь не обязательно ты прям руками просто по ссылке ты нашла что ты хочешь ты хочешь Перейти на страницу тебе поисковая система выдала список ответов ты такая вот вот этих котиков Я хочу посмотреть Нажимаешь кнопку в этот момент на бэкент там летит запрос он проходит через поисковые сервера Мы про это все не будем в итоге
01:21:50 - 01:23:02
вот из чего запрос наш будет состоять допустим на конкретный сайт не без поискового уровня Вот ты уже в интернет-магазине Ты уже в интернет-магазине ты хочешь посмотреть сапожки красивые все тут нет никакого поисковика ничего нет уже внутри определенного сайта ты хочешь по нему переходить более подробно раздел сапоги раздел красные сапоги Не важно у нас есть в запросе который мы отправляем на сервер магазина определенные вещи которым у него спрашиваем структура запрос есть определенные вещи которые нам обычно
01:22:27 - 01:23:36
отвечает например нет запроса слышал такой слышала Хорошо я понял всё ладно окей Все последний нащупал дно нормально все хорошо тогда последняя самая часть про методологии разработки что-нибудь тебе известно Да так если Мы возвращаемся к методологиям разработки я Наверное начну сначала не самых популярных потом перейдем наверное к самому всеми любимому до чтобы уже как все удобно много и применяются они в зависимости насколько она будет актуальна данном проекте [музыка] известных методологии Ну может быть не
01:23:02 - 01:24:44
самых популярных известных разработки эта модель предполагает Хорошо подходит например тем проектам заранее определенный бюджет и нужно по определенному сценарии действовать определенная последовательность и в этой модели мне предполагаются шаги назад четко структурированная но она соответственно подходит под какие-то проекты связанные Возможно с аэрокосмические какие-то медицина военные Почему Потому что там гораздо меньше цена ошибки выше на вероятность этой ошибки меньше из-за вот этого как раз
01:24:04 - 01:25:27
таки такого очень плотного подхода Но с другой стороны есть определенные минусы почему Например модель эти проекты допустим проходят другие подходят то что она более долго скажем так своей разработки Если я правильно понимаю то раньше например Windows разрабатывали как раз таки они сейчас говорят сейчас тоже если документацию Windows найти они говорят у нас waterfall и плевать шумы там каждые три недели а почему вот как ты думаешь Вот ты говоришь есть шаги Да определенная разработки на самом деле эти шаги есть
01:24:54 - 01:26:06
методологии они идут по определенному порядку на самом деле тоже шаги идут по определенному порядку а ты говоришь что это waterfall он лучше для систем где больше цена ошибки Почему то что мы снижаем вероятность появления этой ошибки Поэтому чем то что по порядку шаги они везде есть определенный порядок шагов но мы в принципе больше времени выделяем на каждый этап и соответственно нельзя конечно сказать что качество разрабатываемого продукта выше может быть то что более тщательно в принципе подход соответственно логично
01:25:36 - 01:27:04
на самом деле на самом деле бывает что ты попадаешь проект они говорят у нас тут значит динамичная разработка а там у них спринты не по две недели а по два месяца и вот пожалуйста времени вагон какой хочешь вид тестирование что хочешь делай вообще всем пофигу вот а где-то две недели спринты они эти другие называют себя джайлом с крамом при этом скорость совершенно разные суть waterfall of чем фишка Да Почему он подходит действительно у него скорость меньше Но скорость у него меньше разработки Не
01:26:26 - 01:27:37
потому что специально все на тормоза жмут замедляют потому что в ватерфоле ты сказала что шаги не могут идти в обратную сторону время нигде шаги нигде не идут в обратную сторону там нету обратной связи а это значит что ты например тестировщик сидишь тестируешь что-то и смотришь что требования написано вот конкретном части разрабатываем ужасно там куча противоречий куча бороды всякой разработчика уже пилит И ты ватерфоле поднимаешь вопрос говоришь Давайте изменим требования чтобы было нормально тебе ватерфоле говорят
01:27:03 - 01:28:28
Когда следующий что надо изменить Но мы ничего делать не будем ты сделала свою работу разработчики на перед этим ужасным и следующим потоке ватерфолом это поменяем следующем году а в аджайле там хоп хоп топ топ сегодня короче у нас планирование взяли задачи проходит неделя приходит заказчик говорит ребят все нахрен меняем это не подходит вот вам новый список задач менеджер с горящими булками бежит говорит Ребята давайте надо быстро быстро у него и вот в этом же конкретном спринте где что-то поменялось уже что-то
01:27:46 - 01:29:06
это должно как-то реализоваться ты если нашла какие-то проблемы в документации тут же поднимаешь вопрос и документация к текущему спринту переписывается прямо в спринте и разработчики Такие блин Мы только что писали по теме требованиям А теперь у нас новые они говорят Ну вот такая у нас динамичная разработка не переписывают вот в чем разница Именно поэтому в итоге в скраме целиком из-за того что можно в любой момент влезть в процесс разработки поменять требования поменять что-то еще что-то еще подкрутить
01:28:28 - 01:29:37
на выходе ты получишь искомый результат быстрее но качество этого результата она будет хуже скорее всего потому что ну когда ты разработчику лезешь и постоянно новые вводные мы пихаешь очевидно что ты его не схорошатывает он теряет хватку А вот чётенько изменения будут потом что-то еще потом из-за этого больше внимания уделяется текущей реализации И даже если на выходе что-то будет устаревшее неправильное потому что время и время прошло но оно будет лучше собрано оно может быть не совсем то в итоге
01:29:03 - 01:30:22
собрали что хотели но зато за то что собрали оно не ломается а вожа или собрали то что хотели тут подмазали тут пластилином тут подкрасили знаешь сам последний момент Вот это уже как бы отжал вот не знаю есть илон Маск у него есть компания Tesla Он часто любит показывать машину Вот его машины часто видно что собирают как раз таки поджарил очень быстро на руках вот из последнего шутера что было ему обещали что стекла будут выдерживать удар подшипника он машину вот этот кибертрак вывез взял железный подшипник
01:29:43 - 01:30:54
долбанул и разбил стекло Хотя он должен был показать что стекла Не пробиваемые потому что скорее всего что требования о том что стекла непробиваемые внесли в самую последнюю секунду и эти стекла их просто не успели нормально разработать Вот Но если бы он пилил это все по waterful скорее всего стекла действительно были бы не пробиваем но только бы эту машину показал не два года назад а может быть сегодня или через два года потом даже на ней вот особая разница Между этим всем Окей если мы говорим про
01:30:18 - 01:31:34
скрам про гибкую методологию разработки да про подход про набор принципов отжал вот в принципе можешь объяснить что такое аджайл что такое скрам что такое Канбан как они соотносятся включает в себя скрам и слово комбайн еще есть много это не только есть контролировать Весь процесс разработки на всех его этапах и внедрять какие-то новые функции по ходу действия где-то что-то изменять буквально особенность в том что проводится постоянно митинги собственно скрам так и называется проводится конкретно проскра методологию поговорим
01:30:57 - 01:32:33
Смотри Не совсем точно но ладно окей Не будем копать еще лет не будем скрывать эту тему молодые еще короче есть у нас скрам это же конкретный методологии в ней есть Вот конкретные штуки про которые ты начала говорить например есть ежедневные сходки как они называются дейлики еще иногда А что еще бывает кроме Что такое спринты [музыка] Так что происходит в начале каждого вот этого кусочка вначале планирование учитывается предыдущий опыт уговаривается что получилось что не получилось что собираются делать
01:32:09 - 01:33:41
обсуждение в целом идет набросок много всего собрала Давай еще раз что происходит Как называется сходка которая с которой начинается спринт который ежедневная доля есть каждый день а есть одна коронная сходка перед началом в первый день планирование называется и в итоге что в конце планирования вывод какой потрынделе что что до следующей встречи там выбирают задачи на спринт то есть берут из бэк Лога проекта и голосуют Зато Какие взять задачи всей команде там не факт что выбирают чтобы делать Каждый
01:33:16 - 01:34:41
конкретный человек там выбирать чтобы делать команду а еще помимо то что выбирать конкретные задачи их еще оценивают во времени сколько времени оно займет и это оценка приблизительная тоже уже потом в процессе спринта уже выбирается кто какую задачу будет решать но на планирование скраме там еще не решается обычно хорошо вот прошло планирование каждый день У нас дейлики разработчики разрабатывают на Тестируем что в конце происходит чтобы предыдущий опыт все правильно все правильно Да мы смотрим чтобы хорошо что плохо хвалимся
01:34:27 - 01:35:47
ругаемся делаем так что было хорошо осталось чтобы плохо починилось кроме ретроспективы что еще хорошо есть еще тема иногда где-то прям железно но бывает где-то не бывает демонстрация заказчику того что надоели и есть еще понятие релиз то есть непосредственно вот этот код который мы напилили его отправляют в продакшн для конечных пользователей и вот эти все понятия планирование дейлики демо релиз перспектива это это вот прям вот четко То что будет привести с тобой в реальном проекте по скраму когда ты устроишься на
01:35:23 - 01:36:36
работу то что будет окружать каждый спринт тебе надо или каждый день бывает Дели раз в несколько дней бывает несколько дней или в день если тебе не повезет ты будешь очень много слушать и говорить Каждый день вместо того чтобы тестировать но это уже частности тем не менее Вот эти все процессы скрам команде они всегда в той или иной мере присутствует Ладно хорошо Все вопросы кончились Давай тогда сделаем вывод чтобы тебе желательно подтянуть хорошо про виды тестирования Да когда говоришь ты можешь называть классификацией можешь
01:36:14 - 01:37:32
называть конкретные виды которые входят классификации на реальном собеседовании не Вноси сомнений в твой собственный ответ я за тебя скажут что Ну ты знаешь это вот не из этой классификации за это вот на самом деле функциональный функционально Ну да соглашаешься говоришь Окей вот типа ты читала по-другому но сама заранее Не сбивает с толку Не говори о вот тут мутно вот так протестировал локализации я тебе советую попроще ответ давать без там всяких интернационализации и так далее просто говоришь что переключается флажок
01:37:01 - 01:38:07
меняется язык форма дата времени размерность вот это все ближе к реальности про автоматизацию Да помним применимость автоматизации помимо того что проверяются виды тестирования где обычно много ты с кейсов которые много руками мы еще помним что есть разные виды тестирования которым в принципе автоматизация применяется или не применяется совсем И от этого у нас тоже идет выбор нужна нам автоматизация или нет так тут OK тут OK протез план примеры критериев начала и окончания тестирования Повтори содержимое тесте
01:37:33 - 01:38:58
можешь для себя запомнить Какие поля обязательные Какие типы не обязательный но слух это эти слова не говоришь просто Помнишь ты начинаешь рассказ шагов ожидаемого поведения может быть название А дальше уже там как вспомнишь желательно помнить эти пред пост условия комментарий много репорте тоже ты там половина назвала плане тоже Повтори помнишь автор если лицо на которое засанена приоритет может отдельно быть поля северите приорити может быть чаще просто поле приводите как допустим в программе
01:38:34 - 01:39:39
жиров которые 90 процентов людей работает там Сибири тени вот отдельно когда указывает priority все вместе в голове складывают жизнь на цикле баг-репорта базу вещи назвала Запомни до ситуации когда разработчик самого начала не хочет с тобой дружить не баг не могу воспроизвести дубликат что там еще у нас было вот эти ситуации да да так принципы работы приложений да для себя повторяем для веб-приложений Посмотри пожалуйста где-нибудь тоже почитай Из чего состоит запросы сейчас стоит ответ запрос это метод запроса
01:39:11 - 01:40:56
так называемый Point или путь запроса и могут быть тело запросы различных форматах и ответ от сервера это код ответа зависимости от того что там произошло может быть 200 300 400 500 И что там кроме коды есть наверное тоже какие-то хедеры и какое-то тело ответ может не быть в зависимости от года не сложно это все в протоколе http про гибриды тоже да вы бьем applications повторишь значит часть которая называется тонкий клиент Но это даже сами разработчики назвать часто тонкие клиенты можешь просто я сегодня смотрела
01:40:10 - 01:41:33
два часа назад я понимаю да да в чем польза Ну и может для себя сделать такую матрицу по которой ты поделишь все три вида приложений требуемость установки требуется разрешения обновление зависит от железа зависит от браузер зависит от интернета и вот эти три вида спокойно расписываются там оставишь плюсики минусики и потом для себя проще зафиксировать от этого уже проще назвать про тестирование которое более-менее применимы к разным видам это тебе очень сильно поможет на реальном собеседовании если тебе собеседующие скажут вот у нас
01:40:55 - 01:42:08
сайт скажи как его тестировать и тебе даже не надо знать подробности Что за Веб ты уже там что они делают у них интернет-магазин и так далее Ты уже на вот верхнем уровне Ты уже можешь им сказать что вот для всех допустим веб-сайтов подходит допустим вот такие-то виды тестирования вот или там для нативных приложений или для гибридных это тебе очень большой плюс будет Ну про методологии тоже Да помню есть waterfall Фишка в том что из-за того что затруднена или отсутствует обратная связь между этапами скорость разработки
01:41:34 - 01:42:55
замедляется но при этом качество разработки уменьшается принципе все конечно на реальном собеседении могут спросить что-нибудь еще по базам данным тоже опять же как правило спрашивают какие-то базовые вещи мы сейчас не будем обсуждать вот или еще какие-нибудь вещи но я уверен что вот если ты наш вопрос хорошо выучишь то даже если вдруг ты не ответишь некий дополнительный вопрос Это уже будет достаточно все равно для прохождения большинства это уже надо резюме хорошим написать это отдельная История это правда
01:42:16 - 01:43:25
Ну вообще У меня есть несколько вопросов Но если можно без записи уже конечно без проблем Ну тогда все запись прекращаем Удачи тебе на собесах и повторении пока Ну как он Собес мне кажется для самостоятельной подготовки неплохо Если вы хотите также прийти ко мне и пообщаться и стать героем YouTube ссылка на запись внизу в описании ролика Также вы можете прийти на приватный Собес ссылка также внизу Спасибо вам за внимание пока [музыка]
01:42:58 - 01:44:23