Николай Алименков - Паттерны проектирования в автоматизации тестирования

Поділитися
Вставка
  • Опубліковано 3 жов 2017
  • Ближайшая конференция - Heisenbug 2024 Autumn, 10 октября (Online), 17-18 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Tq0vcu
    - Ближайшая конференция: Heisenbug 2023 Autumn - 10-11 октября (online), 15-16 октября (offline)
    Подробности и билеты: bit.ly/3qd3swV
    - - -
    . . .Паттерны проектирования известны в разработке уже много лет. Одни разработчики любят их, другие считают бесполезными. Но у паттернов проектирования есть очень чёткие задачи: описания типичные решения для типичных проблем, создать общий язык для сообщества, улучшить понимание и переиспользование существующих подходов.
    У автоматизации тестирования есть свой собственный набор задач, так что существует и набор полезных паттернов проектирования для этой области. В докладе Николай пройдётся по всем известным паттернам и подробно опишет их с несколькими практическими примерами.

КОМЕНТАРІ • 31

  • @elvenpath7
    @elvenpath7 5 днів тому

    Спасибо. Как жаль что я не встретил этот доклад раньше.

  • @bobslave7063
    @bobslave7063 2 роки тому +1

    Спасибо, все супер!

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 4 роки тому +20

    8:30 #1 Page object
    @ слушать дальше

    • @MrIslamite
      @MrIslamite 3 роки тому

      В рай без очереди.

  • @user-ud8fu4bb9h
    @user-ud8fu4bb9h Рік тому +1

    Супер

  • @SB-pk2ss
    @SB-pk2ss 4 роки тому +4

    По паттерну стратегия чет не вьезжаю
    ua-cam.com/video/EnooA2kEhY0/v-deo.html
    В данном примере как вызывать нужную реализацию?
    вот допустим мне надо регистрировать пользователей с разными типами регистрации:
    -полная
    -быстрая
    -упрощенная
    я делаю интерфейс с методом register и 3 класса, по одному для каждого типа. И как потом их вызывать? Дайте пример

  • @onesmartguy2280
    @onesmartguy2280 3 роки тому

    суперполезный доклад классного разработчика !

  • @goodguy1108
    @goodguy1108 2 роки тому +3

    По делу с 3:40

  • @ProzorovTim
    @ProzorovTim 3 роки тому

    Est ktonibud kto uzhe mnogo let v Seleniume i mozet pomoch razobratsja s pravelnoi arhetekturoi? budu ochen blagodaren, i ewjo est gdenibud kod etoi prezintacii? mne interesno sto proishodit v abstraktnoi stranice

  • @user-uq9vl8oh8s
    @user-uq9vl8oh8s 2 роки тому

    Просмотрено

  • @romabulava899
    @romabulava899 Рік тому +3

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

    • @Vitsed
      @Vitsed Рік тому +1

      Потому что он сейчас внедряется ради внедрения, а не потому что реально нужен

    • @user-uu3us9ys4q
      @user-uu3us9ys4q 12 днів тому

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

    • @elvenpath7
      @elvenpath7 5 днів тому

      Cucumber ненавидят все автоматчики и никто в своем уме сам не будет юзать эту технологию. Огурец работает только если вся команда придерживается BDD подхода, и реально используют геркин тесты как живую документацию для всей команды. И даже в этом случае это жертва со стороны автоматизации, ради общего блага команды. И шаги в геркине должны быть прописаны в общем, без конкретных деталей. Бизнес логика без технических деталей. Когда же пишут геркин детально, да еще используют кукумбер только как тулу для автоматизации, то это убожество от которого надо убегать как можно быстрее, пока оно не похоронило тебя под собой.

  • @azerbouf
    @azerbouf 4 роки тому

    Интересны паттерны не только в Селениум но и в Cypress... Такие штуки в сайпресе не подходят, там другой подход

  • @tylerdurden8973
    @tylerdurden8973 5 років тому +1

    Хороший доклад, спасибо!

  • @Chackizo
    @Chackizo 7 років тому +15

    Интересный и очень полезный доклад, спасибо

  • @dzen1234
    @dzen1234 4 роки тому

    34:15 Насчет пула БД, у меня есть свой подход. Я делаю бинарные дампы (например, pg_basebackup для PostgreSQL), и когда надо с помощью rsync за 2 секунды накатываю нужный дамп на бд. Необходимость в пуле полностью отпадает.

  • @rv4726
    @rv4726 5 років тому +1

    Николай Алименков, а на слайде почему-то Михаил).
    Спасибо за доклад, вы один из спикеров, которых очень интересно слушать.

    • @georgeatester
      @georgeatester 5 років тому +5

      Видно Вы не из Беларуси. Там написано Mikalai, что переводится как Николай =)

    • @rv4726
      @rv4726 5 років тому

      @@georgeatester верно, спасибо, буду знать :)

  • @user-dr8dd1ny6p
    @user-dr8dd1ny6p 6 років тому +1

    На высоте, Круто, Спасибо.

  • @cosmicorange320
    @cosmicorange320 6 років тому +9

    Зачастую Бизнесс не хочет участвовать в процессе тестирования - он хочет большую красную кнопку, которая будет делать хорошо. Только делать, жать и отчитываться о результатах её нажатия будет Исполнитель. А Бизнесс может максимум создать эффект контроля глубокого присутствия в том или ином процессе - потому что (как им кажется) так кнопка появится быстрее и будет делать ровно то, что должна.
    Поэтому не усложняйте себе жизнь БДДшными подходами - они ни к чему.
    Вы только подумайте - будет ли менеджер тратить время на то, чтобы перелопатить базу из N сотен тыстов, чтобы выяснить есть ли там та пара тестов, которые он хочет добавить? Или он просто как на вентилятор накинет в репу эти пару тестов (а потом еще и еще пару таких же тестов), которые продублируют аналогичные существуюшие? И кто потом будет эти дубли вычищать?

    • @Moptohor
      @Moptohor 3 роки тому

      Полностью подтверждаю. На деле так обычно и получается, что в эту кучу bdd тестов не то, что менеджеры или бизнес, а даже ручные тестировщики с трудом залезают. Не говоря уже о том, чтобы их писать. А всё потому, что в реальных условиях это не будет выглядеть, как вписать 2, вписать 5, получить в сумме 7.

  • @dzen1234
    @dzen1234 6 років тому +13

    Начало 3:40 Много лишних слов. "Почему я это хочу делать, а хочу делать я это потому что" и приличная часть доклада из подобных слов, т.е. можно запросто сократить все слова раза в 2 - 3 без потери смысла. И будет больше уважения к времени слушателей.

  • @0day694
    @0day694 5 років тому

    Пионэр вожатый

  • @user-ox3hj9ft4d
    @user-ox3hj9ft4d 6 років тому +1

    сам все делаю с помощью паттерна steps и больше ничего не надо мусор. проф уровень у этого парня

    • @ildarvalitov2568
      @ildarvalitov2568 5 років тому +3

      Я бы предплоложил, что дело в проектах, с которыми ты имел дело работать, если простых захаркоженых шагов было всегда достаточно. Не более, не менее..

    • @Moptohor
      @Moptohor 3 роки тому +2

      @@ildarvalitov2568 Я бы предположил, что бывают у людей разные типы восприятия. Мы всегда опираемся, что, к примеру, лучше всё выписать в абстракции некие. Чтобы выглядело небольшим и красивым. Вот только почему-то в паттернах автотестов никто не опирается на то, что у людей бывает совершенно разный тип восприятия.
      Пример: человеку проще пройтись глазами по 100 тестовым классам. И найти нужный, и в нём что-то сделать. Чем смотреть, что нагенерила фабрика. Просто у него такой склад ума к примеру. Что он просто выглядящие, но огромные массивы данных обрабатывает куда быстрее.
      Так же и тут, предположу, что человеку нафиг не сдались те же пейж обжекты. Ему легче большой тест от начала до конца промотать глазами, и он так гораздо быстрее поймёт логику, нежели, если бы он заморачивался с описанием пейжей.
      В этих паттернах и принципах всё завязано на какой-то условный "более правильный подход". Но вот о психике и восприятии людей ни слова.
      Я также склоняюсь еще к тому, что мы все боимся на самом деле признать, что можно сделать всегда очень просто.
      Но в таком случае за что нам платят такое бабло. Примерно так.
      И да, я сейчас сказал то, что запрещено наверное говорить. Пойти устроить конференции и обесценить всех автотестеров))

    • @user-hr2dk6jy1k
      @user-hr2dk6jy1k 3 роки тому +3

      @100 100 позвольте с вами не согласиться в части "кому-то проще прочесть большой тест со всеми кишками от начала до конца".скорее всего если абстракции созданы хорошо, то под них не надо проваливаться чтобы понять их суть... Как пример - ведь врядли этот же человек каждый раз проваливается вглубь матчеров, чтобы понять суть проверки. Например тут:
      assertThat(newLinkedHashSet("Luke", "Yoda")).have(jediPower); assertThat(newLinkedHashSet("Leia", "Solo")).doNotHave(jediPower);
      Я понял что основная проблема что понятную абстракцию сформировать не всегда легко - в и этом все дело...
      Есть доклад создателя кложуры (даже есть с русскими субтитрами) Simple Made Easy... Там как раз про разницу легко и просто